|
(4)タスクの状態遷移
先のスケジューラは実行可能になったタスク群の待ち行列からどのタスクを実行するかを決めています。タスクは実行中のタスクが待ちに入ったり、何らかのイベントが発生して待ちが解除され実行可能状態になったりと状態を動的に遷移しながら動作しています。OSは各タスク毎の状態を管理しています。基本は以下の3状態です。RUNNING状態はREADY状態のタスクの中から選択(ディスパッチ)された実行タスクの状態です。RUNNINGタスクが中断された場合(プリエンプトされた場合)READY状態に遷移します。シングルCPUではRUNNING状態のタスクは常に一つです。READY状態のどのタスクをRUNNINGにするかを決定するルールがスケジューリングです。μITRON
では休止状態、二重待ち状態や強制待ち状態など主に6状態を管理できます。
|