割込みは、イベントに応じてCPUの処理を切り替える仕組みです。作業中に通知を受け、必要な対応をするイメージで考えましょう。元の処理を必ず破棄するわけではありません。
1.基本の処理順を図で追う

必要な状態を保存し、原因に応じたハンドラを実行します。復帰できる場合は状態を復元して再開します。割込み受付けや保存内容はCPU・OSの仕様によって異なります。
2.発生原因を比較する
| 例 | 考えるポイント |
|---|---|
| I/O完了・タイマーなど | 装置からの非同期の通知 |
| ゼロ除算・不正命令など | 実行した命令に起因する同期的な例外 |
| OS呼出し等 | ソフトウェアが明示的に要求する処理 |
試験教材では内部割込み・外部割込みなどの分類を使いますが、用語の範囲はアーキテクチャによって違います。すべてを「CPUの外から来る緊急要求」とは覚えないでください。
3.ポーリングやDMAとの関係
ポーリングは状態を繰り返し確認する方法、割込みはイベントを通知する方法です。頻度や処理の設計に応じて使い分けます。DMAでデータを転送し、完了を割込みで通知することもできます。
理解を確かめる確認問題
外部装置に関わる通知の例は、キーボード入力の通知とゼロ除算のどちらでしょうか。
解答・解説を見る
キーボード入力の通知です。ゼロ除算は実行した命令に起因する例外として整理します。
まとめ:原因と処理の流れを対にする
何が起き、どの処理へ移るのかを確認すると、分類だけの暗記を避けられます。

コメント