正答3
解説
正解は3です。
図では、プロセスAの実行中に割込みが起き、OSの処理a、b、cを経て、プロセスBが実行状態になっています。
プロセスの切替え(コンテキストスイッチ)の手順を順に考えます。
【選択肢別解説】
1:× 最初に実行状態の回復を行うことはできません。
回復する相手のプロセスがまだ選ばれておらず、Aのレジスタ内容も退避されていません。
2:× 実行状態の回復をプロセスの選択より先に行っている点が誤りです。
どのプロセスを再開するかを決めてからでないと、回復はできません。
3:○ まずaで、割込まれたプロセスAのレジスタなどの実行状態を退避します。
次にbで、実行可能状態のプロセスの中から次に実行するプロセスBを選びます。
最後にcで、プロセスBの実行状態を回復し、Bを実行状態にします。
4:× プロセスの選択を最初に行っている点が誤りです。
Aの実行状態を退避する前にほかの処理を進めると、Aを正しく再開できなくなります。
【ポイント】
プロセスの切替えは「退避、選択、回復」の順です。
図でプロセスAが実行可能状態に移り、後で再開できるのは、aで実行状態が退避されているからです。