問題タブ [fat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
filesystems - ファイル アロケーション テーブル (FAT) - ランダム アクセスはどのように許可されますか?
ここで、FAT を使用するファイル システムのランダム アクセスに関する率直な質問があります。
FAT について、さまざまな種類の写真やアニメーションでさまざまな説明を見てきました。ファイルを一度も調べずにランダム アクセスが可能であることがわかりません。特定のファイルに属するすべてのブロックをリストしたある種のテーブルを考えましたが、FAT は次のブロックにのみマッピングされているように見えます。つまり、End-Of-ファイルを作成し、これらのインデックスを配列に保存すると、ランダム アクセスを実行できるようになります。
私の質問は、私が上に書いたことが本当かどうかです。最初にテーブルを調べてすべてのブロックを見つけた後にのみ、全体のランダムアクセスが可能ですか?
java - AndroidでIOが遅い?
内部メモリと外部メモリの速度が表示されるはずですが、残念ながら 0.02 または 0.04 MB/s と表示されていますか? これは Android の非常に非効率なのか、それともコーディング エラーなのか?
android - fuse/fat ファイルシステムに対する実行権限
Android用のRubyのクロスコンパイルに成功し、エミュレーターですべてがうまくいきます。
しかし、デバイス ( Nexus4 ) でこれらの面白いことをテストしているときに、 /sdcard (または /storage/emulated/0 ) が実行権限のないヒューズ マウントであることに気付きました。
SDカードで何かを実行するにはどうすればよいですか?
Linux ではリンカーに引数として渡すことができますが、Android ではこれは機能しません。/system/bin/linker は特別な構造体へのポインターが必要です。その構造体を作成する小さな C プログラムを作成できると思います。リンカーを実行して、読み取り可能なプログラムを実行します。
しかし、共有ライブラリはどうですか? ruby は数十の共有ライブラリをロードします ( があるたびにrequire
)。共有ライブラリをロードするには実行権限が必要だと思います。
実行可能ファイルをまたは他の場所に移動すること/data/data/my.app.name/files/
は解決策ではありません。私のバイナリは非常に太い (静的にリンクされている) ため、ユーザーはそれらを保存する場所を自由に指定する必要があります。
助けてくれてありがとう。
operating-system - OS開発:FAT12書き込み機能の実装
だから私はOS開発の新人で、今FAT12ファイルシステムコードを書いています。FDC コードを使用してフロッピー ディスクにすべての書き込みを実行できましたが、ファイルをディスクに書き込むときにどのように処理すればよいかについて頭を悩ませているようです。
ルート ディレクトリの場所とそれに関連するすべての情報はわかっていますが、ファイルを書き込む正しいセクタを探すにはどうすればよいですか? その後、どのようにそのエントリを FAT に追加すればよいでしょうか?
これは、ルート ディレクトリを走査してファイルを見つけるために使用するコードです。
私は似たようなものを書いて、ルート ディレクトリを 1 エントリずつ、場所が見つかるまで見ていくつもりでした。FAT の追加/ウォークスルーに関しては、各エントリがクラスタ (エントリ 1 = クラスタ 1) を表すことがわかっています。しかし、ルート ディレクトリではなく FAT を調べるべきか、それとも両方を調べるべきかはわかりません。
私のコードのほとんどは、このチュートリアルに基づいています: http://www.brokenthorn.com/Resources/OSDev22.htmlしかし、彼はファイルの作成/書き込みビットを追加しなかったので、自分でやっています。
どんな助けでも大歓迎です。
raspberry-pi - SD カード書き込み制限 - データロギング
システム (Raspberry Pi) がシャットダウンされたときに、通常は突然の停電が原因で、追跡/登録したいと考えています。
10分ごとにSDカードにハートビートを記録してやりたいので、10分ごとにSDに行き、現在の時刻/日付をファイルに書き込みます。長期的にはSDにダメージを与えますか?
書き込みサイクルが 10 万回しかない場合、数年で不良ブロックになります。しかし、それを防ぐための回路があることを読みました-それは不良ブロックを防ぐでしょうか? ログを複数のブロックに分けて配布する方が安全でしょうか?
ありがとう
c - 大量の書き込みで SD カードを損傷しないようにするにはどうすればよいですか?
わかりました、最初に私の質問を明確にするのに役立つ少しの背景:
センサーから特定のデータを収集し、GSM モデムを使用してサーバーに送信するデバイスに取り組んでいます。GSM 接続は 100% 信頼できるわけではないため、未送信データを SD カードに書き込むロギング メカニズムが含まれます。
PC でログを読み取れるようにするため、ファイル システムを提供するためにChan の FatFsモジュールを使用しています。
今、私は FAT システムの境界条件をテストしています。つまり、カードを完全にいっぱいにしようとしています。
最初の実行では、ファイルを開き、ドライブがいっぱいになるまで文字列を書き続けるようにコードを設定しました。プログラムは書き込みのたびに同期します。
コードを一晩実行したままにしました。
翌日、SDカードを調べました。ファイルのサイズはわずか 150 MB であることがわかりました。約 120 万行が書き込まれました。カードから読み取ることはできますが、書き込みやフォーマットはできません。
次回も同様のテストをしてみましたが、今回はf_lseek()
事前にファイルを1GBに割り当てる機能を使いました。次に、その制限に達するまでそのファイルに書き込みます。今回は、50 回の書き込み後にデータが同期されます。次に、そのファイルを閉じて、別のファイルを開いて同じことを行います。
ご想像のとおり、その日、別の勇敢な小さなカードが心を失いました。
だから、これらは私が助けて欲しいものです:
- 大量のデータを書き込む際にカードの損傷を防ぐ方法は?
- ファイルを長時間開いたままにしておくと、悪影響はありますか?
完全なコードは長すぎる可能性があるため、書き込みが行われる主要部分を次に示します。
ノート :
- ax_log_msg() は、コンソールに出力するデバイス ファームウェアの一部です。
- FRESULT_S[result] は、列挙結果コードを文字列に変換するために使用されます。
不足しているデータがある場合は、それを記載してください。
ありがとうございました
c - fatfs: f_stat の後、ディレクトリが作成されます
Fatfsは R0.08b です。私がしているのは、ディレクトリが存在するかどうかを検出することです。状態確認に使っf_stat
ています。
問題は、ディレクトリをクリアして/root
から呼び出す場合:
がfrs
返されFR_OK
ます。そして、/testdir
作成されたものがあることがわかります。ただし、/testdir
SDカードを再マウントするまで開くことはできません。
何か案が?
file - FAT32 の一意のファイル ID
開発環境: Android のモバイル アプリ
FAT32/VFAT ファイル システム (inode を持たない) 内のファイルを一意に識別する方法を探しています。フルパスをハッシュ化(SHA1?)することを考えました。このソリューションの問題は、移動/名前変更をサポートしていないことです。
ファイルを移動/名前変更しても保持される、より良いものはありますか?
ありがとう
linux - chown コマンドの戻り操作は許可されていません
私はラズベリーパイに取り組んでおり、次のチュートリアルを使用してマウントした外付けハードドライブにアクセス許可を与えるのに苦労しています:
http://www.howtogeek.com/139433/how-to-turn-a-raspberry-pi-into-a-low-power-network-storage-device/
その外付けハードドライブにフォルダーを作成しました。ls -l
コマンドを実行すると、次のものが返されます。
次の場所にあります。/media/USBHDD1/shares
今、私はそれにすべての書き込み、読み取り、実行権限を与えるか、所有者とグループを pi:pi に変更しようとしています
ただし、chmod 777
機能していません。エラーは返されず、効果がないようです
そして、私が使用するとき
エラーが発生します
これは Linux に関する質問ですが、ラズベリー pi の使用に関するバックグラウンドと知識を持っている人が助けてくれると思います。
リクエストに応じた追加情報:
実行すると、次のようpi@raspberrypi /media $ grep USBHDD1 /etc/mtab
に返されます。
c - LinuxでCを使用してUSBデバイスからFATテーブルを取得する方法
C を使用して USB デバイスから FAT テーブルを取得する方法