第1種情報処理技術者試験 1997年度 = 平成9年度 午前 問26

 プロセスの状態は、実行、実行可能、待機の三つを基本と考えることができる。実行状態にあるプロセスがプリエンプションによって他のプロセスに実行を中断され、再び実行状態に戻るまでの状態遷移を表したものはどれか。

ア 実行 → 実行可能 → 実行
イ 実行 → 実行可能 → 待機   → 実行
ウ 実行 → 待機   → 実行
エ 実行 → 待機   → 実行可能 → 実行

解答



解説

 タスク管理の主目的は、複数のプログラムに対してCPUを割り当てるマルチプログラミングを行うことによって、CPUを効率よく利用することです。

 プロセスの状態および状態遷移は、以下のようになります。

実行(running)
 CPUを確保し、プログラムを実行している状態。

実行可能(ready)
 CPUが割り当てられればすぐプログラムを実行できる状態。

待機(wait)
 要求しているリソース、たとえば入出力機器が、空くのを待っているとか、メッセージが到達するのを待っているとか、何らかの待ち状態にあり、CPUを必要としていない状態。


実行可能状態から実行状態へ
 CPUスケジューラ(CPU scheduler)すなわちディスパッチャ(dispatcher)によって、CPUを割り当てられたとき

実行状態から実行可能状態へ
 より優先度の高いジョブに割り込まれたり、自分に割り当てられた時間すなわちクオンタム(quantum)が終了したとき

実行状態から待機状態へ
 プロセスが入出力動作を起動し、その完了を待たなくなければいけなくなったとき、何らかのリソースが必要となり、それが空くのを待たなければならなくなったとき  ※他の遷移と異なり、プロセス自らの操作によって生じる

待機状態から実行可能状態へ
 入出力動作が完了したり、他のプロセスの命令により待ち状態が解除されたとき

 実行状態のタスクは、自分に割り当てられたCPU時間が終了すると、待ち状態ではなく実行可能状態に移行しますので、が正解です。


BohYoh.comトップページへ