1

デフォルトで Linux カーネル (3.0+) で使用されるスケジューリング メカニズムはどれですか。
ビルド中に (menuconfig から) Deadline First や Round Robin などの他のメカニズムを選択できますか?
また、ラウンド ロビン メカニズムでは、カーネルでタイム スライスがどのように割り当てられ、使用されるのでしょうか。(タイムスライスは実行時に計算されますか?)

4

1 に答える 1

5

Linux は現在、CFS (完全公正スケジューラ) スケジューラを使用しています。これについては、カーネルのドキュメントで読むことができます。また、デフォルトで無効になっているリアルタイム スケジューラも含まれています。

非常に短い要約として、CFS は時系列の赤黒ツリーを維持します。このツリーでは、すべての実行可能なタスクが、CPU が既に実行した作業量 (ラップアラウンドを考慮して) によってソートされます。CFS は、完了した作業量が最も少ないタスクを選択し、「それに固執します」。詳細については、ドキュメントを参照してください。

于 2013-04-08T12:15:08.540 に答える