リアルタイム OS の割込み処理
出典: 令和4年度 秋期 応用情報技術者試験 午前 問18 (IPA)
優先度に基づくプリエンプティブなスケジューリングを行うリアルタイム OS における割込み処理の説明のうち,適切なものはどれか。ここで,割込み禁止状態は考慮しないものとし,割込み処理を行うプログラムを割込み処理ルーチン,割込み処理以外のプログラムをタスクと呼ぶ。
- ア タスクの切替えを禁止すると,割込みが発生しても割込み処理ルーチンは呼び出されない。
- イ 割込み処理ルーチンの処理時間の長さは,システムの応答性に影響を与えない。
- ウ 割込み処理ルーチンは,最も優先度の高いタスクよりも優先して実行される。
- エ 割込み処理ルーチンは,割り込まれたタスクと同一のコンテキストで実行される。
正解と解説を見る
正解: ウ
- ア: タスクの切替えを禁止しても、割込みそのものは受け付けられ、割込み処理ルーチンは呼び出されます (割込み禁止とは別です)。
- イ: 割込み処理ルーチンが長いと、その間タスクが実行できないので、システムの応答性が悪くなります。
- ウ: 割込み処理ルーチンは、最も優先度の高いタスクよりも優先して実行されるので正しい記述です。
- エ: 割込み処理ルーチンは、割り込まれたタスクとは別のコンテキストで実行されます。
ポイント
- 割込みが起きると、実行中のタスクの優先度にかかわらず、割込み処理ルーチンがどのタスクよりも先に 実行されます。
- その間はタスクが動けないので、割込み処理ルーチンはできるだけ短くするのが基本です。