狠狠撸

狠狠撸Share a Scribd company logo
鲍狈滨齿ファイルシステムの歴史

           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を理解したら......
?   主要コンポーネントを世代別に見ていくと
?   課題ー>解決ー>課題ー>解決
?   技術の堆積が読み取れる

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

More Related Content

What's hot (11)

Trac on dotcloud (Japanese)
Trac on  dotcloud (Japanese)Trac on  dotcloud (Japanese)
Trac on dotcloud (Japanese)
Tatsuya Nagae
?
ブロックチェーンと形式検証
ブロックチェーンと形式検証ブロックチェーンと形式検証
ブロックチェーンと形式検証
Jun Furuse
?
尝滨狈蚕基本のキ
尝滨狈蚕基本のキ尝滨狈蚕基本のキ
尝滨狈蚕基本のキ
Kouji Matsui
?
Bsd suki
Bsd sukiBsd suki
Bsd suki
yamori813
?
詳解UNIXプログラミング 第4章 ファイルとディレクトリ
詳解UNIXプログラミング 第4章 ファイルとディレクトリ詳解UNIXプログラミング 第4章 ファイルとディレクトリ
詳解UNIXプログラミング 第4章 ファイルとディレクトリ
Takaya Kotohata
?
10分で分かる尝颈苍耻虫ブロックレイヤ
10分で分かる尝颈苍耻虫ブロックレイヤ10分で分かる尝颈苍耻虫ブロックレイヤ
10分で分かる尝颈苍耻虫ブロックレイヤ
Takashi Hoshino
?
Zrouter
ZrouterZrouter
Zrouter
yamori813
?
おれよりすごいておくれにあいにきた
おれよりすごいておくれにあいにきたおれよりすごいておくれにあいにきた
おれよりすごいておくれにあいにきた
Katsuyoshi Matsumoto
?
ニューラルネットワーク勉强会2
ニューラルネットワーク勉强会2ニューラルネットワーク勉强会2
ニューラルネットワーク勉强会2
yhide
?
ConoHa blockchain スマート宅配ボックス
ConoHa  blockchain  スマート宅配ボックス ConoHa  blockchain  スマート宅配ボックス
ConoHa blockchain スマート宅配ボックス
tmatsuura
?
Kernel ext4
Kernel ext4Kernel ext4
Kernel ext4
Kai Sasaki
?
Trac on dotcloud (Japanese)
Trac on  dotcloud (Japanese)Trac on  dotcloud (Japanese)
Trac on dotcloud (Japanese)
Tatsuya Nagae
?
ブロックチェーンと形式検証
ブロックチェーンと形式検証ブロックチェーンと形式検証
ブロックチェーンと形式検証
Jun Furuse
?
尝滨狈蚕基本のキ
尝滨狈蚕基本のキ尝滨狈蚕基本のキ
尝滨狈蚕基本のキ
Kouji Matsui
?
詳解UNIXプログラミング 第4章 ファイルとディレクトリ
詳解UNIXプログラミング 第4章 ファイルとディレクトリ詳解UNIXプログラミング 第4章 ファイルとディレクトリ
詳解UNIXプログラミング 第4章 ファイルとディレクトリ
Takaya Kotohata
?
10分で分かる尝颈苍耻虫ブロックレイヤ
10分で分かる尝颈苍耻虫ブロックレイヤ10分で分かる尝颈苍耻虫ブロックレイヤ
10分で分かる尝颈苍耻虫ブロックレイヤ
Takashi Hoshino
?
おれよりすごいておくれにあいにきた
おれよりすごいておくれにあいにきたおれよりすごいておくれにあいにきた
おれよりすごいておくれにあいにきた
Katsuyoshi Matsumoto
?
ニューラルネットワーク勉强会2
ニューラルネットワーク勉强会2ニューラルネットワーク勉强会2
ニューラルネットワーク勉强会2
yhide
?
ConoHa blockchain スマート宅配ボックス
ConoHa  blockchain  スマート宅配ボックス ConoHa  blockchain  スマート宅配ボックス
ConoHa blockchain スマート宅配ボックス
tmatsuura
?

More from magoroku Yamamoto (20)

Deep learning入門
Deep learning入門Deep learning入門
Deep learning入門
magoroku Yamamoto
?
波形で见る叠颈驳.濒颈迟迟濒别
波形で见る叠颈驳.濒颈迟迟濒别波形で见る叠颈驳.濒颈迟迟濒别
波形で见る叠颈驳.濒颈迟迟濒别
magoroku Yamamoto
?
自动并列化コンパイラを础苍诲谤辞颈诲に适用してみた
自动并列化コンパイラを础苍诲谤辞颈诲に适用してみた自动并列化コンパイラを础苍诲谤辞颈诲に适用してみた
自动并列化コンパイラを础苍诲谤辞颈诲に适用してみた
magoroku Yamamoto
?
Oscar compiler for power reduction
Oscar compiler for power reduction Oscar compiler for power reduction
Oscar compiler for power reduction
magoroku Yamamoto
?
Unix v6 セミナー vol. 5
Unix v6 セミナー vol. 5Unix v6 セミナー vol. 5
Unix v6 セミナー vol. 5
magoroku Yamamoto
?
仮想記憶入門 BSD-4.3を例題に
仮想記憶入門 BSD-4.3を例題に仮想記憶入門 BSD-4.3を例題に
仮想記憶入門 BSD-4.3を例題に
magoroku Yamamoto
?
V6 unix in okinawa
V6 unix in okinawaV6 unix in okinawa
V6 unix in okinawa
magoroku Yamamoto
?
Android builders summit slide tour
Android builders summit slide tourAndroid builders summit slide tour
Android builders summit slide tour
magoroku Yamamoto
?
第4回名古屋础苍诲谤辞颈诲勉强会资料
第4回名古屋础苍诲谤辞颈诲勉强会资料第4回名古屋础苍诲谤辞颈诲勉强会资料
第4回名古屋础苍诲谤辞颈诲勉强会资料
magoroku Yamamoto
?
20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント
magoroku Yamamoto
?
Poormans sdk
Poormans sdkPoormans sdk
Poormans sdk
magoroku Yamamoto
?
波形で见る叠颈驳.濒颈迟迟濒别
波形で见る叠颈驳.濒颈迟迟濒别波形で见る叠颈驳.濒颈迟迟濒别
波形で见る叠颈驳.濒颈迟迟濒别
magoroku Yamamoto
?
自动并列化コンパイラを础苍诲谤辞颈诲に适用してみた
自动并列化コンパイラを础苍诲谤辞颈诲に适用してみた自动并列化コンパイラを础苍诲谤辞颈诲に适用してみた
自动并列化コンパイラを础苍诲谤辞颈诲に适用してみた
magoroku Yamamoto
?
Oscar compiler for power reduction
Oscar compiler for power reduction Oscar compiler for power reduction
Oscar compiler for power reduction
magoroku Yamamoto
?
仮想記憶入門 BSD-4.3を例題に
仮想記憶入門 BSD-4.3を例題に仮想記憶入門 BSD-4.3を例題に
仮想記憶入門 BSD-4.3を例題に
magoroku Yamamoto
?
Android builders summit slide tour
Android builders summit slide tourAndroid builders summit slide tour
Android builders summit slide tour
magoroku Yamamoto
?
第4回名古屋础苍诲谤辞颈诲勉强会资料
第4回名古屋础苍诲谤辞颈诲勉强会资料第4回名古屋础苍诲谤辞颈诲勉强会资料
第4回名古屋础苍诲谤辞颈诲勉强会资料
magoroku Yamamoto
?
20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント20分でわかった事にするパワーマネジメント
20分でわかった事にするパワーマネジメント
magoroku Yamamoto
?

鲍苍颈虫ファイルシステムの歴史

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