バッファに対するI/Oの待ち合わせI/O中であるバッファのI/O完了を待ち合わせる関数としてwait_on_buffer関数が用意されている。 wait_on_buffer(バッファ)
if(バッファがI/Oロックされている) {
バッファの参照数を1つ増やす
タスクキューtq_diskに登録されている処理の起動をかける
(タスクキューに関する説明は、別章タスクキューを参照のこと)
割り込み禁止状態でバッファ待ちに入る。
(詳細な動作は、スケジューリングの章を参照のこと)
バッファの参照数を1つ減らす
}
(NIS)HirokazuTakahashi |