2017-03-21 1 views
1

マルチレベルフィードバックでは、基本レベルキューでスケジューリングが完了し、システムから離れるまでラウンドロビン方式で循環します。基本レベルキューのプロセスは、先着順にスケジュールすることもできます。 アルゴリズムの平均性能を向上させるように見えるFirst Come First Serve(FCFS)アルゴリズムの代わりに、SJF(Shortest Job First)アルゴリズムでスケジューリングできないのはなぜですか?マルチレベルフィードバックスケジューリングの最終レベルでFCFSの代わりに最短ジョブファースト(SJF)アルゴリズムが使用されない理由

+0

SJFは一般に、実行時に各ジョブがどれぐらいの時間を取るかを示すためのオラクルを必要とするため、実際のOSでは実用的ではありません。 –

+0

質問は無料です。 –

答えて

0

一つの簡単な理由:彼らはより高いレベルのキューにそれらにallotedタイムクォンタムで終了に失敗した後

プロセスは、基本レベルのキューに落ちます。基本レベルのキューにSJFアルゴリズムを実装すると、処理が遅くなることがあります。これは、より長い実行プロセスでCPUが取得される前にジョブが短時間継続する可能性があるためです。

0

SJFアルゴリズムは、プロセスがそのバースト時間に多くの異なった場合にのみ、より多くのスループットを提供します。しかし、必ずしもそうであるとは限りません。FCFSよりも優れています。 this answerで略奪してください。アルゴリズムのスケジュールマルチレベルフィードバック、最初の2つのキューの定義された時間量子以内に実行を完了することができないすべてのプロセス、FCFSを持つ最後のキューに入れられ、それらはすべてが大きな持っていることをその非常に可能性が高いので、

CPUはバーストするので、バースト時間がで大きく異なります。したがって、その最後のキューのスケジューリングをFCFSにすることをお勧めします。

関連する問題