OSとハードウェア

OSが、自分からCPUを手放さないプログラムからでも一定時間ごとにCPUを取り戻して、ほかのプロセスに切り替えられるのは、主にどのしくみによるか。

  1. Aキャッシュミス
  2. Bタイマー割り込み
  3. Cコピーオンライト
答えと解説を見る

正解:B. タイマー割り込み

OSはタイマーを設定して、一定の時間(タイムスライス)ごとにタイマー割り込みを起こさせます。割り込みが起きるとCPUは必ずカーネルの割り込みハンドラに移るので、プログラムが無限ループしていても、OSは制御を取り戻して別のプロセスにコンテキストスイッチできます。これを横取り(プリエンプティブ)型のスケジューリングといいます。キャッシュミスやコピーオンライトは、CPUを取り戻すしくみではありません。

  • A. キャッシュミスはハードウェアが処理し、OSに制御は移りません。
  • B. 正しい。一定時間ごとの割り込みでOSが制御を取り戻します。
  • C. コピーオンライトは書き込み時にページを複製する方式です。
この分野を解く 分野ページへ

OSとハードウェアのほかの問題

  1. 上のように装置の状態レジスタをメモリマップドI/Oで読むとき、volatileを付け、その領域をキャッシュしない設定にする理由として正しいものはどれか。
  2. 装置の状態を、割り込みを使わずにCPUが繰り返し調べる方式(ポーリング)が有利になる場合はどれか。
  3. キャッシュの一貫性をハードウェアが保たない(非コヒーレントな)システムで、装置がDMAで主記憶に書き込んだデータをCPUが読む前に、ソフトウェアが行う必要のある処理はどれか。
  4. IOMMUの主な役割として正しいものはどれか。
  5. デバイスドライバの役割として正しいものはどれか。