平成27年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問9
テクノロジ/ソフトウェア多重割込みを処理するリアルタイムOSの割込みハンドラの説明として,適切なものはどれか。
出典:平成27年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問9
- ア処理の中断を極力避けるために,先頭で一時的に割込みを可能にした後は割込み禁止状態で処理を行う。
- イ先頭でタイマを設定し,一定期間は割込み禁止状態にして処理を行う。
- ウタスクで行う処理を少なくするために,割込みに起因する多くの処理は割込み可能状態にしたまま,割込みハンドラの中で行う。
- エ割込み禁止状態での処理を極力減らして,割込み可能状態で動作する。
正解:エ
解説
リアルタイムOSにおける割込みハンドラでは,割込みへの応答性(他の割込みを受け付けられるかどうか)を高めるために,割込みを禁止する期間をできるだけ短くし,割込み可能な状態で動作する時間を長く保つように設計することが基本原則です。割込みハンドラの中で長時間割込みを禁止したまま処理を続けると,その間に発生した他の割込み(優先度の高い割込みも含む)への応答が遅れてしまい,リアルタイム性を損なうおそれがあります。そのため,割込みハンドラでは必要最小限の処理(レジスタの退避やハードウェアの状態確認など)だけを割込み禁止状態で行い,残りの処理はできるだけ割込み可能状態で行うか,あるいはタスク側に引き継ぐ設計が求められます。
選択肢ごとの解説
- ア誤り。処理の中断を極力避けるために先頭で一時的に割込みを可能にした後は割込み禁止状態で処理を行うという記述は,割込み禁止状態での処理時間をむしろ長くするものであり,リアルタイムOSの割込みハンドラの設計方針として適切ではありません。
- イ誤り。先頭でタイマを設定し,一定期間は割込み禁止状態にして処理を行うという記述も,割込み禁止状態を長く保つことになり,他の割込みへの応答性を損なうため適切ではありません。
- ウ誤り。割込みに起因する多くの処理を割込みハンドラの中で割込み可能状態のまま行うと,ハンドラ自体の処理時間が長くなり,同じ要因による多重割込みの制御や優先度制御が複雑になるおそれがあるため,適切な説明とはいえません。
- エ正しい。割込みハンドラでは,割込み禁止状態での処理を必要最小限に減らし,できるだけ割込み可能状態で動作させることによって,他の割込みへの応答性を高めることができます。