OSとハードウェア
OSが、自分からCPUを手放さないプログラムからでも一定時間ごとにCPUを取り戻して、ほかのプロセスに切り替えられるのは、主にどのしくみによるか。
- Aキャッシュミス
- Bタイマー割り込み
- Cコピーオンライト
答えと解説を見る
正解:B. タイマー割り込み
OSはタイマーを設定して、一定の時間(タイムスライス)ごとにタイマー割り込みを起こさせます。割り込みが起きるとCPUは必ずカーネルの割り込みハンドラに移るので、プログラムが無限ループしていても、OSは制御を取り戻して別のプロセスにコンテキストスイッチできます。これを横取り(プリエンプティブ)型のスケジューリングといいます。キャッシュミスやコピーオンライトは、CPUを取り戻すしくみではありません。
- A. キャッシュミスはハードウェアが処理し、OSに制御は移りません。
- B. 正しい。一定時間ごとの割り込みでOSが制御を取り戻します。
- C. コピーオンライトは書き込み時にページを複製する方式です。