正答2
解説
正解は2です。
プリエンプションとは、実行中のタスクを、OSが強制的に中断させて実行権を取り上げることです。
より優先度の高いタスクが実行可能になったときなどに発生します。
リアルタイムOSのタスクは、主に実行状態、実行可能状態、待ち状態、休止状態の間を遷移します。
【選択肢別解説】
1:× 休止状態は、タスクが起動されていない、又は処理を終えて停止している状態です。
プリエンプションで中断されたタスクは処理の途中なので、休止状態にはなりません。
2:○ プリエンプションで実行権を奪われたタスクは、CPUさえ割り当てられればすぐに再開できる状態です。
そのため実行可能状態に遷移し、再びCPUが割り当てられるのを待ちます。
3:× 終了状態は、タスクが処理を完了した状態です。
プリエンプションは処理を一時中断させるだけで、タスクを終わらせるものではありません。
4:× 待ち状態は、入出力の完了やイベントの発生など、CPU以外の条件を待っている状態です。
プリエンプションされたタスクはCPU以外の条件を待っていないので、待ち状態にはなりません。
【ポイント】
実行状態から待ち状態へは、タスクが自ら入出力などを要求したときに遷移します。
実行状態から実行可能状態へは、プリエンプションやタイムスライスの終了で遷移します。