令和4年度 秋期 午前 問18
ソフトウェア
リアルタイムOSに関する問題
優先度に基づくプリエンプティブなスケジューリングを行うリアルタイム OS における割込み処理の説明のうち,適切なものはどれか。ここで,割込み禁止状態は考慮しないものとし,割込み処理を行うプログラムを割込み処理ルーチン,割込み処理以外のプログラムをタスクと呼ぶ。
- アタスクの切替えを禁止すると,割込みが発生しても割込み処理ルーチンは呼び出されない。
- イ割込み処理ルーチンの処理時間の長さは,システムの応答性に影響を与えない。
- ウ割込み処理ルーチンは,最も優先度の高いタスクよりも優先して実行される。
- エ割込み処理ルーチンは,割り込まれたタスクと同一のコンテキストで実行される。
答えと解説を見る
✓ これが正解ウ割込み処理ルーチンは,最も優先度の高いタスクよりも優先して実行される。
解説
割込み処理はどのタスクよりも先に走ります。
設問は、優先度に基づいて実行中のタスクを切り替えられるリアルタイム OS における、割込み処理の説明を選ばせています。軸になるのは、割込み処理とタスクが同じ土俵にいないという点です。タスクの実行順は OS が優先度を見て決めますが、割込みはハードウェアからの通知を受けて、その仕組みを経ずに直ちに実行されます。したがって、どれほど優先度の高いタスクが動いていても、割込み処理はそれより先に実行されます。正解は、割込み処理ルーチンは最も優先度の高いタスクよりも優先して実行されるという記述です。この関係があるからこそ、割込み処理は短く保ち、重い仕事は優先度の高いタスクへ引き渡す作りにします。
ほかの選択肢はなぜ違うのか
- アタスクの切替えを禁止すると,割込みが発生…:タスクの切替えを止める操作は、タスクの実行順を決める仕組みに対する指示です。通知を受け付けるかどうかは別の指定で決まり、設問はそれを考えないと断っています。
- イ割込み処理ルーチンの処理時間の長さは,シ…:割込み処理が走っている間、タスクはいずれも待たされます。処理が長引くほど応答が遅れるので、長さが応答性に関わらないという記述は成り立ちません。
- エ割込み処理ルーチンは,割り込まれたタスク…:割込み処理は専用の実行の文脈で走り、割り込まれたタスクの環境をそのまま引き継ぐわけではありません。そのため、待ち状態に入る操作を割込み処理の中では使えません。
出典:令和4年度 秋期 応用情報技術者試験 午前 問18
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)