ファイルシステム 【file system】 FS
ファイルシステムとは、OSの機能の一つで、永続的にデータを保存できる記憶装置(ストレージ/外部記憶装置)内部の記録状態を管理・制御し、人間に分かりやすいファイル単位でデータの書き込みや読み出しができるようにするシステム。ストレージ以外のシステム上の資源もファイル単位で取り扱えるようにするものもある。
ファイルシステムはストレージ内に設けられた連続した領域(ディスクなどの記憶媒体そのものや、その内部を分割したパーティション、ボリュームなど)を等容量の微細な領域に区画分けし、そのどこに何が記録されているかを記録する管理領域を作成する。
データはファイル(file)と呼ばれる単位で管理され、任意の長さ(最大長に制限がある場合がある)のデータをストレージ上の空いている領域へ記録する。データは連続した領域に記録されるとは限らず、一つのファイルが複数の空き領域に分散して記録される場合もある。ファイルには任意のファイル名を付けることができ、作成日や最終更新日(タイムスタンプ)、ファイルシステム上での位置(どのディレクトリに含まれるか)などの情報が管理領域に記録される。
人間や実行中のプログラムがストレージを操作する際は、いきなり内部の特定の位置を読み書きするのではなく、ファイルシステムに対してファイル名やパス(path:ストレージ内の位置情報)などを指定してファイルの作成や書き込み、読み込み、上書き、削除などの操作を依頼する。ファイルシステムは管理領域を参照して既存のファイルの記録位置を割り出し、読み込みや書き込みを行なったり、新しいファイル用の領域を確保して管理領域に追加したり、削除されたファイルの領域を解放して管理領域から抹消したりといった操作を行う。
ファイルシステム上には複数のファイルを格納し、分類・整理することができるディレクトリ(directory)あるいはフォルダ(folder)と呼ばれる保管場所を任意に作成することができる。ディレクトリの中にはさらにディレクトリを作成することができ、ファイル群を階層型に分類して管理することができる。
ファイルシステム上の別のファイルへの参照を表すリンクと呼ばれる特殊なファイルを作成できる場合もある。このうち、ファイルの実体は一つで、ファイルシステム内の複数の箇所に実体を指し示すファイル名(パス)を置くことができる機能を「ハードリンク」、別のファイルへの参照を表す特殊なデータを記録したファイルを作成する機能を「ソフトリンク」という(システムによってショートカット、エイリアス、シンボリックリンクなどと呼ばれることもある)。
ファイルシステムにはファイルやディレクトリの作成や管理といった基本機能の他にも、暗号化や利用者ごとのアクセス権限の設定などのセキュリティ機能、ファイル単位やストレージ単位の透過的なデータ圧縮、チェックサムやスナップショット、ジャーナリングなどの信頼性向上機能といった付加機能を持つものもある。
多くのOSは標準で一つ以上のファイルシステムに対応し、追加的に複数のファイルシステムに対応している場合が多い。WindowsではFAT(FAT16/FAT32/exFAT)やNTFSが、macOS(Mac OS X)ではHFS+やAPFSが、Linuxではext3やext4が標準的に用いられている。光学ディスク(CD/DVD/Blu-ray Disc)では独自のファイルシステム仕様が規定されており、ISO 9660(CD)やUDF(DVD/BD)がよく用いられる。