OSとハードウェア
割り込みと例外の違いとして一般的な説明はどれか。
- A割り込みはソフトウェアだけが起こすもので、例外はハードウェアの回路だけが起こすもの
- B割り込みは装置などの外部の要因で起こり、例外は命令の実行の結果として起こる
- C割り込みは処理のあとで元に戻れず、例外は必ず元の処理に戻れる
答えと解説を見る
正解:B. 割り込みは装置などの外部の要因で起こり、例外は命令の実行の結果として起こる
割り込みは、入出力装置の完了通知やタイマーなど、実行中の命令とは関係のない外部の要因で、いつ起こるか決まっていない(非同期の)ものです。例外は、ゼロ除算、不正な命令、ページフォルト、システムコールの命令など、特定の命令を実行した結果として起こる(同期の)ものです。どちらも割り込みハンドラで処理したあと元の処理に戻れることが多く、戻れるかどうかで分けるわけではありません。
- A. 発生源をソフトとハードで分ける説明は正しくありません。
- B. 正しい。外部要因の非同期な割り込みと、命令の結果の同期的な例外です。
- C. どちらも処理後に元に戻れることが多く、戻れるかで区別はしません。