ファイルシステムIで触れたように、 大量のファイルを扱うために、ディレクトリを作って整理することが コンピュータを使う上での基本である。 実は、この大量のファイルやディレクトリは、ファイルシステムと呼ばれる 仕組みで実現されている。
Windowsの場合は、1つのファイルシステムは1つのドライブに相当する。 つまり、通常フロッピーディスクであるa:ドライブは1つのファイルシステムであり、 1つめのHDD(ハードディスクドライブ)であるc:ドライブも1つのファイルシステムである。 他にCD-ROMやフラッシュメモリなどもファイルシステムとして取り扱われている。
ファイルシステムには、多くの種類があるが、ここではPCを使う上で現在主流のもののみ取り上げる。
ファイルシステムを使う多くのメディアでは、 1つのメディアに1つのファイルシステムが作られている。 例えば、1枚のCD-ROMは1つのファイルシステムを持つのが普通である。
しかし、HDD(ハードディスクドライブ)は、 1個のドライブにいくつものファイルシステムを持たせることができる。 HDDでは、パーティションという単位で、 HDD全体をいくつかに分割している。
このパーティションをうまく作ると、例えば1つのHDDに 複数のOSをインストールして使うことができる。例えば、先頭のパーティションに Windows、次のパーティションにLinuxをインストールする。 HDDの先頭には、MBR(Master Boot Record)という領域があり、 通常はそこにブートセレクタと呼ぶソフトウェアを入れておく。 ブートセレクタを入れておけば、PCの電源を入れた後に、起動するOSを 選択できるようになる。
他にパーティションを細かく分ける利点に、障害時の影響を少なくできることがある。 例えば、HDDに1つのパーティションだけ作成した場合には、 障害が起きてファイルシステムが破損すると、 ハードディスク全体のデータが利用不能になる。 しかし、いくつかに分割しておくと、ファイルシステムの1つが破損しても、 他のパーティションに作ったファイルシステムの内容は無傷である。
Windowsの場合は、HDD上にFAT32,NTFSなどでファイルシステムを作成していれば、 例えば c: ドライブ, d: ドライブといったように自動的にドライブとして利用できる。 しかし、Linuxの場合には、マウントという操作をして初めて利用できるようになる。
LinuxなどのUNIXでは、特定のディレクトリから下を何らかのファイルシステムに 置き換えるという操作をする。これをマウントという。例えば、/mnt/ という ディレクトリがあり、そこにファイルシステムをマウントしたとする。 ファイルシステムの中のルートディレクトリには、 home/ というディレクトリがあったとすると、そのディレクトリは /mnt/home/ としてアクセスできるようになる訳である。
Linux で起動時にマウントするファイルシステムについては、 /etc/fstab というファイルに書かれている。いつも利用するファイルシステムについては、/etc/fstab に書いておくのが通例である。
なお、Windowsでもネットワークを利用するようになり、 Linuxのマウントに似たような機能が設けられた。 「ネットワークドライブの割り当て」では、ネットワーク上の ファイルシステムを特定のドライブとして扱えるようにする。 例えば、情報教育システムのホームディレクトリをz: ドライブとしているのは、 このネットワークドライブの割り当てを行っているためである。