LinuxKernel

Ext2の構造

パーティションはブートブロックをのぞき,ブロックグループに分割される
ブロックグループ中にスーパーブロック,グループディスクリプタ,データ/inodeビットマップ,inodeブロック,データブロックがある.
ただし,スーパーブロックとグループディスクリプタはブロックグループ0のものだけを使用している.1以降はfsck時にバックアップとして利用する.

スーパーブロックにはマウント時間情報などがある 固定長
グループディスクリプタにはビットマップの位置情報がある 可変長
inodeビットマップ,データブロックビットマップ 0なら空き,1なら利用 固定長

inodeテーブル ファイルのブロック情報がある.ファイル名はない.バイト情報は32bitのため,理論上は2Gbyteまで.しかし,i_dir_aclも使ってLinux/Alphaでは64bitまで利用可能


フラグメントと断片化

フラグメントは1ブロック中に複数ファイルを書くこと.つまりいいこと
断片化は1ファイルのブロックが連続せず,シークが多発する原因.悪いこと
どちらもfragment


プリアロケート

Ext2/3には連続ブロック確保のためのプリアロケート機構がある.新しいブロックを割り当てるときに8ブロック併せて確保する.
その後,ブロックの後半にブロックがあれば使用し,無ければブロック確保する.


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: Sat, 11 Jun 2005 12:30:52 JST (4936d)