web-dev-qa-db-ja.com

FAT(ファイルアロケーションテーブル)はどのように機能しますか?

PowerPointスライドから次のFATの説明を取得しました。

Partition boot record(1 sector)
-------------------------------
Main FAT (size is up to 2 clusters)
-------------------------------
Backup FAT (sam size as main FAT)
-------------------------------
Root directory
-------------------------------
Data area(size varies)

インターネットで検索することで、主にFAT機能の要点を知ることができます。しかし、上記のような詳細に入ると、私は示されているように各部分の機能を理解していません。

上記のFAT構造の各セクションの機能を誰かが説明できますか?

2
gonnabe

ウィキペディア 良い説明があります:

FATファイルシステムは、次の4つのセクションで構成されています。

冒頭にある予約済みセクター。最初の予約済みセクター(セクター0)は、ブートセクター(別名ボリュームブートレコード(VBR))です。これには、BIOSパラメータブロックと呼ばれる領域(いくつかの基本的なファイルシステム情報、特にそのタイプ、および他のセクションの場所へのポインタが含まれます)が含まれ、通常はオペレーティングシステムのブートローダーコードが含まれます。ブートセクタからの重要な情報は、DOSおよびOS/2のドライブパラメータブロック(DPB)と呼ばれるオペレーティングシステム構造を介してアクセスできます。予約済みセクターの総数は、ブートセクター内のフィールドで示されます。 FAT32ファイルシステムの場合、予約済みセクターには、セクター1のファイルシステム情報セクターとセクター6のバックアップブートセクターが含まれます。

FAT地域。

これには通常、冗長性チェックのためにファイルアロケーションテーブルの2つのコピー(異なる場合があります)が含まれますが、ディスク修復ユーティリティによっても使用されることはめったにありません。これらはデータ領域のマップであり、ファイルとディレクトリで使用されているクラスターを示しています。 FAT12およびFAT16では、予約済みセクターの直後に続きます。通常、追加のコピーは書き込み時に緊密に同期され、読み取り時に最初のFATでエラーが発生した場合にのみ使用されます。 FAT32では、デフォルトの動作から切り替えて、診断目的で使用できるFATから1つのFATを選択することができます。

ルートディレクトリ領域。

これは、ルートディレクトリにあるファイルとディレクトリに関する情報を格納するディレクトリテーブルです。これはFAT12およびFAT16でのみ使用され、このボリュームの作成時に事前に割り当てられた固定の最大サイズをルートディレクトリに課します。 FAT32は、ルートディレクトリをファイルやその他のディレクトリとともにデータ領域に格納するため、このような制約なしにルートディレクトリを拡張できます。したがって、FAT32の場合、データ領域はここから始まります。

データ領域。

これは、実際のファイルとディレクトリのデータが保存され、パーティションの大部分を占める場所です。従来、データ領域の未使用部分は、IBM互換機でのフォーマット中に0xF6のフィラー値で初期化されますが、Atariポートフォリオでも使用されます。 8インチCP/Mフロッピーは通常、0xE5の値で事前フォーマットされています。[9] Digital Researchにより、この値はAtariSTフォーマットのフロッピーでも使用されました。[nb3]一部の最新のフォーマッタはハードディスクを値でワイプします。摩耗を減らすためにフラッシュディスクでは0xFFの値が使用されます。後者の値は通常、ROMディスクでも使用されます。(一部の高度なフォーマットツールでは、フォーマットフィラーバイトを構成できます。[nb4])

FAT内のファイルのチェーンにリンクを追加するだけで、ファイルとサブディレクトリのサイズを任意に増やすことができます(空きクラスターがある限り)。ただし、ファイルはクラスター単位で割り当てられるため、1KBのファイルが32KBのクラスターに存在する場合、31KBが無駄になることに注意してください。

FAT32は通常、クラスター番号2でルートディレクトリテーブルを開始します。データ領域の最初のクラスターです。

0
MaQleod