コンピュータで最小の仕事の単位のことをタスク(TASK)という。
このタスクにCPUを時分割で割り当てることによって、効率的な処理が行われるようにする。
タスクのスケジューリングは、それぞれのタスクに割り振られた優先順位に従って行われる。
これによって、複数の競合し合う要求の均衡を保ち、システムの運用を円滑に進めることが
可能になる。
タスクの概念、タスクの構成要素、ジョブステップとの関係などを理解し、タスクの生成から
実行、消滅までの制御についての理解が必要となる。
タスクの状態遷移については、特に正確な理解が必要となる。
【タスク管理の目的】
タスク管理とは、マルチプログラミング実行時に与えられた複数のタスクとハードウェアの資源を
管理して、CPUを効率的に配分することにより、その複数のタスクを効率よく処理すること。
【タスクの状態遷移】
その効率の良い処理を行うために、3つの状態を定義して考えたのが、タスクの状態遷移になる。
タスクの状態遷移は下のようになっている。
┌────────┐
│ 起 動 │
└───┬────┘
│
│タスクが生成されると実行可能状態になる
↓
┌────────┐CPU使用権が与えられた┌────────┐
│ ├───────────→│ │
│ 実行可能状態 │ │ 実行状態 │
│ │←───────────┤ │
└────────┘実行優先度の高いタスクに└──┬───┬─┘
↑ CPU使用権が移された │ │
│ │ │
│ │ │
│ ┌────────┐ │ │
└──────┤ 待機状態 │←───┘ ↓
入出力が完了した └────────┘入出力 タスクの消滅
動作の 終了
完了を待つ
実行可能状態:タスクがいつでも実行できる状態(準備状態): ready
実行状態 :CPUの使用権が与えられ、現在実行している状態 : run
待機状態 :入出力などの完了を待っている状態 : wait