ファイルシステムという言葉は、耳にすることが余り無いと思います。 しかし、OS を構成する重要な機能の一つです。 ファイルシステムは、メディアがディスク形状の二次記憶装置の為にあります。 別の言い方をすると、ランダムアクセスすることが出来る二次記憶装置で、 そこに記録されるデータの管理を容易にするためにあります。
ファイルシステムにも様々な種類があります。 Microsoft Windows ファミリーに限定すると、 FAT16、 FAT32、 NTFS があります。 また、CD-ROM には、専用のファイルシステムがあります。
ここでは、それぞれのファイルシステムの違いに付いては触れません。 ファイルシステムという概念に付いて触れていきます。
HDD は、 データの記憶場所を示すのにセクター番号を使います。 一つのセクターの容量は、512bytes なので、 512bytes 以下の大きさデータならば、一つのセクターに記録できます。 512bytes より大きなサイズのデータはどうするのかというと、 必要に応じて、複数のセクターに記録されます。 複数のセクターに記録した場合、どのセクター番号にどのような順番で記録したかということが重要です。 記録したデータを読む時に、記録した順番通りにセクターを読まないと、 データがおかしくなってしまうからです。
もし、ファイルシステムが無かったら、どのセクターには、何のデータが記憶されているのか、 どういう順番で記録されているかということを利用者はメモをしておかないと、 記録したデータを読み込んで再利用することが出来ません。 不必要になったデータを削除する時も同じですね。 また、新たにデータを記録する場合は、何も記録されていないセクタ番号は、どれかということが分かっていないと、 せっかく記録したデータが、失われてしまうでしょう。
しかし、現実にはそんなことをしなくとも、 HDD にデータをファイルとして記録したり、 ファイルのデータの内容がすぐに分かるように、好きなファイル名を命名することが出来たり、 それを読み込んだり、削除したり、場合によってはフォルダー(ディレクトリ)を作成して、 関連のある複数のファイルをまとまった場所に保存しておくことも出来ます。
これらの機能を実現しているのがファイルシステムです。
話を出来るだけシンプルにするために、 HDD の場合に限定しましょう。 買ってきたばかりの状態では、 HDD には、ファイルシステムが構築されていません。 あくまでも、物理フォーマットされ、トラックとセクターの区分けが成されているだけの状態です。 この HDD を使えるようにするには、以下の手順を踏むはずです。
この作業の中で、フォーマットをする作業が、 HDD にファイルシステムを構築する作業です。 フォーマットすることにより、ファイルシステムが構築され、記録されるデータ管理の為の管理領域が作成され、 そこが空っぽの状態に初期化されるのです。管理領域は、先ほど書いた、 データがどのセクターを使ってどのように記録されているか等の情報が記録されます。
そして、ファイルシステムから見れば、フォルダー(ディレクトリ)は、 その他のデータファイルと同じ様に、ファイルの一種です。 ただし、特殊なファイルとして位置づけられているので、 普通のファイルと同じ様に取り扱うことは出来ません。
フォルダー(ディレクトリ)ファイルには、そのフォルダーに記録されているファイルのファイル名や、 ファイルの大きさ(サイズ)、作成された日付と時刻、更新された日付と時刻、最後にアクセスした日付と時刻、 通常のファイルなのか、ディレクトリファイルなのか、読込み専用なのか、システムファイルなのかといった、 ファイルの属性が、一覧となって記録されています。
ファイルシステムは、色々な種類があり、 OS が異なれば、ファイルシステムも違うことが大半です。 違う種類のファイルシステム同士は、お互いに互換性はありません。 ファイルシステムが違うというのは、記録されるデータの管理方法が全く違うということです。
OS によっては、複数のファイルシステムをサポートしているものもあります。 また、フリーソフトや、シェアウエアで、 本来 OS がサポートしていないファイルシステムが、 サポートされるように出来るものもあります。 複数の OS をインストールし、 データを共有出来るようにしたい場合は、 両方の OS が共にサポートしているファイルシステムを使うようにしないといけません。
例えば、Windows NT と、 Windows 98 の両方をインストールして、 両方を必要に応じて切り替えて使う場合は、 ファイルシステムは、FAT16 にしないといけません。
Microsoft Windows ファミリーで、 サポートされているファイルシステムの一覧表です。 ○は、そのファイルシステムをサポートしていること意味し、 ×は、そのファイルシステムをサポートしていないこと意味しています。
FAT16 |
FAT32 |
NTFS4.0 |
NTFS5.0 |
|||||
Windows 95 |
○ |
× |
× |
× |
||||
Windows 95 OSR2 |
○ |
○ |
× |
× |
||||
Windows 98 |
○ |
○ |
× |
× |
||||
Windows Me |
○ |
○ |
× |
× |
||||
Windows NT 4.0 |
○ |
× |
○ |
× |
||||
Windows NT 4.0 SP4 |
○ |
× |
○ |
○ |
||||
Windows 2000 |
○ |
○ |
× |
○ |
||||