ディスパッチ
タスクのディスパッチとは
ディスパッチ(英:dispatch)とは、複数のタスクを同時に実行するマルチタスク(マルチプログラミング)に対応したOSの制御機能のひとつで、実行可能状態のタスクの中から次に実行すべきタスクを選択してCPUの使用権を割り当てることです。
そして、ディスパッチを行うプログラムをディスパッチャ(英:dispatcher)といいます。
タスクの状態遷移
タスクとは、コンピュータが処理する作業の最小単位のことです。コンピュータの頭脳である「CPU」がタスクを処理します。
生成されたタスクには次の3つの状態があります。
状態 | 説明 |
実行可能状態(READY) | CPUの使用権が回ってくれば、いつでも実行できる状態。 |
実行状態(RUN) | CPUの使用権が与えられ、実行中の状態。 |
待機状態(WAIT) | 入出力処理が発生したので、その終了を待っている状態。 |
そして、タスクは次の図のように遷移します。
タスクが生成されたら「実行可能状態」となり「実行可能状態」のタスクにCPUの使用権を割り当てて「実行状態」にすることをディスパッチといい、逆に「実行状態」のタスクを一旦停止して「実行可能状態」に戻すことをプリエンプション(英:preemption)といいます。
「実行状態」のタスクの処理が終了したらタスクは消滅、タスク実行中に入出力処理が発生したら「待機状態」となり、入出力処理が終わり次第「実行可能状態」に遷移し再度CPUの使用権が与えられるのを順番待ちします。
helpful
この記事は役に立ちましたか?