応用情報技術者試験 令和4年秋 午前問18 解説付き過去問
問題
優先度に基づくプリエンプティブなスケジューリングを行うリアルタイムOSにおける割込み処理の説明のうち、適切なものはどれか。
ここで、割込み禁止状態は考慮しないものとし、割込み処理を行うプログラムを割込み処理ルーチン、割込み処理以外のプログラムをタスクと呼ぶ。
正解
解説
この問題は、リアルタイムオペレーティングシステム(RTOS)における割込み処理の優先度とその実行順序について理解することを求めています。
- リアルタイムOSの特性
リアルタイムOSでは、タスクの実行は厳格なタイミング要件に従い管理されます。ここでの「タスク」とは、システムが実行するプログラムのことで、それぞれに優先度が割り当てられています。 - 割込み処理ルーチンの役割
割込み処理ルーチンは、外部やシステム内部からのイベントに対応するために特別に設計されたプログラムです。これにより、例えば外部デバイスからのデータ到着やタイマー満了などのイベントが発生した際に、即座に必要な処理が行われるようにします。割込み処理ルーチンはタスクよりも高い優先度で実行される必要があり、割込みが発生すると現在実行中のタスクを一時停止し、割込み処理を優先的に実行します。 - 優先度の管理とプリエンプション
RTOSでは、最も高い優先度を持つタスクが実行されるべき状況を保証しますが、割込み処理ルーチンはこの原則をさらに上回る優先度を持ちます。これにより、システムの応答性が保たれ、リアルタイム性が要求されるアプリケーションに適しています。割込み処理ルーチンがタスクよりも高い優先度で実行されることは、システムが外部のイベントに迅速に対応できることを意味します。
したがって、「割込み処理ルーチンは、最も優先度の高いタスクよりも優先して実行される」という選択肢が正解です。これにより、リアルタイムOSは最も緊急の処理を迅速に処理できる設計がされています。