【資格の勉強】タスクスケジューリング

※当サイトはアフィリエイト広告を利用しています。商品を紹介し、収益を得ることがあります。

プリエンプティブ(優先度方式)のスケジューリングでは、各タスクに優先度をつけ、優先度の高いタスクから先に実行する。

あるタスクが実行している最中であっても、それより優先度が高いタスクが起動するとそのタスクを優先する。そして、実行中のタスクは、「実行可能状態」となり、CPUが割り当てられるのを待つことになる。

例えば、Bというタスクが実行中に、それより優先度が高いタスクAが実行状態になると、タスクBは実行中から「実行可能状態」になる。このとき、Bは「待ちの状態」にはならない。

「実行可能状態」とは、CPUで実行されるのを「待っている」状態。これはすぐにでもCPUで実行可能な状態のこと。スケジューラによりCPUが空けば即座に実行される。

一方、「待ち状態」とは、何かの処理が終わるのを「待っている」状態のこと。即座には実行できない状態を指す。待ち状態が終わったら、「実行可能状態」になる。

コメント