ソフトウェア
プロセスの状態遷移において、「実行可能状態(Ready状態)」から「実行状態(Running状態)」への遷移が起きる原因として適切なものはどれか。
ア.プロセスがI/O待ちになったため、CPUを手放した。
イ.OSスケジューラにCPUを割り当てられた(ディスパッチされた)。正解
ウ.要求していたI/Oが完了し、実行再開の準備が整った。
エ.タイムスライスが切れ、他のプロセスにCPUを譲った。
解説
プロセスの状態遷移は「待合室→診察室→検査待ち」のような病院の流れ。Ready状態は「名前を呼ばれ待ち」で、RunningはCPUという「診察台」に乗ったときです。
なぜ イ が正解か
プロセスの主な状態と遷移: ① 生成(New)→ 実行可能(Ready): プロセス生成完了 ② 実行可能(Ready)→ 実行(Running): スケジューラがCPUを割り当て(ディスパッチ)← ここ! ③ 実行(Running)→ 実行可能(Ready): タイムスライス切れ(プリエンプション) ④ 実行(Running)→ 待機(Waiting/Blocked): I/O要求や資源待ち ⑤ 待機(Waiting)→ 実行可能(Ready): I/O完了や資源解放 よってReady→Runningは「スケジューラによるCPU割り当て(ディスパッチ)」が正解です。
出典: AI生成問題(学習用)