割込みハンドラとは?
割込みハンドラとは、割込み発生時に実行される処理ルーチン。タスクとは別の実行コンテキスト(多くは専用のスタックとモード)で動作し、原則としてタスクをブロックさせるようなAPI(待ちを伴うサービスコール)は呼べない。
エンベデッドシステムスペシャリスト試験の過去問では1回出題されています。
わりこみはんどら
割込みハンドラの意味
割込み発生時に実行される処理ルーチン。タスクとは別の実行コンテキスト(多くは専用のスタックとモード)で動作し、原則としてタスクをブロックさせるようなAPI(待ちを伴うサービスコール)は呼べない。
割込みハンドラの具体例
受信割込みではFIFOからデータを読み出してリングバッファへ積み、セマフォやイベントフラグでタスクへ通知するだけにとどめ、解析処理はタスク側で行う。
割込みハンドラは試験でどう引っ掛けられる?
ハンドラを長くすると他の割込みの応答が遅れる。処理を最小限にして残りをタスクへ回す「遅延処理」の考え方が定石。
割込みハンドラと関連する用語
割込みハンドラが出た過去問
リアルタイムシステムにおいて、アプリケーションタスクの要求によって入出力を行うデバイスドライバのタスク部が、要求された処理が完了したときに行う通知処理はどれか。
正解:イベントフラグを使って入出力要求元のタスクに入出力完了を通知する。
要点:完了通知はOSでなく要求元タスクへ同期機能で行う
デバイスドライバのタスク部は、割込みハンドラから処理完了を受け取ったあと、その事実を要求元のアプリケーションタスクへ知らせる必要がある。リアルタイムOSではイベントフラグやセマフォといった同期機能を使い、完了を待って待ち状態になっているタスクを実行可能状態へ戻す。通知の相手はOSやハードウェアではなく、あくまで待っているタスクである。
出典:平成28年度 春期 エンベデッドシステムスペシャリスト試験 am2 問7(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。