ファイルシステム
【英】file system
ファイルシステムとは、OSが提供するリソース管理機能の一つで、補助記憶装置に対する低レベルのアクセスをラップし、よりアプリケーションに近いアクセスインターフェースを提供する仕組みのことである。
ファイルシステムは、アプリケーションから見て、データをより容易に扱えるようなインターフェースを提供する。ファイルシステムを用いることによって、デバイスレベルでは1と0の並びでしかないデジタルデータの並びを、ファイルとディレクトリのような論理的な構造としてアプリケーション側に見せることができる。また、このような論理的な構造に対して、統一的なアクセス方法を提供する。例えば、階層的なディレクトリの中で、特定位置を示す方法、データをファイルという固まりとして扱う方法、ファイルをオープン(open)、リード(read)、ライト(write)、クローズ(close)といった標準的な手順で扱う方法を物理的な装置とは独立したレベルで提供するものである。
記憶装置は、それぞれ固有の仕組みを持ち、デバイスドライバのレベルでは、個々の装置固有の制御をしなければならない。一方、アプリケーションから見ると、それぞれの記憶装置がどんなものであるかを気にせずに、単に論理的なデータを透過的に保存したり、読み込んだりしたい。ここでファイルシステムを用いれば、どのような記憶装置に対しても、全く同じ作法でやり取りすることができるようになる。こういう意味で、ファイルシステムは、データの入出力手段を抽象化しているといえる。ファイルシステムが存在することで、アプリケーションの側は、個々の装置の物理的な特性を気にせずに、より汎用的な構造で、仕組みを実現することができるようになる。
Windows系OSでは、FAT、FAT32、NTFSといったファイルシステムが用いられてきた。Macintosh系OSでは、HFSが、Linux系OSでは、ext2、ext3などが用いられてきた。これらは、いずれも、記憶装置としては、磁気ディスク装置(HDD)を想定しており、セクタとよばれる物理レベルのデータの固まりを、如何に効率よく、かつ、使いやすくするかという工夫をしている。なお、CD-ROMやDVD-ROMなどの光ディスク系のメディアでは、ISO 9660などの規格で規定されたCD-ROMファイルシステムが利用されている。磁気ディスクが、書き込みが可能なメディアであるのに対して、光ディスクは、書き込みが不能で、読み出しのみができるため、ディレクトリ構造の表現は、書き換わることが無い前提で、高速に利用できる仕組みになっている。また、OS内のデータの基本単位をデータベースと考えるデータベースファイルシステムや、ネットワーク上でファイルの共有などができる分散ファイルシステムなどもある。
|