必ず受かる情報処理技術者試験

問題22

ポケットスタディ 基本情報午後・要点整理―即効!7つの知識 (情報処理技術者試験)

プロセスを、実行状態、実行可能状態、待ち状態、休止状態の四つの状態で管理するプリエンプティブなマルチタスク上で、A,B,Cの三つのプロセスが動作している。各プロセスの現在の状態は、Aが待ち状態、Bが実行状態、Cが実行可能状態である。プロセスAの待ちを解消する事象が発生すると、それぞれのプロセスの状態はどのようになるか。ここで、プロセスAの優先度が最も高く、Cが最も低いものとし、CPUは1個とする。

解答・解説を見る

解答:エ

マルチタスク管理機能においてタスク状態には、「待ち状態(Wait)」,「実行可能状態(Ready)」,「実行状態(Run)」がある。

待ち状態
先行タスクの入出力動作の完了を待っている状態
実行可能状態
実行準備が整っているものの,ほかの優先度の高いタスクが実行状態にあるため実行されていない状態
実行状態
CPUの使用権が割り当てられ実行されている状態

Aが待ち状態、Bが実行状態、Cが実行可能状態である。プロセスAの待ちを解消する事象が発生すると、

  • プロセスAは、待ち状態が解消されたので実行可能状態になる。このときプロセスBは実行状態にあるが、プロセスAよりも優先度が低いのでCPUの使用権がプロセスAに移り実行状態になる。
  • プロセスBは、実行状態にあるが、プロセスAよりも優先度が低いのでCPUの使用権がプロセスAに移り、実行可能状態になる。
  • プロセスCは、実行可能状態にあるが、プロセスA,プロセスBに比べて優先度が低いので状態は遷移せず実行可能状態のままとなる。
前の問題 次の問題

Copyrithg naruha