タスク管理
タスクの状態を監視してCPUの割り当てを適切に行うことでマルチプログラミングの制御を行い,CPUの有効活用をすることである.
タスクには3つの状態がある.
実行可能状態
CPUが空けばいつでも実行できる状態.
タスクが生成されるとこの状態の待ち行列に登録される.
実行可能状態にあるタスクにCPUの割り当てを行うことをディスパッチと呼ぶ.
そのためのプログラムをディスパッチャと呼ぶ.
実行状態
CPU時間の割り当てがなされタスクが実行されている状態.
プリエンプションが発生すると実行可能状態に戻る.
プリエンプションの機能を有したOSをプリエンプティブマルチタスクOSと呼ぶ.
タイムクォンタムを使い切っても実行可能状態に戻る.
待ち状態
プログラムが入出力処理など他の作業に従事しており,その終了を待っている状態.
実行状態の間に入出力が必要な処理など,CPU以外の装置を用いる処理が発生すると待ち状態に入り,処理が完了すると実行可能状態に遷移する.