1

例えば、First-Come-First-ServeShortest Job FirstPriority SchedulingRound Robinのような異なるスケジューリングアルゴリズムについて読んだ場合、その尺度は平均待機時間です。CPUスケジューリングアルゴリズムの待機時間が重要な基準となるのはなぜですか?

実行時間が21,3,6,2(msecs)のプロセスを考えてみましょう。 First-Come-First-Serveの平均待機時間は(0 + 21 + 24 + 30)/ 4 = 18.75ミリ秒で、Shortest Job Firstは(0 + 2 + 5 + 11)/ 4 = 4.5msです。

Shortest Job Firstの方が良いですか?私は待機時間が最初のもので長いことを理解していますが、これは忙しく待っていない、CPUはタスクを実行中です。最初に21ミリ秒のタスクのように、最初にそれは他のものの隣に完了しています。それは、順序どんなにもタスクを完了するのに同じ量の時間を取るべきではありませんか?何か案は?

答えて

2

いいえ、はありません平均最短ジョブが最初に良いです、SJFは公正を犠牲にしてaverage waiting timeを最小化します。これらはすべて単なる測定値です。

シングルプロセッサシステムでは、同じ時間がかかります。

これは、システムの目的が何であるか、実行されるジョブの種類は何かにまで下がります。 2.6で

EDIT
実システムの一例として、実際のタスクのスケジューリングアルゴリズムは、高い平均sleepig時間を有していたプロセスに優先順位を与えSCHED_OTHERました。 (つまり、ほとんどの時間を過ごしていた仕事が何人かのI/Oを待っている)。応答時間を最小限に抑えたいと考えています。
そして、同じスライス時間を与えるRRとは異なり、システムはすべてのプロセスによってCPUを共有しました。

関連する問題