正答2
解説
正解は2です。
プロセス(タスク)の3つの状態と、その遷移の要因を問う問題です。
図には実行状態、実行可能状態、待機状態があり、次の4本の矢印が描かれています。
①は実行状態から実行可能状態へ、②は実行可能状態から実行状態へ向かう矢印です。
③は実行状態から待機状態へ、④は待機状態から実行可能状態へ向かう矢印です。
【選択肢別解説】
1:× ①を「CPU使用権が与えられた」としていますが、①は実行状態から実行可能状態への遷移です。
CPU使用権が与えられると実行可能状態から実行状態に移るので、これは②の要因です。
③と④の要因も逆になっています。
2:○ ①は、実行中のプロセスより優先度の高いプロセスにCPU使用権が移され、実行可能状態に戻る遷移です。
②は、CPU使用権が与えられ、実行可能状態から実行状態に移る遷移です。
③は、入出力などのイベントの完了を待つために、実行状態から待機状態に移る遷移です。
④は、イベントが完了し、待機状態から実行可能状態に移る遷移です。
3:× ①に「イベントが完了した」を当てていますが、イベント完了は待機状態からの遷移の要因です。
実行状態から実行可能状態への遷移の要因ではありません。
4:× ①に「イベントの完了を待つ」を当てていますが、これは実行状態から待機状態に移る③の要因です。
④に「CPU使用権が与えられた」を当てていますが、待機状態から直接実行状態にはなりません。
【ポイント】
待機状態のプロセスは、イベントが完了するといったん実行可能状態に戻り、CPUの割当てを待ちます。
待機状態から直接実行状態へ移る遷移はないことを押さえておきます。