0

SJF テーブルとそのガント チャート

プリエンプティブ SJF スケジューリングがどのように機能するかは理解していますが、平均待機時間を計算する方法はわかりません。
この例は、Galvin、Gagne、Silberschatz による「OS Principles」から引用しています。
彼らは平均待ち時間を次のように計算します:
((10-1)+(1-1)+(17-2)+(5-3)) / 4 = 6.5ms
これはどのように計算されますか? 単純化してください。
また、RRアルゴリズムを使用して同じことを解決できれば、たとえば... 5ミリ秒(簡単な計算用)の時間量で解決し、平均待機時間を計算する方法を説明できれば素晴らしいでしょう。

4

1 に答える 1

4

図を見て、すべてのプロセスについて、彼が待っている時間を計算してください。

P1は最初に1回走ったので(彼だけです)、彼はここで0を待ちます。より、彼は時間 1 から時間 10 まで待つ -> 合計待ち時間 = (10-1)。

P2 はタイム 1 に到着し、すぐに走り始めます。だから彼は全く待たなかった -> (1-1)。

P3 は時間 2 で到着し、時間 17 で実行を開始します -> (17-2)。

P4 は時間 3 で到着し、時間 5 で実行を開始します -> 総待ち時間 = (5-3)。

したがって、平均待機時間 = ((10-1)+(1-1)+(17-2)+(5-3))/4 = 6.5ms となります。

編集: 5 量子の RR の場合、次のようになります。

P1 が到着し、5 ミリ秒の量子を取得します -> 時間 5 で、彼は 3 の残りのバーストで停止します。次に、P2 は時間 5 から時間 9 まで実行を開始します (彼のバーストは 4 のみです)。そのため、P2 を待ちます (5-1)。

P3 は、時間 9 から時間 14 まで実行を開始し、残りのバーストは 4 です。次に、P4 が時間 14 から時間 19 まで実行を開始し、終了します。P4 の合計待ち時間は (14-3) です。

P1 は 19 時から 22 時まで走り続け、終了します。P1 の合計待ち時間は (19-5) です。その後、P3 は時刻 22 から時刻 26 まで実行を続けます。P3 の合計待ち時間は (9-2) + (22-14) です。

したがって、平均実行時間 = ((5-1)+(14-3)+(19-5)+(9-2)+(22-14))/4 = 10.5ms になります。

于 2012-08-08T19:02:20.233 に答える