第2種情報処理技術者試験 2000年度 = 平成12年度・春期 午前 問33

 プロセスは、実行可能状態(ready)、実行状態(running)、待ち状態(wait)を遷移しながら実行される。プロセスの状態遷移に関する記述のうち、適切なものはどれか。

 ア  CPU処理と入出力処理が交互に現れるプロセスを複数個同時に実行させると、各プロセスは実行状態と待ち状態の二つの状態間だけを遷移する。
 イ  実行可能状態とは、CPUの割当てを待っている状態をいう。実行可能状態のプロセスは一般に複数個存在し、これらは待ち行列を形成する。
 ウ  時分割処理を行っているシステムでは、実行状態のプロセスは、一定時間が経過すると、待ち状態に遷移する。
 エ  マルチプログラミングシステムでは、CPUが1個でも、実行状態のプロセスは複数個存在する。

解答

 イ

解説

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

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

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

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

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


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

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

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

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


 実行可能状態が省かれていますので違います。

 正解です。

 時分割処理を行っているシステムでは、実行状態に《もち時間》が与えられますので、その時間が経過すると、実行状態のプロセスは実行可能状態に遷移しますので、違います。

 CPUが複数個存在するマルチプロセッサでは、実行状態となるプロセスの個数は(最大で)CPUの個数と一致します。たとえば、二つのCPUが存在するシステムでは、最大二つのプロセスが同時に実行状態となります。お医者さんが二人いれば、同時に二人の患者さんが診察を受けられますね。それと同じです。CPUが1個であれば、実行状態のプロセスは一つです。


BohYoh.comトップページへ