問題:E通じラウンドロビンスケジューリング:すべてのジョブが同時に到着するとどうなりますか?
ファイブバッチジョブAは、コンピュータセンターではほぼ 同時に到着します。実行時間は10,6,2,4,8,分と推定されています。それらの(外部で決定された)優先順位は、3,5,2,1、および 4であり、5が最も高い優先順位です。時間の前後で平均プロセスターン を決定する。プロセススイッチングオーバーヘッドを無視します。ラウンドロビンスケジューリングでは、システムがマルチプログラミングであり、各ジョブでCPUの公平な共有が得られると仮定します。すべてのジョブは完全にCPUにバインドされています。
溶液#1以下のソリューションはthis pageから来ている:
ラウンドロビンの場合は、最初の10分の間に、各ジョブは CPUの1/5を取得します。 10分の終わりに、Cが終了する。次の8時間の間に、 分、各ジョブはCPUの1/4を取得し、その後時間Dが終了する。 残りの3つのジョブのそれぞれは、6 分、Bが終了するまでCPUの1/3を取得します。 5つの ジョブの仕上げ時間は、平均で22分、10,18,24,28,30です。
次のソリューションが異なっているコーネル大学here、から来ている(そしてこの1つは私に多くの意味があります)溶液#2:
ターンアラウンドタイムは、時間の量であることを忘れないでくださいジョブが到着してジョブが完了するまでの間に が経過しています。 すべてのジョブが時刻0に到着したと仮定しているので、ターンアラウンドタイムは単に完了するまでの時間である になります。 (a)ラウンドロビン:以下の表は、各時間量子の間に処理されるジョブの内訳を で示しています。 *は、そのクォンタムでジョブが完了したことを示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
A B C D E A B C* D E A B D E A B D* E A B E A B* E A E A E* A A*
結果は異なっている:最初のCで二番目にCは8分後に終了するのに対し、例えば、10分後に終了します。
どちらが正しいのですか?その理由は何ですか?私は混乱しています..事前に感謝!
*宿題*タグを質問に追加してください。 – thb