Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ファイルシステム

2,189 views

Published on

  • Login to see the comments

  • Be the first to like this

ファイルシステム

  1. 1. ファイルシステム 2008.5.21 重黒木泰
  2. 2. こんな図書館あったら <ul><li>図書の総数 数十万 </li></ul><ul><li>本棚に無造作に本が格納されている </li></ul><ul><li>読みたい本を自分で探す </li></ul>
  3. 3. こんな図書館あったら <ul><li>図書の総数 数十万 </li></ul><ul><li>本にユニークな番号を振ってリストにした </li></ul><ul><li>読みたい本を自分で探す </li></ul>
  4. 4. こんな図書館あったら <ul><li>図書の総数 数十万 </li></ul><ul><li>本にユニークな番号を振ってリストにした </li></ul><ul><li>本を種類ごとに分類した </li></ul><ul><li>読みたい本を自分で探す </li></ul>
  5. 5. こんな図書館あったら <ul><li>図書の総数 数十万 </li></ul><ul><li>本にユニークな番号を振ってリストにした </li></ul><ul><li>本を種類ごとに分類した </li></ul><ul><li>図書館職員が探してくれる </li></ul>・別の図書館の本を貸出 ・自宅まで届けてくれる ・部屋の掃除をしてくる
  6. 6. ファイルシステム <ul><li>二次記憶装置を効率よく使う </li></ul><ul><ul><li>ディスクアクセスの簡単化 </li></ul></ul><ul><ul><li>アクセス速度の向上 </li></ul></ul>ファイルシステム アプリケーション 二次記憶装置
  7. 7. ディスクファイルシステム <ul><li>目的 </li></ul><ul><ul><li>データをファイル(ディレクトリ)として扱う </li></ul></ul><ul><ul><li>インタフェース </li></ul></ul><ul><li>ファイルシステムの性能 </li></ul><ul><ul><li>保存方法(効率性) </li></ul></ul><ul><ul><li>安全性 </li></ul></ul><ul><ul><li>匿名性 </li></ul></ul>
  8. 8. UNIXのディスクファイルシステム <ul><li>VSF </li></ul><ul><ul><li>ext2,ext3,ext4,ReiserFS,JFS,XFS,iso9660 </li></ul></ul>VSF システムコール ドライバ アプリケーション iso9660 XFS ReiseFS ext4 ext3 ext2
  9. 9. VFS i ノードテーブル i ノード ストレージのアドレス空間 i ノード番号 3 2 1 i ノード 番号
  10. 10. ブロックアルゴリズム(ext2) <ul><li>ストレージをブロック単位で扱う </li></ul><ul><ul><li>ブロックサイズは任意(1024,2040,4096 [byte]) </li></ul></ul><ul><ul><li>i ノード(128byte) </li></ul></ul>・・・ ・・・ パーティション 2 パーティション 1 データブロック i ノードテーブル i ノードビットマップ データブロックビットマップ グループディスクリプタ スーパーブロック
  11. 11. ブロックアルゴリズム(ext2) <ul><li>i ノードの取得 </li></ul><ul><ul><li>(i ノード番号 / ブロックサイズ) + オフセット </li></ul></ul><ul><li>ディスク上のアドレスの特定 </li></ul>アドレス空間 三次間接参照 二次間接参照 一次間接参照 ・・・ ・・・ 直接参照 uid mode i ノード番号
  12. 12. ブロックアルゴリズムの問題 <ul><li>参照時間 O(n) </li></ul><ul><li>i ノードの個数が固定 </li></ul><ul><li>ブロック単位の割り当て </li></ul><ul><li>スーパーブロックの管理 </li></ul>
  13. 13. 問題点解消のアプローチ <ul><li>B-Tree アルゴリズム (ReiserFS, JFS, XFS) </li></ul><ul><ul><li>参照時間の短縮 O(logn) </li></ul></ul><ul><li>動的 i ノード </li></ul><ul><li>ジャーナリングシステム (ext3 など ) </li></ul>
  14. 14. ジャーナリングシステム @IT ジャーナリングファイルシステムが保護する「情報」 より
  15. 15. 分散ファイルシステム <ul><li>複数台のマシンのディスクを組み合わせて一つのディスクに見せる </li></ul><ul><li>より多くのデータを扱うために必要な技術 </li></ul>通信 通信 VSF システムコール ドライバ 分散ファイルシステム デバイス VSF システムコール ドライバ 分散ファイルシステム デバイス VSF システムコール ドライバ 分散ファイルシステム デバイス
  16. 16. Google File System <ul><li>冗長化、耐故障性の高さを重視 </li></ul><ul><li>通常のPCで実現 </li></ul><ul><li>ファイルの編集より追加に対して特化 </li></ul><ul><li>読み込み重視 </li></ul>クライアント マスタサーバ チャンクサーバ
  17. 17. マスタサーバの役目 <ul><li>ファイルのディレクトリツリー ( 要は /usr/bin/emacs などのファイルパス ) の管理 </li></ul><ul><li>ファイルからチャンクへのマップ ( ファイルパスから chunk handles への対応 ) </li></ul><ul><li>チャンクの位置情報管理 ( チャンクがどのチャンクサーバ上にあるか ) </li></ul><ul><li>ファイルのロック処理 </li></ul><ul><li>ファイルのその他のメタデータ管理 ( ファイルオーナー、ファイルパーミッション ) </li></ul><ul><li>チャンクサーバの生存確認 (HeartBeat メッセージで死んだチャンクサーバを検出 ) 、状態管理 ( 空きディスク容量や負荷 ) 。 </li></ul>

×