OSのプロセス(タスク)の状態のうち、入出力の完了を待っていた「待ち状態」のプロセスは、入出力が完了するとどの状態に移るか。
- ①実行可能状態
- ②実行状態
- ③終了状態
- ④待ち状態のまま
答えと解説を見る
プロセスは、主に次の3つの状態を遷移します。
・実行状態:CPUを割り当てられて実行している
・実行可能状態:CPUが空くのを待っている(いつでも実行できる)
・待ち状態:入出力の完了など、CPU以外の事象を待っている
入出力が完了すると、待ち状態のプロセスは実行可能状態に移り、CPUの割当てを待ちます。すぐに実行状態に移るわけではありません。
他の選択肢が不適切な理由
・実行状態:実行状態に移るのは、OSがCPUを割り当てた(ディスパッチした)ときです。待ち状態から直接は移りません。
・終了状態:プロセスの処理がすべて終わったときに移る状態です。
・待ち状態のまま:待っていた事象が起きたので、待ち状態は解除されます。
覚え方のポイント
「待ち→実行可能→(ディスパッチ)→実行」。待ち状態から実行状態へ直接移ることはない、という点がよく問われます。