基本情報技術者 2017年 秋期 午前(科目A) 問10
問題文
外部割込みに分類されるものはどれか。
選択肢
ア:インターバルタイマによって、指定時間が経過したときに生じる割込み(正解)
イ:演算結果のオーバフローやゼロによる除算で生じる割込み
ウ:仮想記憶管理において、存在しないページへのアクセスによって生じる割込み
エ:ソフトウェア割込み命令の実行によって生じる割込み
外部割込みに分類されるものはどれか。【午前2 解説】
要点まとめ
- 結論:外部割込みはCPUの外部ハードウェアから非同期に発生する割込みで、タイマ割込みが該当します。
- 根拠:演算オーバーフローやゼロ除算、ページフォルト、ソフト割込みはCPU命令の実行に同期して発生する例外(内部割込み)です。
- 差がつくポイント:同期か非同期かで判定する。発生源が「外部装置(I/O/タイマ)」なら外部割込みと覚えてください。
正解の理由
タイマ割込みはハードウェアタイマ(周辺機器)が一定時間経過後に生成する信号で、CPUの命令実行タイミングに依存せず非同期的に発生します。したがって「外部割込み」に分類されます。外部割込みは一般に外部装置からの割込み要求であり、割込み発生の原因がCPU内部の例外(算術例外、ページフォルト、ソフトウェア割込み命令など)でないことが決め手です。
よくある誤解
- 「タイマはCPUの一部だから内部割込みだ」と考える誤り:タイマは通常周辺ハードウェアであり外部割込み扱いです。
- 「ページフォルトやゼロ除算もハードウェアの信号だから外部割込みだ」と混同する誤り:これらは命令実行に同期して発生する内部例外です。
- 「ソフトウェア割込み=割込みだから外部割込み」とする誤り:ソフト割込みはプログラム命令により同期的に発生するトラップです。
解法ステップ
- 各選択肢の発生源を確認する(外部装置かCPU内部か)。
- 発生タイミングが「命令実行に同期」か「非同期」かを判断する。
- 外部装置起因で非同期なら外部割込み、そうでなければ内部例外(トラップ/フォルト)と分類する。
選択肢別の誤答解説
- ア: インターバルタイマによって、指定時間が経過したときに生じる割込み
- 正解。ハードウェアタイマが非同期に発生させるため、外部(ハードウェア)割込みに該当します。
- イ: 演算結果のオーバフローやゼロによる除算で生じる割込み
- 誤り。これらは命令実行中に発生する算術例外で、CPU内部での同期イベントです(内部割込み)。
- ウ: 仮想記憶管理において、存在しないページへのアクセスによって生じる割込み
- 誤り。ページフォルトはメモリアクセス命令に同期して発生する例外(フォルト)で、内部例外に分類されます。
- エ: ソフトウェア割込み命令の実行によって生じる割込み
- 誤り。ソフトウェア割込み(INT命令やSYSCALL)はプログラム実行に伴う同期的なトラップで、外部割込みではありません。
補足コラム
- 「割込み(interrupt)」と「例外(exception/trap/fault)」の使い分けは文脈により異なりますが、OSやアーキテクチャの文献では「外部割込み=外部ハードウェア起因、例外=命令実行に同期して発生するもの」として区別します。
- タイマ割込みはタイムシェアリングOSでプロセススケジューリングやタイムアウト処理に不可欠で、非同期性(いつでも入る)が特徴です。
- マスク可能割込みと非マスク可能割込み、割込み優先度や割込みベクタの概念も押さえておくと上位問題で差がつきます。
FAQ
Q1: タイマ割込みは必ず外部割込みですか?
A1: 通常はハードウェアタイマからの非同期割込みで外部割込みに分類されます。実装によって内部タイマ例外として扱われる特殊例は稀です。
A1: 通常はハードウェアタイマからの非同期割込みで外部割込みに分類されます。実装によって内部タイマ例外として扱われる特殊例は稀です。
Q2: ソフトウェア割込みとシステムコールは同じですか?
A2: 概念的に近いですが、ソフト割込み命令は同期的な割込みを発生させる手段で、システムコールはそのための高レベル概念です。どちらも外部割込みではありません。
A2: 概念的に近いですが、ソフト割込み命令は同期的な割込みを発生させる手段で、システムコールはそのための高レベル概念です。どちらも外部割込みではありません。
Q3: 同期/非同期の見分け方は?
A3: 「そのイベントが特定の命令の実行と必ず一致するか」を基準にします。必ず一致する=同期(内部例外)、命令実行と無関係に発生する=非同期(外部割込み)。
A3: 「そのイベントが特定の命令の実行と必ず一致するか」を基準にします。必ず一致する=同期(内部例外)、命令実行と無関係に発生する=非同期(外部割込み)。
関連キーワード: 割込み、外部割込み、タイマ割込み、割込みと例外、同期・非同期、ページフォルト、ソフトウェア割込み、割込みハンドラ、割込みベクタ、マスク可能割込み

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

