OSとハードウェア

割り込みと例外の違いとして一般的な説明はどれか。

  1. A割り込みはソフトウェアだけが起こすもので、例外はハードウェアの回路だけが起こすもの
  2. B割り込みは装置などの外部の要因で起こり、例外は命令の実行の結果として起こる
  3. C割り込みは処理のあとで元に戻れず、例外は必ず元の処理に戻れる
答えと解説を見る

正解:B. 割り込みは装置などの外部の要因で起こり、例外は命令の実行の結果として起こる

割り込みは、入出力装置の完了通知やタイマーなど、実行中の命令とは関係のない外部の要因で、いつ起こるか決まっていない(非同期の)ものです。例外は、ゼロ除算、不正な命令、ページフォルト、システムコールの命令など、特定の命令を実行した結果として起こる(同期の)ものです。どちらも割り込みハンドラで処理したあと元の処理に戻れることが多く、戻れるかどうかで分けるわけではありません。

  • A. 発生源をソフトとハードで分ける説明は正しくありません。
  • B. 正しい。外部要因の非同期な割り込みと、命令の結果の同期的な例外です。
  • C. どちらも処理後に元に戻れることが多く、戻れるかで区別はしません。
この分野を解く 分野ページへ

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

  1. 次のうち、命令の実行とは無関係に、いつ起こるか決まっていない非同期のものはどれか。
  2. CPUが割り込みを受け付けたときの一般的な処理の流れとして正しいものはどれか。
  3. 割り込みベクタテーブルの役割として正しいものはどれか。
  4. 重要な処理の途中で一時的に割り込みを禁止(マスク)するときの注意点として正しいものはどれか。
  5. 割り込みハンドラの処理を、すぐに行う短い部分と、あとで通常の文脈で行う残りの部分に分ける理由として正しいものはどれか。