令和3年度 春期 応用情報技術者試験 午前 問17
テクノロジOS・ソフトウェア組込み・IoTタスク管理・排他制御
リアルタイムOSにおいて,実行中のタスクがプリエンプションによって遷移する状態はどれか。
解答・解説
正解: イ. 実行可能状態
プリエンプション(Preemption) とは、リアルタイムOSなどのマルチタスクOSにおいて、OSが実行中のタスクから強制的にCPUの利用権を奪い、より優先順位の高い他のタスクにCPUを割り当てる制御のことです。
実行中のタスクがプリエンプションによってCPUを奪われると、タスクの実行は一時中断されますが、再びCPUが割り当てられればいつでも実行を再開できる状態になります。したがって、遷移先は 実行可能状態(Ready状態)となります。
各選択肢の解説
- ア(休止状態)
タスクがまだ生成・登録されていない、または実行が完了して再び起動されるのを待っている状態です。プリエンプションによる遷移先ではありません。 - イ(実行可能状態)
正解です。 実行に必要なリソース(メモリなど)は確保しており、あとはCPUの割り当てを待つだけの状態です。プリエンプションによって中断されたタスクはこの状態に遷移します。 - ウ(終了状態)
タスクの処理が完了し、OSにリソースを返却して消滅する直前の状態です。プリエンプションによる遷移先ではありません。 - エ(待ち状態)
タスクが実行中に、入出力処理の完了や他タスクとの同期、リソースの空きなどを待つ必要が生じ、自発的にCPUの利用権を手放した状態です。OSによる強制的な中断(プリエンプション)による遷移先ではありません。