応用情報技術者 2022年 秋期 午前2 問18
問題文
優先度に基づくプリエンプティブなスケジューリングを行うリアルタイム OS における割込み処理の説明のうち、適切なものはどれか。ここで、割込み禁止状態は考慮しないものとし、割込み処理を行うプログラムを割込み処理ルーチン、割込み処理以外のプログラムをタスクと呼ぶ。
選択肢
ア:タスクの切替えを禁止すると、 割込みが発生しても割込み処理ルーチンは呼び出されない。
イ:割込み処理ルーチンの処理時間の長さは、システムの応答性に影響を与えない。
ウ:割込み処理ルーチンは、 最も優先度の高いタスクよりも優先して実行される。(正解)
エ:割込み処理ルーチンは、割り込まれたタスクと同一のコンテキストで実行される。
優先度に基づくプリエンプティブなスケジューリングにおける割込み処理【午前2 解説】
要点まとめ
- 結論:割込み処理ルーチンは、最も優先度の高いタスクよりも優先して実行されるため、即時対応が可能です。
- 根拠:リアルタイムOSでは割込み処理が最優先であり、タスクの優先度に関係なく割込み処理が割り込む仕組みです。
- 差がつくポイント:割込み禁止状態を考慮しない場合、割込み処理ルーチンはタスクよりも常に優先される点を理解することが重要です。
正解の理由
選択肢ウは「割込み処理ルーチンは、最も優先度の高いタスクよりも優先して実行される」と述べています。リアルタイムOSのプリエンプティブスケジューリングでは、割込みが発生すると即座に割込み処理ルーチンが実行され、現在実行中のタスクの処理を中断します。これにより、システムは外部イベントに迅速に対応可能です。したがって、割込み処理ルーチンはタスクの優先度に関係なく最優先で実行されるため、ウが正解です。
よくある誤解
割込み処理ルーチンはタスクの一種であり、同じ優先度で実行されると誤解されがちです。また、割込み処理の処理時間が応答性に影響しないと考えるのも誤りです。
解法ステップ
- 割込み処理ルーチンとタスクの優先順位関係を確認する。
- プリエンプティブスケジューリングの特徴を理解する。
- 割込み禁止状態がない場合の割込み処理の動作を考慮する。
- 各選択肢の内容とリアルタイムOSの割込み処理の仕組みを照らし合わせる。
- 最も正しい説明を選択する。
選択肢別の誤答解説
- ア: タスクの切替え禁止はタスク間の切替えを制御するが、割込み禁止とは異なるため割込み処理ルーチンは呼び出されます。
- イ: 割込み処理ルーチンの処理時間が長いとシステムの応答性が低下し、リアルタイム性が損なわれます。
- ウ: 割込み処理ルーチンは最優先で実行されるため正解。
- エ: 割込み処理ルーチンは独立したコンテキストで実行され、割り込まれたタスクのコンテキストとは異なります。
補足コラム
リアルタイムOSでは、割込み処理ルーチン(ISR: Interrupt Service Routine)が最優先で実行されるため、外部イベントに対して迅速に応答できます。割込み禁止状態を設定しない限り、割込みは常に許可され、タスクの実行を中断します。割込み処理の設計では、処理時間を短く保つことがシステム全体の応答性向上に繋がります。
FAQ
Q: 割込み処理ルーチンはタスクと同じ優先度で実行されますか?
A: いいえ、割込み処理ルーチンはタスクよりも優先され、即座に実行されます。
A: いいえ、割込み処理ルーチンはタスクよりも優先され、即座に実行されます。
Q: 割込み禁止状態がない場合、割込みは常に処理されますか?
A: はい、割込み禁止状態がなければ割込みは発生次第処理されます。
A: はい、割込み禁止状態がなければ割込みは発生次第処理されます。
関連キーワード: プリエンプティブスケジューリング、割込み処理、リアルタイムOS, 割込み禁止、タスク切替え

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

