2007-08-13 ファイルシステムの世代 computer ZFSは他のファイルシステムと一世代違う感じだよな、と電車の中で考えていてファイルシステムを世代で分類するとしたらどんな感じになるのか考えてみた。正直言ってZFSの立ち位置を説明するためだけなので、各世代の説明はかなり苦しい。実装の話と機能の話がごっちゃになってしまいがちだな。 第一世代 MByteクラスの最大ファイルサイズ ファイル名の最大長が短かい(8+3など) 代表的なFS: FAT12/16, MINIXv1 FS 第二世代 GByteクラスの最大ファイルサイズ ファイル名の最大長が事実上無制限(255文字など) 代表的なFS: FAT32, ext2, ffs, ufs, HFS, HPFS 第三世代 TByte以上の最大ファイルサイズ メタデータジャーナリング エクステントベースの空間管理 B-Treeなどによるディレクトリエントリ構造化 POSIX準拠のACL スナップショット 代表的なFS: NTFS, ext3/4, JFS, XFS, ReiserFSv3, HFS+, ufs+logging 第四世代 PByte以上の最大ファイルサイズ チェックサムなどによるブロックレベルでの信頼性確保 トランザクション対応 ロジカルボリューム管理 ストライピング 代表的なFS: ZFS, Btrfs, ReiserFSv4, VxFS