UNIXファイルシステムの歴史 2011/10/15 Lions Commentary on unix 読書会 2011合宿LT まごろく
Who am I � 新横浜在住 � 得意分野 � 仮想記憶、ファイルシステム � UNIX, BSD, Solarisなど � Androidのプラットフォーム層 � 参加コミュニティ � FLOSS桜山 � 名古屋GeekBar � 横浜Android PF部 � Android名古屋つ部(配信係り)
UNIXのファイルシステム � 無構造なバイトストリーム � 事前の領域割り当てが不要 � 木構造の名前空間 � 複数のDiskを木構造に接木 40年を経ても変わらない 現代のファイルシステムの標準
V6の実装 � inodeがファイルの実体 � ファイルを作成=disk 上のinodeを割り当て � ファイルには複数の名前を付与できる � ディレクトリファイル � ファイル名とinode番号の対応を格納 40年を経ても変わらない ファイルシステムの実装
ファイルシステムの種類 � 第一世代 BlackBoard FS � V6、V7、SystemⅢ、SystemⅤ、SVR4 s5 � MinixFS、ext � 第二世代 FFS � 4.2BSD~ � ext2 � 第三世代 FFS+Jurnal � FreeBSD XX? � ext3
何を解決してきたのか � 規模の課題 � RKディスク2Mbyte ATAディスクOver 2Tbyte � ファイル名の制限 � ファイルサイズの制限 � 性能の課題 � 経年劣化 � ファイル検索 � 信頼性の課題 � fsck問題 � 異常時のデータ破損
ブロック管理方式 � リスト 第一世代 � リストの始点から獲得・開放 � ファイルの獲得・開放を経て、離散化 � ビットマップ 第二世代、第三世代 � 1ビットが1ブロックに対応 � 割り当て時に隣接ブロックの検索が可能 � 遅延割り当て(remap)
ブロック管理単位 � 第一世代 512byte � 第二世代、第三世代 4Kbyte以上 � Disk利用効率に課題 � フラグメント FFS
ファイル名 � 第一世代 � 固定長 � 第二世代以降 � 可変長 � Index,Hash,B-Tree
経年劣化 � 第一世代 � SuperBlock, InodeBlock, DataBlock � 第二世代、第三世代 � SBIでグループ化 ClinderGroup � SBI:SBI:SBI:SBI:SBI � ヘッドの動きを最小化 � Zone Sectorの出現で陳腐化
連続割り当て � 第一世代 � 不可、リスト構造の制約 � 第二世代、第三世代 � bitmapでfastfit, bestfit, mixfitなど � Remap � 小容量の連続書き込みで連続性を検出 � 未書き込みのデータの割り付けを再割り当て
信頼性の課題 � 第一世代、第二世代 � 初期は毎回動時にfsck � mount protection � 正常にumountした場合には、次回はパス � panicすると結局復旧までに数時間 � ソフト的にatomincでもDiskの2点以上の更新 � 第三世代 � Journalの登場 � メタデータジャーナル・データジャーナル
第四世代または未分類 � reiserfs � btrfs � Zfs � lfs � Xfs ついていけません
V6を理解したら...... � 主要コンポーネントを世代別に見ていくと � 課題ー>解決ー>課題ー>解決 � 技術の堆積が読み取れる ファイルシステムと仮想記憶がおもしろい

Unixファイルシステムの歴史

  • 1.
    UNIXファイルシステムの歴史 2011/10/15 Lions Commentary on unix 読書会 2011合宿LT まごろく
  • 2.
    Who am I � 新横浜在住 � 得意分野 � 仮想記憶、ファイルシステム � UNIX, BSD, Solarisなど � Androidのプラットフォーム層 � 参加コミュニティ � FLOSS桜山 � 名古屋GeekBar � 横浜Android PF部 � Android名古屋つ部(配信係り)
  • 3.
    UNIXのファイルシステム � 無構造なバイトストリーム � 事前の領域割り当てが不要 � 木構造の名前空間 � 複数のDiskを木構造に接木 40年を経ても変わらない 現代のファイルシステムの標準
  • 4.
    V6の実装 � inodeがファイルの実体 � ファイルを作成=disk 上のinodeを割り当て � ファイルには複数の名前を付与できる � ディレクトリファイル � ファイル名とinode番号の対応を格納 40年を経ても変わらない ファイルシステムの実装
  • 5.
    ファイルシステムの種類 � 第一世代 BlackBoard FS � V6、V7、SystemⅢ、SystemⅤ、SVR4 s5 � MinixFS、ext � 第二世代 FFS � 4.2BSD~ � ext2 � 第三世代 FFS+Jurnal � FreeBSD XX? � ext3
  • 6.
    何を解決してきたのか � 規模の課題 � RKディスク2Mbyte ATAディスクOver 2Tbyte � ファイル名の制限 � ファイルサイズの制限 � 性能の課題 � 経年劣化 � ファイル検索 � 信頼性の課題 � fsck問題 � 異常時のデータ破損
  • 7.
    ブロック管理方式 � リスト 第一世代 � リストの始点から獲得・開放 � ファイルの獲得・開放を経て、離散化 � ビットマップ 第二世代、第三世代 � 1ビットが1ブロックに対応 � 割り当て時に隣接ブロックの検索が可能 � 遅延割り当て(remap)
  • 8.
    ブロック管理単位 � 第一世代 512byte � 第二世代、第三世代 4Kbyte以上 � Disk利用効率に課題 � フラグメント FFS
  • 9.
    ファイル名 � 第一世代 � 固定長 � 第二世代以降 � 可変長 � Index,Hash,B-Tree
  • 10.
    経年劣化 � 第一世代 � SuperBlock, InodeBlock, DataBlock � 第二世代、第三世代 � SBIでグループ化 ClinderGroup � SBI:SBI:SBI:SBI:SBI � ヘッドの動きを最小化 � Zone Sectorの出現で陳腐化
  • 11.
    連続割り当て � 第一世代 � 不可、リスト構造の制約 � 第二世代、第三世代 � bitmapでfastfit, bestfit, mixfitなど � Remap � 小容量の連続書き込みで連続性を検出 � 未書き込みのデータの割り付けを再割り当て
  • 12.
    信頼性の課題 � 第一世代、第二世代 � 初期は毎回動時にfsck � mount protection � 正常にumountした場合には、次回はパス � panicすると結局復旧までに数時間 � ソフト的にatomincでもDiskの2点以上の更新 � 第三世代 � Journalの登場 � メタデータジャーナル・データジャーナル
  • 13.
    第四世代または未分類 � reiserfs � btrfs � Zfs � lfs � Xfs ついていけません
  • 14.
    V6を理解したら...... � 主要コンポーネントを世代別に見ていくと � 課題ー>解決ー>課題ー>解決 � 技術の堆積が読み取れる ファイルシステムと仮想記憶がおもしろい