[[PageNavi(internal24-navi)]]
{{{ comment
h2w-title:ページ読み込み要求
}}}
== ページ読み込み要求 == #SECTION03331000000000000000
まず、ページ読み込み要求処理のアルゴリズムに関して説明する。
{{{
block_read_full_page(読み込むページ, getblock関数)
ページにまだバッファヘッドが割り付けられていなければ、
バッファヘッドを確保しページとリンク(create_empty_buffer関数)
do {
if(バッファが有効) continue;
if(バッファがブロックと対応付けられていない) {
getblock関数を利用し、inodeとファイルオフセットから
ブロック番号を求める。
ブロックの割り当てられてない領域なら、バッファの0クリア。
}
バッファヘッドを初期化
(I/O完了コールバック関数としては、end_buffer_io_asyncを登録)
} while(バッファのある間)
I/O要求の発行(ll_rw_block関数)
}}}
----
''(NIS)HirokazuTakahashi [[BR]]2000年12月09日 (土) 23時55分06秒 JST''1
[[PageNavi(internal24-navi)]]