令和6年度 春期 応用情報技術者試験 午前 問16
テクノロジOS・ソフトウェアタスク管理・排他制御
ノンプリエンプティブ方式のタスクの状態遷移に関する記述として,適切なものはどれか。
解答・解説
正解: イ. 実行中のタスクが自らの中断をOSに要求することによってだけ,OSは実行中のタスクを中断し,動作可能な他のタスクを実行中に切り替えることができる。
ノンプリエンプティブ方式(非プリエンプティブ方式)とは、マルチタスクOSにおけるタスク管理方式の一つです。この方式では、OSが実行中のタスクからCPUの利用権を強制的に奪う(プリエンプション)ことはできません。
実行中のタスクが自らCPUを開放(OSにシステムコールを発行してI/O待ちになる、自発的に待機状態へ移行するなど)したときにのみ、他のタスクへCPUの利用権が切り替わります。
したがって、正解はイとなります。
各選択肢の解説
- ア:OSが優先度を操作して切り替えを防ぐわけではなく、システム全体の設計としてOSが強制的な切り替えを行えない仕組みとなっています。
- イ:正解。ノンプリエンプティブ方式では、実行中のタスクが自発的にCPUを解放(OSに中断を要求)したときにのみタスクの切り替えが発生します。
- ウ:OSが無限ループを検知して強制終了させるのはプリエンプティブ方式の特徴です。ノンプリエンプティブ方式ではOSが強制的に介入できないため、1つのタスクが無限ループに陥るとシステム全体が停止(フリーズ)してしまいます。
- エ:優先度の高いタスクが実行可能になった時点でOSが強制的にタスクを切り替えるのは、プリエンプティブ方式の特徴です。