1

fcfs が 0 99 から 99 から 198 になるのはなぜですか

ラウンド ロビンの場合、最初のジョブの完了時間が 500 になる理由がわかりません。

説明と例が役立ちます、ありがとうここに画像の説明を入力

4

1 に答える 1

1

FCFS ではジョブ 1 の待機時間は 0 です。時間 t = 0 の唯一のジョブであるため、すぐにスケジュールされるためです。スケジュールされるまで 99 秒 (t=1 から t=100)。同様に、ジョブ 3 は t=2 に発生し、ジョブ 1 と 2 が終了した後、つまり t=200 でのみスケジュールされます。つまり、200-2 = 198 秒の待機を意味します。

ラウンド ロビンの場合、各ジョブは 1 秒間実行され、コンテキストが切り替えられます。これは規則正しく行われます。したがって、ジョブ 1 が t=0 から t=1 まで実行された後、ジョブ 2 は t=1 から 2 まで実行され、ジョブ 3 は t=2 から 3 までというように、1 が再び t=5 から t=6 まで実行されるまで続きます。このように、ジョブ 1 は 5 サイクルで 1 回実行されます。proc 1 は合計で 100 秒かかるため、500 秒で終了します。

この説明が役立つ場合は、賛成票を投じてください。

編集:

ラウンド ロビンの詳細:

ジョブ 1 は、それぞれ 4 秒の間隔で区切られた 1 秒のチャンクで合計 100 秒間実行されます (1(ジョブ 2 のチャンク)+1(ジョブ 3)+1(ジョブ 4)+1(ジョブ 5))。したがって、t=0、t=5、t=10... で実行され、ジョブ 2、3、4、5 の同様の 1 秒間の実行によってインターリーブされるたびに 1 秒間だけ実行されます。このようにして、100 回目で最後の実行は t=500 になります。

于 2013-03-28T00:55:35.620 に答える