タスクスケジューラ
概要
実行待ちのタスク群(プロセス)の中から、どのタスクを、どのくらいの期間、どのCPUで実行するか決定して、CPUにタスクを割り当てていく
シンプルなアルゴリズムではラウンドロビンなどがある
タスクの性質
CPUバウンド
IOバウンド
GUIのような応答性が重要なタスク
CFS
Completely Fair Scheduler
各タスクが実際にCPUで実行される時間を均一にすることをポリシーにしている
各タスクが実際にCPUで実行された時間を計測して累計時間をvruntime変数で管理する
vruntime値が小さいタスクを優先的に実行する
まだCPUであまり実行できていないタスクを優先する
タスクをキューではなく、赤黒木で管理している
参照