タスクスケジューリング

1個のCPUでタスクを同時に実行するには、1つのタスクがCPUを独占することのないように、システムが各タスクのCPU使用時間を細かく切り替えながら処理すをすすめます。主なタスク切替方式として、ラウンドロビン方式と優先順方式があります。

 

ラウンドロビン方式

各タスクに一定のCPU使用時間を均等に割り当て、順番に切り替えていく方式

 

優先度順方式

各タスクに優先度を設け、優先度の高いタスク順にCPUを使用する方式。

 

ラウンドロビンや優先度順では、CPUを使用するタスクをOS側が管理し、CPUを使用中のタスクを強制的に切り替えます。このようなスケジューリング方式をプリエンティブといいます。

一方、CPUを使用中のタスクが終了するか、自分から他のタスクに譲るまで処理を中断できない方式をノンプリエンティブといいます。