戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

基本情報技術者 2019年 秋期 午前(科目A) 問13


問題文

メイン処理、及び表に示す二つの割込みA,Bの処理があり、多重割込みが許可されている。割込みA,Bが図のタイミングで発生するとき、0ミリ秒から5ミリ秒までの間にメイン処理が利用できるCPU時間は何ミリ秒か。ここで、割込み処理の呼出し及び復帰に伴うオーバヘッドは無視できるものとする。
基本情報技術者 2019年 秋期 午前(科目A) 問13の問題画像

選択肢

ア:2(正解)
イ:2.5
ウ:3.5
エ:5

🔒 解説は解答すると表示されます

多重割込みのプリエンプト【午前解説】

正解の理由

多重割込みが許可されており、割込み A は B より優先度が高いので、B の処理中に A が発生すると B は中断され、A の処理が先に行われます。図の発生タイミングは、B が0ミリ秒と5ミリ秒、A が1ミリ秒・2.5ミリ秒・3.5ミリ秒です。0〜5ミリ秒の CPU の使われ方を時系列で追うと、次のようになります。
時間(ミリ秒)実行される処理
0〜1B(1ミリ秒分。残り0.5ミリ秒)
1〜1.5A(B は中断)
1.5〜2B の残り(ここで B が完了)
2〜2.5メイン処理
2.5〜3A
3〜3.5メイン処理
3.5〜4A
4〜5メイン処理
メイン処理が利用できる時間は ミリ秒です。したがって正解は ア です。

解法ステップ

  1. 図から各割込みの発生時刻を読む(A:1, 2.5, 3.5ミリ秒、B:0, 5ミリ秒)。
  2. 優先度の高い A は B を中断して実行されることに注意して、時系列に並べる。
  3. 0〜5ミリ秒のうち、割込み処理が使う時間を合計する:B 1.5ミリ秒 + A 0.5 × 3 = 3ミリ秒。
  4. メイン処理の時間は ミリ秒。
(5ミリ秒に発生する B の処理は、0〜5ミリ秒の区間には入りません。)

選択肢別の誤答解説

  • ア: 2(正解)
    割込み処理の合計3ミリ秒を5ミリ秒から引いた値です。
  • イ: 2.5
    A の発生を2回と数えたり、B の処理時間を1ミリ秒と考えたりすると出る値です。
  • ウ: 3.5
    B の処理(1.5ミリ秒)を数えず、A だけを引くと になります。
  • エ: 5
    割込みの処理時間をまったく考えない値です。

よくある誤解

  • 図の目盛りを1ミリ秒間隔と思い込み、A の発生時刻を 1, 2, 3, 4 ミリ秒と読む誤り。図の点線は0.5ミリ秒間隔で、A は 1, 2.5, 3.5 ミリ秒に発生しています。
  • 多重割込みでは、優先度の高い割込みが低い割込みの処理を中断します。中断された B は A の後に残りを実行するので、B の処理時間(1.5ミリ秒)は全部数えます。

補足コラム

  • 本問のように呼出し・復帰のオーバヘッドを無視する場合、メイン処理の時間は「区間の長さ − 区間内で実行される割込み処理時間の合計」で求められます。ただし、区間の終わりまでに終わらない割込み処理がある場合は、その分を区間内の時間だけ数えます。
  • 時系列の表を書くと、中断・再開の順序を取り違えにくくなります。

FAQ

Q. 5ミリ秒ちょうどに発生する B は数えないのですか?
A. 5ミリ秒に発生した B の処理は5ミリ秒以降に行われるので、0〜5ミリ秒の区間のメイン処理の時間には影響しません。
Q. A と B が同時に発生したらどうなりますか?
A. 優先度の高い A が先に処理され、B は A の終了後に処理されます。

関連キーワード: 割込み、多重割込み、割込み優先度、プリエンプション、CPU時間
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

基本情報技術者を
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について