公正なスケジューリングで新しいプロセスを処理する方法

公正なスケジューリングで新しいプロセスを処理する方法

私は現在、CFS(Completely Fair Scheduling)を理解しようとしていますが、誤って理解できないことがわかりました。たとえば、見てみましょう。

  • バックグラウンドで実行されているプロセス(たとえば、何かを追跡)があります。優先順位は0です。
  • 1時間後に同じ優先順位で2番目のプロセスを開始します。

私の質問は、秒の初期化後に最初のプロセスがどのように実行される可能性があるかということです。最初に述べたプロセスがmin_vruntimeその時点に存在しないと仮定します。この場合、vruntime2番目のプロセスはvruntime最初のプロセスよりも常に低いようです。どちらも同じ優先順位を持つため、プロセス2は常にRBツリー内の最初のプロセスよりも優先されます。

どうやらそのようには機能しませんか?それでは、私が何を見逃しているのでしょうか?

ベストアンサー1

おすすめ記事