Linuxカーネルに関する技術情報を集めていくプロジェクトです。現在、Linuxカーネル2.6解読室の第2章までを公開中。
以下にその大雑把なアルゴリズムを示す。アルゴリズム中に付いている◆印は同期書き込みを、◇印は遅延書き込みを表す。
ext2_getblk(iノード、オフセット, ...) ファイルオフセットをブロック番号に変換(ext2_get_block関数) 空のバッファを確保(getblk関数) if (新規割り当てれたブロックであった場合) { バッファをクリア(memset関数) バッファを有効にする(mark_buffer_update関数) ◇バッファの遅延書き込み要求をだす(mark_buffer_dirty関数) } バッファを返却
下図は、ちょうど二段間接ブロックが作成される時の、データの更新順を表したものである。◆の後ろに書かれた番号が更新順を表している。
問題点など
(NIS)HirokazuTakahashi
2000年12月09日 (土) 23時55分06秒 JST1
[ページ情報]
更新日時: 2008-08-27 14:18:54, 更新者: hiromichi-m
[権限]
表示:無制限, 編集:ログインユーザ, 削除/設定:メンバー