ファイルシステム

ファイルシステムとはなんぞ

  • 記録メディア上でファイルを管理する方式のこと
  • 情報の塊をファイルとして取り扱えるようにするための方式
セクタ
  • 予め用意されている区画
  • 一定の大きさに決められている(通常は512バイト)
  • セクタ以上の情報を記録する場合、複数のセクタを使用しなければならない。
  • 複数のセクタを指定した場合、情報を読み出すには複数のセクタの位置をすべて指定する必要がある

ファイルシステムの役割

「セクタの指定を自動化する仕組み」を提供すること

ファイルシステム上での情報の書き込み
  1. 情報にファイル名を付ける
  2. 空いている領域を探して情報を書き込む
  3. ディスクのどのセクタに情報を書き込んだのかという情報(メタデータ)を記録
ファイルシステム上での情報の読み込み
  1. ファイル名からメタデータを調べる
  2. 情報が記録されたセクタから情報を取り出す

Linux で利用できる主なファイルシステム

Linux では VFS と呼ばれる仮想ファイルシステムが利用され、モジュール化された各種ファイルシステムを利用することができるようになっている

ファイルシステム 内容
ext2 Linuxの標準ファイルシステムとして普及していたファイルシステム
現在は ext2 の改良版である ext3 を利用する場合が多い
FFS と同様、ファイル管理に iノードという仕組みを利用する
ext3 ext2ジャーナリング機能を追加したファイルシステム
ext2 との互換性がある
FAT, FAT32, VFAT マイクロソフトMS-DOS用に開発されたファイルシステム
メタデータにはiノードではなく、FATと呼ばれるテーブルが使用される
市販のUSBメモリやUSB接続HDDはFAT形式が使われているものが多い
umsdos FATファイルシステムが作成されたディスクに、Linux をインストールする時に使用される
HFS, HFS+ Macintosh で採用されているファイルシステム
XFS, JFS XFS はSGIが、JFS はIBMがそれぞれ開発したUnix OS向けファイルシステhム
両方とも、ジャーナリング機能を備える
Linux カーネル 2.6で利用可
FFS (UFS) Solaris などの商用UNIXFreeBSDなどで標準的に使用されている
初期のUNIXで使用されていたUFSファイルシステムメタデータ構造が改良されたもの
Linuxで利用可能なUFSファイルシステム(ただし読み出し専用)は実質FFSのみ

ジャーナリングとは、ハードディスクに障害が発生した際、その復旧が迅速に行えるようにファイルの更新履歴をバックアップする機能

その他のファイルシステム

CD-ROM ISO9660 という規格のファイルシステムが一般的
DVD-ROM UDF と呼ばれるファイルシステムが標準的に使用される
ISO9660を利用すれば大容量CD-ROMとしての利用も可能
procfs プロセスの状態や、様々なシステムの情報を参照できるようにするための特殊なシステム
/proc ディレクトリにマウントされ、さまざまな情報が /proc ディレクトリ以下にあるファイルから閲覧できる
sysfs Linux カーネル2.6以降でさまざまなデバイス情報にアクセスするために使われる特殊なシステム
通常 /sys ディレクトリにマウントされる
tmpfs マシン内臓のメモリを利用する高速なファイルシステム
いわゆるRAMディスクのようなものだが、実メモリ以上のファイルシステムを作ることができる