基本情報 2022 サンプル問題 問10:テクノロジ系に関する問題
外部割込みの原因となるものはどれか。
- aゼロによる除算命令の実行
- b存在しない命令コードの実行
- cタイマーによる時間経過の通知正答
- dページフォールトの発生
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは c「タイマーによる時間経過の通知」 です。
「割込み」というのは、CPUがある仕事をしている最中に 「ちょっと! 急ぎの用事があるよ!」 と横から声をかけられること。
割込みには2種類あって:
- 外部割込み: CPUの外(タイマー、キーボード、ネットワーク、HDDなど)から声がかかる
- 内部割込み: CPUが今やってる計算の中で起きる事故(ゼロで割っちゃった、ない命令を実行した等)
c「タイマーによる時間経過の通知」は、CPUの外にあるタイマー回路が「○秒経ったよ!」と知らせるので 外部割込み に該当。
ほかの選択肢:
- a「ゼロで割算」、b「存在しない命令」、d「ページフォールト」はどれも CPUが命令を実行中に発生する事故 = 内部割込み。
👉 覚え方: 「外=ハードからのお知らせ」「内=実行中の事故」。
なぜこれが正解か
正解は c。割込みは発生源により2種類に分類される:
- 外部割込み(ハードウェア割込み): CPU 外部から発生。タイマー、キーボード/マウス、ディスク I/O 完了、ネットワーク到着、電源異常など。
- 内部割込み(例外): CPU が命令実行中に発生。ゼロ除算、不正命令、ページフォールト、特権命令違反、システムコール等。
タイマー割込み はハードウェアタイマー回路が一定時間ごとに信号を出すため 外部割込み。OS のプロセス切替(タイムスライス)はこのタイマー割込みを契機に行われる。
各選択肢の解説
- a ゼロ除算 → 内部割込み(算術例外)
- b 存在しない命令 → 内部割込み(不正命令例外)
- d ページフォールト → 内部割込み(メモリ例外)
覚え方・ひっかけ注意
判定の決め手は 「発生源が CPU 外か内か」:
- 「I/O 完了通知」「入力」「タイマー」「電源異常」 → 外部
- 「実行で発生」「違反」「命令の結果」 → 内部
ページフォールトは「メモリ」と聞くとハード的に見えるが、CPUが命令実行中にMMUで検出されるため 内部割込み。これが頻出ひっかけ。
割込みの詳細分類
試験標準では次の階層:
- 外部割込み: マスカブル(IRQ、PIC/APIC経由) / ノンマスカブル(NMI、電源異常等の致命的事象)
- 内部割込み(例外): フォールト(命令再実行可、例: ページフォールト) / トラップ(次命令から再開、例: syscall) / アボート(復旧不能、例: マシンチェック)
タイマー割込みの実装
x86 では PIT(8254), HPET, 現代は APIC タイマー を使用。Linux は旧来100Hz、現在は ティックレスカーネル が主流で省電力と両立。RTOS ではマイクロ秒精度でリアルタイム性を保証。
割込み処理の流れ
1. デバイスが割込み信号をアサート
2. CPU が現命令完了後にレジスタ/PSW を退避
3. IDT(Interrupt Descriptor Table) から ISR アドレスを取得
4. ISR 実行
5. iret 命令で PSW 復元、元処理に復帰
性能最適化
- Top half / Bottom half: 割込み処理中はスリープ不可なので最小処理に限定し、重い処理は softirq/tasklet/workqueue に委譲。
- Interrupt Coalescing: 高速 NIC で複数パケットをまとめて1回の割込みで処理し、CPU負荷削減。
- MSI/MSI-X: PCIe デバイスはメモリ書込み形式で割込み通知し、INTx 信号線競合を解消。
試験での位置づけ
ハードウェア・OS 領域の頻出単元。基本情報技術者試験では種類判定 + 処理の流れが定番。応用情報以降では優先度制御、ネスト割込み、リアルタイムOS、ARM Cortex-M の NVIC など具体的アーキテクチャまで踏み込む。
選択肢の発展補足
- システムコール: ユーザ→カーネル遷移の正規ルート。x86 では `syscall`/`sysenter` 命令で内部割込みとして発生。
- DMA との関係: DMA 完了通知は外部割込みで CPU に伝わる。CPU は転送中も他処理を継続でき、I/O 性能向上の鍵。
- 割込み優先度(IPL): 高優先割込みは低優先処理を中断してネスト処理される。
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 2022 サンプル問題 問10/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。