SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
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を理解したら......
�   主要コンポーネントを世代別に見ていくと
�   課題ー>解決ー>課題ー>解決
�   技術の堆積が読み取れる

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

Contenu connexe

Tendances

Trac on dotcloud (Japanese)
Trac on  dotcloud (Japanese)Trac on  dotcloud (Japanese)
Trac on dotcloud (Japanese)Tatsuya Nagae
 
ブロックチェーンと形式検証
ブロックチェーンと形式検証ブロックチェーンと形式検証
ブロックチェーンと形式検証Jun Furuse
 
詳解UNIXプログラミング 第4章 ファイルとディレクトリ
詳解UNIXプログラミング 第4章 ファイルとディレクトリ詳解UNIXプログラミング 第4章 ファイルとディレクトリ
詳解UNIXプログラミング 第4章 ファイルとディレクトリTakaya Kotohata
 
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤTakashi Hoshino
 
おれよりすごいておくれにあいにきた
おれよりすごいておくれにあいにきたおれよりすごいておくれにあいにきた
おれよりすごいておくれにあいにきたKatsuyoshi Matsumoto
 
ニューラルネットワーク勉強会2
ニューラルネットワーク勉強会2ニューラルネットワーク勉強会2
ニューラルネットワーク勉強会2yhide
 
ConoHa blockchain スマート宅配ボックス
ConoHa  blockchain  スマート宅配ボックス ConoHa  blockchain  スマート宅配ボックス
ConoHa blockchain スマート宅配ボックス tmatsuura
 

Tendances (11)

Trac on dotcloud (Japanese)
Trac on  dotcloud (Japanese)Trac on  dotcloud (Japanese)
Trac on dotcloud (Japanese)
 
ブロックチェーンと形式検証
ブロックチェーンと形式検証ブロックチェーンと形式検証
ブロックチェーンと形式検証
 
LINQ基本のキ
LINQ基本のキLINQ基本のキ
LINQ基本のキ
 
Bsd suki
Bsd sukiBsd suki
Bsd suki
 
詳解UNIXプログラミング 第4章 ファイルとディレクトリ
詳解UNIXプログラミング 第4章 ファイルとディレクトリ詳解UNIXプログラミング 第4章 ファイルとディレクトリ
詳解UNIXプログラミング 第4章 ファイルとディレクトリ
 
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ
 
Zrouter
ZrouterZrouter
Zrouter
 
おれよりすごいておくれにあいにきた
おれよりすごいておくれにあいにきたおれよりすごいておくれにあいにきた
おれよりすごいておくれにあいにきた
 
ニューラルネットワーク勉強会2
ニューラルネットワーク勉強会2ニューラルネットワーク勉強会2
ニューラルネットワーク勉強会2
 
ConoHa blockchain スマート宅配ボックス
ConoHa  blockchain  スマート宅配ボックス ConoHa  blockchain  スマート宅配ボックス
ConoHa blockchain スマート宅配ボックス
 
Kernel ext4
Kernel ext4Kernel ext4
Kernel ext4
 

Plus de magoroku Yamamoto

Plus de magoroku Yamamoto (20)

Deep learning入門
Deep learning入門Deep learning入門
Deep learning入門
 
波形で見るBig.little
波形で見るBig.little波形で見るBig.little
波形で見るBig.little
 
自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみた自動並列化コンパイラをAndroidに適用してみた
自動並列化コンパイラをAndroidに適用してみた
 
Oscar compiler for power reduction
Oscar compiler for power reduction Oscar compiler for power reduction
Oscar compiler for power reduction
 
Unix v6 セミナー vol. 5
Unix v6 セミナー vol. 5Unix v6 セミナー vol. 5
Unix v6 セミナー vol. 5
 
仮想記憶入門 BSD-4.3を例題に
仮想記憶入門 BSD-4.3を例題に仮想記憶入門 BSD-4.3を例題に
仮想記憶入門 BSD-4.3を例題に
 
V6 unix vol.2 in okinawa
V6 unix vol.2 in okinawaV6 unix vol.2 in okinawa
V6 unix vol.2 in okinawa
 
Adk2012
Adk2012Adk2012
Adk2012
 
Android binder-ipc
Android binder-ipcAndroid binder-ipc
Android binder-ipc
 
V6 unix in okinawa
V6 unix in okinawaV6 unix in okinawa
V6 unix in okinawa
 
ぐだ生システム#2
ぐだ生システム#2ぐだ生システム#2
ぐだ生システム#2
 
ぐだ生って何
ぐだ生って何ぐだ生って何
ぐだ生って何
 
Android builders summit slide tour
Android builders summit slide tourAndroid builders summit slide tour
Android builders summit slide tour
 
第4回名古屋Android勉強会資料
第4回名古屋Android勉強会資料第4回名古屋Android勉強会資料
第4回名古屋Android勉強会資料
 
Poorman’s adk トレーナ
Poorman’s adk トレーナPoorman’s adk トレーナ
Poorman’s adk トレーナ
 
20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント
 
Poormans sdk
Poormans sdkPoormans sdk
Poormans sdk
 
Ngk2011 b
Ngk2011 bNgk2011 b
Ngk2011 b
 
オレオレ家電
オレオレ家電オレオレ家電
オレオレ家電
 
V6read#4
V6read#4V6read#4
V6read#4
 

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を理解したら...... � 主要コンポーネントを世代別に見ていくと � 課題ー>解決ー>課題ー>解決 � 技術の堆積が読み取れる ファイルシステムと仮想記憶がおもしろい