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

エンベデッドシステムスペシャリスト 2012年 午前2 問11


問題文

多重割込みを処理するリアルタイムOSの割込みハンドラ処理として、適切なものはどれか。

選択肢

ア:処理の中断を極力避けるために、先頭で一時的に割込みを可能にした後は割込み禁止状態で処理を行う。
イ:先頭でタイマを設定し、一定期間は割込み禁止状態にして処理を行う。
ウ:タスクで行う処理を少なくするために、割込みに起因する多くのタスク処理も割込み可能状態にしたまま割込みハンドラの中で行う。
エ:割込み禁止状態での処理を極力減らして、割込み可能状態で動作する。(正解)

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

多重割込みと割込みハンドラ【午前2解説】

正解の理由

多重割込みを扱うリアルタイムOSでは、割込みハンドラの処理中にも、より優先度の高い割込みを受け付けられるようにすることが重要です。そのため、割込み禁止状態で処理する区間をできるだけ短くし、通常は割込み可能状態で動作させます。
この考え方に合うのはエです。割込み禁止状態が長く続くと、高優先度の割込みへの応答が遅れ、リアルタイム性が損なわれます。

解法ステップ

  1. 多重割込みでは、ある割込みの処理中に、さらに別の割込みが発生し得ると確認します。
  2. 高優先度の割込みにすばやく応答するには、割込み禁止状態を長く続けない必要があります。
  3. 割込み禁止状態での処理を極力減らすエが適切だと判断します。

選択肢別の誤答解説

  • ア:割込みを一時的に可能にした後、割込み禁止状態で処理するため、割込み禁止区間が長くなるおそれがあります。多重割込みへの応答性を高める考え方とは逆です。
  • イ:タイマを設定して一定期間割込みを禁止しても、ほかの割込みへの応答を遅らせてしまいます。割込み禁止期間を設けること自体が目的ではありません。
  • ウ:割込みハンドラ内で多くのタスク処理を行うと、ハンドラの実行時間が長くなり、ほかの割込みへの応答が遅れる可能性があります。時間のかかる処理は、タスクに委ねるのが基本です。
  • エ:割込み禁止状態で処理する時間をできるだけ短くし、割込み可能状態で動作します。多重割込みへの応答性を確保する方法です。

よくある誤解

  • 「割込みハンドラは、処理中ずっと割込み禁止にする」
    割込み禁止が必要な短い区間はありますが、全体を禁止状態にするのは応答性を損ねます。
  • 「割込みハンドラ内で処理を完結させれば効率的」
    処理を詰め込みすぎるとハンドラが長時間実行され、ほかの割込みやタスクの実行に影響します。
  • 「割込み可能状態なら、どの割込みも同時に処理される」
    割込み可能でも、優先度やOSの制御によって処理順序が決まります。多重割込みでは、優先度の高い割込みを優先して処理する仕組みが重要です。

補足コラム

割込みハンドラでは、割込み発生の記録や最小限の状態確認など、短時間で済む処理を行います。時間のかかる処理はタスクに引き継ぐことで、割込みハンドラの実行時間を短く保ちます。
ただし、共有データの更新など、処理の一貫性を守る必要がある部分では、一時的に割込みを禁止する場合があります。その場合も、禁止する区間は必要最小限にします。

FAQ

Q. 多重割込みとは何ですか?
A. 割込みハンドラの実行中に、別の割込みを受け付けて処理することです。一般に、より優先度の高い割込みを優先できるようにします。
Q. 割込み禁止状態は使ってはいけないのですか?
A. 使ってはいけないわけではありません。共有データの保護などに必要な場合がありますが、禁止時間が長いほど割込みへの応答が遅れるため、短くする必要があります。
Q. なぜ重い処理をタスクに任せるのですか?
A. 割込みハンドラを短時間で終了させ、ほかの割込みやタスクが処理できるようにするためです。

関連キーワード: 多重割込み、割込みハンドラ、割込み禁止状態、割込み優先度、リアルタイムOS、タスク処理
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

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

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