Linuxカーネルに関する技術情報を集めていくプロジェクトです。現在、Linuxカーネル2.6解読室の第2章までを公開中。
BSDのファイルシステムおよびその論文を大いに参考にして設計されており、殆ど同様の構成となっている。ファイルシステムを構成する各種データは、関連の深いもの同士をなるべく物理的に近くに配置できるように配慮されている。
詳しくは、BSD UNIXの解説書および、論文を参照して欲しい。
一つのファイルシステムは物理的に複数の領域(ブロックグループ)に分割して管理されている。これは関係の深いデータを同じブロックグループ内から確保すれば、ディスクヘッドのシーク時間の無駄が少なくなるだろうという発想である。
スーパブロックはファイルシステムの全体の構造を管理している。主な情報は、次に述べるブロックグループの配置と、このファイルシステム内に存在するフリーiノード総数とフリーブロック総数の管理である。
各ブロックグループは、ブロックグループディスクリプタ(このブロックグループの管理情報領域)、iノード領域、データブロック領域、iノード領域の閉塞管理用ビットマップ、データブロック領域の閉塞管理用ビットマップから構成される。
スーパブロック/ブロックグループディスクリプタは全てのブロックグループの先頭に配置されているが、最初のブロックグループ内に配置されているもののみを利用している。(二つ目以降のブロックグループ内のスーパブロックは、fsck時に一つ目のスーパブロックが読み出せない時に、利用することができる。umount時に何もディスクに書き戻していないので、レイアウト情報のみを利用しているようだ)
(NIS)HirokazuTakahashi
2000年06月11日 (日) 22時29分57秒 JST1
[PageInfo]
LastUpdate: 2008-08-27 14:45:20, ModifiedBy: hiromichi-m
[Permissions]
view:all, edit:login users, delete/config:members