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

14
UNIX UNIX ファイルシステムの歴史 ファイルシステムの歴史 まごろく 2011/10/15 2011/10/15 Lions Commentary on unix Lions Commentary on unix 読書会 読書会 2011 2011 合宿LT 合宿LT

Upload: magoroku-yamamoto

Post on 18-Nov-2014

2.436 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

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

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

まごろく

2011/10/152011/10/15Lions Commentary on unixLions Commentary on unix

読書会読書会 2011 2011合宿LT合宿LT

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

Who am I

� 新横浜在住

� 得意分野� 仮想記憶、ファイルシステム

� UNIX, BSD, Solarisなど

� Androidのプラットフォーム層

� 参加コミュニティ� FLOSS桜山

� 名古屋GeekBar

� 横浜Android PF部

� Android名古屋つ部(配信係り)

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

UNIXのファイルシステム

� 無構造なバイトストリーム

� 事前の領域割り当てが不要

� 木構造の名前空間

� 複数のDiskを木構造に接木

40年を経ても変わらない

現代のファイルシステムの標準

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

V6の実装

� inodeがファイルの実体

� ファイルを作成=disk 上のinodeを割り当て

� ファイルには複数の名前を付与できる

� ディレクトリファイル

� ファイル名とinode番号の対応を格納

40年を経ても変わらない

ファイルシステムの実装

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

ファイルシステムの種類

� 第一世代 BlackBoard FS� V6、V7、SystemⅢ、SystemⅤ、SVR4 s5� MinixFS、ext

� 第二世代 FFS� 4.2BSD~� ext2

� 第三世代 FFS+Jurnal� FreeBSD XX?� ext3

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

何を解決してきたのか

� 規模の課題� RKディスク2Mbyte ATAディスクOver 2Tbyte

� ファイル名の制限

� ファイルサイズの制限

� 性能の課題� 経年劣化

� ファイル検索

� 信頼性の課題� fsck問題

� 異常時のデータ破損

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

ブロック管理方式

� リスト 第一世代

� リストの始点から獲得・開放

� ファイルの獲得・開放を経て、離散化

� ビットマップ 第二世代、第三世代

� 1ビットが1ブロックに対応

� 割り当て時に隣接ブロックの検索が可能

� 遅延割り当て(remap)

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

ブロック管理単位

� 第一世代 512byte

� 第二世代、第三世代 4Kbyte以上

� Disk利用効率に課題

� フラグメント FFS

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

ファイル名

� 第一世代

� 固定長

� 第二世代以降

� 可変長

� Index,Hash,B-Tree

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

経年劣化

� 第一世代

� SuperBlock, InodeBlock, DataBlock

� 第二世代、第三世代

� SBIでグループ化 ClinderGroup

� SBI:SBI:SBI:SBI:SBI

� ヘッドの動きを最小化

� Zone Sectorの出現で陳腐化

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

連続割り当て

� 第一世代

� 不可、リスト構造の制約

� 第二世代、第三世代

� bitmapでfastfit, bestfit, mixfitなど

� Remap

� 小容量の連続書き込みで連続性を検出

� 未書き込みのデータの割り付けを再割り当て

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

信頼性の課題

� 第一世代、第二世代� 初期は毎回動時にfsck

� mount protection

� 正常にumountした場合には、次回はパス

� panicすると結局復旧までに数時間

� ソフト的にatomincでもDiskの2点以上の更新

� 第三世代� Journalの登場

� メタデータジャーナル・データジャーナル

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

第四世代または未分類

� reiserfs

� btrfs

� Zfs

� lfs

� Xfs

ついていけません

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

V6を理解したら......

� 主要コンポーネントを世代別に見ていくと

� 課題ー>解決ー>課題ー>解決

� 技術の堆積が読み取れる

ファイルシステムと仮想記憶がおもしろい