FATファイルシステムがどのように機能するかを理解しようとしています。添付されているFAT16パーティションの最初のセクターから、私は理解できました。
- セクターあたりのバイト数=512。
- クラスターあたりのセクター=4。
- FAT16ファイルシステム。
- 予約セクター=4。
- FATテーブル数=2。
- ルートディレクトリのエントリ数=512。
- 総セクター=204800。
- ルートディレクトリセクター=32。
- FATテーブルのサイズ=200。
- 最初のデータセクター=436(4 + 2 * 200 + 32)。
- クラスター数=51091。
ルートディレクトリは404番目のセクター(0x32800番目のバイト)にあります
アドレス0x32800のルートディレクトリが接続されています。ルートディレクトリには、a、bという名前の2つのフォルダと、file.txtという名前の1つのファイルがあります。上記の画像では、ファイルとフォルダを区別する方法が示されています。
以下にリストされている疑問:1。フォルダエントリは0x2Eで始まる必要がありますが、そのような値はありません。では、特定のエントリがファイルなのかフォルダなのかを確認するにはどうすればよいでしょうか。2.ご覧のとおり、ルートディレクトリの各エントリは(32バイトではなく)64バイトを占めています。ファイルとフォルダごとに2つの32バイトエントリがあるようです。たとえば、フォルダ'a'には0x32800と0x32820(合計64バイト)のエントリがあります。3.このコンテキストで値0x41は何を意味しますか?値0x41は、0x32800、0x32820、0x32840、0x32880に表示されます。0x32860および0x328A0の値は、0x41とは異なります。4.アドレス0x32800(0x32800 + 0x1a = 0x3281a)からのオフセット0x1Aの値は0、アドレス0x32820(0x32820 + 0x1a = 0x3283a)からのオフセット0x1Aの値は3です。フォルダー'a'に対応する正しいクラスター番号はどれですか。