[0066] タスク管理

平成11年度秋期 (旧)第2情報処理技術者試験より
図はプロセスの状態と遷移を表している。a,b,cの状態の正しい組合せはどれか。



正解

解説

 タスク管理に関する問題です。

 タスク管理は主記憶上の複数のタスクの中からひとつのタスクを選び、CPUタイムを与えて処理を実行させます。それぞれのタスクは、実行状態、実行可能状態、待機状態(事象待ち状態)といった状態を取りながら処理されていきます。


    実行状態: タスクがCPUを占有し、処理を実行している状態
    実行可能状態: 実行準備が完了しており、CPUの割り当てを待っている状態
    待ち状態: 実行状態だったタスクが入出力などにより待機している状態

それでは、タスクがどのようにして処理実行されていくか順を追ってみてみましょう。



(1)
生成されたタスクは、実行可能状態になります。

(2)
実行可能状態のタスクは、ディパッチャと呼ばれるタスク管理プログラムによって、優先度の高いものから実行状態へ移されます。 実行状態のタスクは、CPUタイムが与えられ、処理を実行することができます。

(3)
実行状態のタスクは、割り当てられたCPUタイムが終了するか、より優先度の高いタスクにより強制的に処理を中断され、実行可能状態に移ります。 このように、タスクの実行を中断することをプリエンプションといいます。

(4)
実行状態のタスクは、入出力処理の発生によりCPUの使用権を破棄し、待機状態になります。 入出力処理はCPU処理に比べ時間がかかる処理なので、その待ち時間を他のタスクのために利用してもらいます。

(5)
待機状態のタスクは、(入出力処理待ちなど)待ちの原因となった事象が終了すると、実行可能状態に移されます。

(6)
タスクの実行が終了すると、タスクは消滅します。 このとき、タスクが使用していた資源は解放されます。


 上記の状態遷移図を、それぞれタスクの観点から見てみましょう。 たとえば、A,B,Cという3つのタスクがあった場合は、主記憶上で以下のような状態を取りながら処理の実行を進めていくことになります。



 以上より、ウが正解となります。
※ 解説の内容は執筆時点のものであり,含まれている情報の正確性,妥当性について保証するものではありません。ご注意ください・・・

関連する(かもしれない)問題