OSとハードウェア

装置の状態を、割り込みを使わずにCPUが繰り返し調べる方式(ポーリング)が有利になる場合はどれか。

  1. A非常に高い頻度で処理が発生し、割り込みのたびの切り替えの負担が大きい場合
  2. B処理がごくまれにしか発生せず、CPUをほかの仕事に使いたい場合
  3. C消費電力をできるだけ下げるため、CPUを長く休ませたい場合
答えと解説を見る

正解:A. 非常に高い頻度で処理が発生し、割り込みのたびの切り替えの負担が大きい場合

割り込みは、処理がまれなときにはCPUを無駄にせずに済みますが、1回ごとに状態の保存やハンドラへの移動の負担があります。高速なネットワークのように処理が非常に頻繁に発生すると、割り込みの負担が積み重なって処理が追いつかなくなるため、まとめてポーリングする方が効率的になります。処理がまれな場合や、CPUを休ませて電力を下げたい場合は、空回りで調べ続けるポーリングは無駄が多く、割り込みが向いています。

  • A. 正しい。頻繁な処理では、割り込みの負担よりポーリングの方が効率的です。
  • B. まれな処理ではポーリングはCPUを無駄にします。
  • C. 調べ続けるポーリングはCPUを休ませられず、電力が増えます。
この分野を解く 分野ページへ

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

  1. キャッシュの一貫性をハードウェアが保たない(非コヒーレントな)システムで、装置がDMAで主記憶に書き込んだデータをCPUが読む前に、ソフトウェアが行う必要のある処理はどれか。
  2. IOMMUの主な役割として正しいものはどれか。
  3. デバイスドライバの役割として正しいものはどれか。
  4. 一般的なOSで、アプリケーションが装置のレジスタを直接読み書きできないようにしている主な理由はどれか。
  5. 1台のコンピュータの上で、複数のOSをそれぞれ独立した仮想マシンとして同時に動かすためのソフトウェアを何と呼ぶか。