3.2 タスク状態モデル
本節では、タスクの状態と状態間の遷移について説明する。
プロセッサはいつでもタスクの1つの命令しか実行できないので、タスクは複数の状態間で変更する必要があるが、同時に複数のタスクがプロセッサを奪い合う場合がある。オリジナルOS(マイクロ・カーネル)は、必要に応じて、タスクの状態遷移とともにタスク・コンテキストを保存および復元する。
タスクは、以下の4状態を取る。
RUNNING 状態
RUNNING状態では、CPU がタスクに割り当てられ、その命令を実行できるようになる。どの時点でもこの状態にできるタスクは1つだけであるが、他のすべての状態は複数のタスクで同時に採用できる。
READY 状態
実行状態に移行するためのすべての機能的な前提条件が存在し、タスクはプロセッサの割り当てを待機するだけである。スケジューラは、次に実行されるREADY タスクを決定する。
WAITING 状態
タスクは、少なくとも1つのイベントを待機するため、実行を継続できない。
SUSPENDED 状態
SUSPENDED 状態では、タスクは受動的であり、アクティブにできる。
コメント
最新を表示する
NG表示方式
NGID一覧