DISK-BASICのファイルシステム)におけるディスク内のファイルの位置情報などを記録するための領域である。これが転じて現在ではMS-DOSに採用されていたFATを用いるファイルシステムの名前としてFATファイルシステム、さらにそれを略してFATと呼ぶことも多い(なお後者でDISK-BASICのそれを指すことはまずない)。Tableは1977年に、ビル・ゲイツとマーク・マクドナルドによって開発され、DISK-BASICの中のファイル管理仕様として採用された。NTで新しいファイルシステムNTFSを普及させた後も、FATを採用したファイルシステムは使われ続けている。Meまでの一般家庭向けのOSの標準ファイルフォーマットとして使用されていた。NT系のOSでも使用可能であるが、他のWindowsからのアップグレードやリムーバブルメディアのために用意されているものであり、セキュリティなどの観点から必ずしも利用が推奨されておらず、FATを利用している状況下での動作制限も存在する。フロッピーディスクの時代の設計を元にしてあるため、ディスク総容量に対し管理領域が少なくて済む、高速にアクセスできるなどの利点があるが、その反面、堅牢でない、大容量ディスクでは非効率、拡張性に乏しい、ファイル名が8文字+拡張子3文字までしか扱えない(VFAT非対応の場合)、タイムスタンプがローカル時間なのでタイムゾーンをまたいで使ったり夏時間・冬時間が違ったりすると正しく(意図した)ファイル変更時刻が表示できないことがあるなど様々な欠点がある。それでも、その特徴と実装の容易さ、読み書きできるオペレーティングシステムが多いことから、フロッピーディスクや小容量メモリーカード用のファイルシステムとして依然使われ続けている。現在はデジタルカメラやビデオゲーム機などでも広く使われている。FATは、クラスタ番号の管理ビット数によって「FAT12」、「FAT16」、「FAT32」の3種類がある(なお、DISK-BASICでは8ビットであった)。Windowsでは、FAT32を除いてFATと表示している。NT系で使用可能なクラスタサイズが64キロバイトのFAT16」[2]または「exFAT」[3]を示し、クラスタ番号のビット数を示すものでは無い。上記のようにリムーバブルメディアのファイルフォーマットとしてはFAT16またはFAT32が多く使用されているが、ボリュームとファイルのサイズ制限が問題になっている。このほか種々の問題を解決するため、exFATが開発された。9293として標準化されている。0605規格として登録されている。この節の加筆が望まれています。仕様[編集]フロッピーディスク(後にハードディスクも)の記録単位としてセクタがあり、1以上のセクタをまとめてクラスタとして管理する。FATは言わばクラスタ番号による巨大な一次元配列であり、ディスクの最初から最終までのクラスタ番号ごとに、そのクラスタが使用中なのか、空き領域なのか(または、システム予約領域、バッドクラスタ:エラー)などの状態を保持する。ディスク上の1つのファイルは、1つ以上のクラスタの連鎖として管理される。あるファイルの最初のクラスタ番号がディレクトリ・エントリに格納されており、ファイルの最初のデータはそのクラスタ番号の領域に格納されている。最初のクラスタ番号に対応するFAT上のエントリは、その次に繋がるクラスタ番号を保持するか、またはそこが最終クラスタであるマークを保持している。このように、FATはディスクの管理上、最重要なデータテーブルであり、もしこの情報が損なわれると、ディスク上のファイル等が正常に読み出せなくなってしまう。そのため、FATを実現しているファイルシステムでは、FATのテーブルの複数のコピーを保持するのが一般的である。DISK-BASICの時代等は、FATはマウント命令によって主記憶に読み込まれて、ファイルの更新とともに主記憶上でだけ更新され、アンマウント命令によって初めてディスクへ書き戻されるのが一般的であった。これは、ファイルを更新するたびにFATに書き戻すことが無いよう、高速化を図った仕様ではあるが、他方、ユーザーのアンマウント命令の実行忘れにより、FATだけが古い状態のままになり、ファイルの不整合が生じてデータを損なう事故が多発した。MS-DOS以降では、バッファリング・遅延書き込みにより、ディスクの最終書き込みまでにはFATを必ず自動的に書き戻す仕様になっているため、アクセスの途中にディスクを抜かない限りは、データ不整合が発生するおそれは殆どなくなり、マウント・アンマウントをユーザが意識することはなくなった(ただし、USB接続の大容量リムーバブルメディアの普及により、遅延書き込みのフラッシュの保証のために、「ハードウェアの安全な取り外し」として再認識されるに至っている)。この節の加筆が望まれています。無しMS-DOS起源のFATファイルシステムの実装でも同様に、記憶ディスク上のセクタはクラスタと呼ばれる単位にまとめられ、1クラスタ内のセクタはディスク上では物理的に連続している。FATはディスク上では最初の方に配置している(ブートローダ、システムイメージの次あたり)。FATとは別に、ルートディレクトリテーブルが存在する。これもFATの近傍に配置され、ルートディレクトリのディレクトリ・エントリを保持する。ディレクトリ・エントリは、ファイル名とファイルの属性、そのファイルを構成する最初のクラスタ番号を保持する。サブディレクトリ(サブフォルダ)は、ルートディレクトリ(およびサブディレクトリ)に存在する特殊なファイル・エントリとして実現される。ディレクトリーテーブルにsubdirのディレクトリ・エントリが存在し、かつ、そのエントリが表現するファイルそのものをディレクトリテーブルと見なして処理する。サブディレクトリのサブディレクトリ(例:\subdir\subdir)も同様である。ディレクトリ・エントリに記録された先頭クラスタ番号と、その番号が指し示すFAT上のエントリを組み合わせることにより、1つのファイルが複数のクラスタにまたがって存在する状況を記録している。FAT上のエントリには、続きのクラスタ番号の他に、一部予約番号も記録される。それは以下の通りである(以下の数値はFAT16の場合)。最後のクラスタであるなお、FATの多重化数は2である。通常は、多重化FAT間の不整合が、自動で検出されることはなく、手動で検査・修復プログラムを実行する必要がある。FAT12[編集]当初のFATファイルシステムは、現在はFAT12と呼ばれている。12ビットのクラスタ識別子を利用し、総クラスタ数は最大4084個である。クラスタサイズは512バイトから32KiBまで使用することが出来る。ボリュームの総セクタ数が16ビットで管理されているため、セクタサイズが512バイトの場合、ボリュームサイズは32MiBまでとなる。現在は主にフロッピーディスクのフォーマットとして残されている。FAT16[編集]FAT16は、16ビットのクラスタ識別子を利用したFATで、総クラスタ数は最大65,524個である。クラスタサイズは512バイトから32KiB(NT系では64KiB)まで使用できる[4]。ボリュームサイズは2GiB(NT系では4GiB)までとなる。3.31で総セクタ数を32ビットで管理するように拡張され、この制限は取り払われた[5]。5.0まで待たされることとなった。3.3では、512バイトの物理セクタを4個まとめて2KiBの論理セクタとして扱うことで、128MiBまでのボリュームサイズに対応していた。セイコーエプソンがPC-286シリーズ用のMS-DOS4.01を発売しており、これをPC-9800シリーズで使うこともできた。(12/16/32)で扱えるようにする拡張である。9x系では実装上255バイトまでしか扱えない)。ファイルシステム上はディレクトリエントリの扱いが若干異なる程度で、下位互換性も不十分ながら保たれている。VFATはFAT互換の8.3形式の短いファイル名の直前のディレクトリエントリにボリュームラベルビットの立ったエントリが存在した場合、それがこのファイルの長いファイル名であると解釈する。そのため、従来のFATしかサポートしないOSからVFATを参照した場合には、短いファイル名のみが見えることとなり、一応のアクセスは可能となる。ファイルの書き込みを行ったり、MS-DOS時代のディレクトリエントリを最適化するプログラムやツールを使用した場合、長いファイル名が破壊されてしまうため、互換性が不十分であると言われている。これは、(プロテクトモードで動作する)Windowsアプリケーション上からMS-DOSファイルをアクセスする時に、(リアルモードで動作する)MS-DOSシステムを呼ばずに済むようにするためのものである。95よりも前)では、LFNをサポートしていない。OSR2で登場し、32ビット化されたFATである[8]。32ビットのクラスタ識別子を利用し管理するが、上位4ビット分は予約としており、28ビットでの管理となる。クラスタサイズは4KiBから32KiBまで使用できる。ボリュームサイズは理論上8TiBまでとなる[9]。ボリュームの総セクタ数を32ビットで管理(最大4,294,967,295)しているため、セクタサイズが512バイトの場合にボリュームサイズは2TiBに制限される。9x系上では事実上4,177,920個のクラスタしか利用できない(32KiBクラスタ時、およそ124.55GiB)。9x系に付属するパーティション作成ツールであるFDISKでは64GB以上のFAT32パーティションを作成できず、これに対応させる修正版が公開されている[10][9]。2000から利用可能となったが、新規のフォーマット作業では意図的に32GiBまでの制限を設けている[11]。そのため、32GiBを超えるサイズのボリュームを作成するには、サードパーティー製のフォーマットツールを利用する必要がある。6.0で導入されたフラッシュドライブ向けに最適化された新しい規格のFATである(従来のFATとの互換性はない)。NTFSの使用がオーバーヘッドから適切ではない用途に向け開発された。上でのみサポートされる[12]。XPとVistaでも、後に使用可能になった。1でexFAT対応が追加される[13][14]。4GiBまでであった1ファイルあたりのサイズ制限は撤廃され、16EiBまで利用可能となる。実装次第でNTFSの様なセキュリティACLやジャーナルを備えることも可能となっている。8.3形式のファイル名は削除された。2003年3月5日時点のオリジナルよりアーカイブ。2018年8月10日閲覧。2008年11月30日閲覧。2008年11月30日閲覧。2009年5月3日閲覧。2008年11月30日閲覧。2009年5月3日閲覧。2008年11月30日閲覧。2008年11月30日閲覧。2008年11月30日閲覧。2008年11月30日閲覧。2007年8月31日閲覧。2009年1月31日閲覧。(日時は個人設定で未設定ならばUTC)。表示-継承ライセンスの下で利用可能です。追加の条件が適用される場合があります。詳細は利用規約を参照してください。Cookieに関する声明モバイルビュ。