Show page source of internal24-78-ページ読み込み要求 #25138

[[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)]]