Нужно объяснение циклического планирования для решения проблемы? - PullRequest
0 голосов
/ 29 сентября 2019
     A              50                   1
     B              20                   2
     C              30                   3
     ProcessId      Time                 Order

Учитывая приведенную выше таблицу с информацией о процессе с использованием Round Robin, каково среднее время ожидания? Предположим, что временные кванты очень малы (0,5 с)?

Очевидно, ответ составляет 43 секунды. Я не понимаю, как это может быть. Могу ли я получить некоторую помощь?

Я ожидаю, что P2 завершит сначала, и у него есть время ожидания (40 квантов для A + 39 квантов для C) = 79 квантов = 39,5 секунд.

IЯ ожидаю, что P3 финиширует вторым, и у него есть время ожидания (80 квантов для A + 40 квантов для B) = 120 квантов = 60 секунд.

Я ожидаю, что P1 закончится последним, и у него есть время ожидания (40 квантов для B + 80 квантов для C) = 120 квантов = 60 секунд.

Усреднения = (39,5 + 60 + 60) / 3 = 53,2 секунды. Тем не менее, ответ, кажется, составляет 43 секунды.

1 Ответ

0 голосов
/ 30 сентября 2019

Первоначально таблица процессов будет выглядеть следующим образом:

 A              100                  1
 B              40                   2
 C              60                   3
 ProcessId      Quanta               Order

Для первых 40 * 3 = 120 квантов будет запущено 3 процесса. Процесс B завершит работу на 1 квант раньше (после 119 квантов), и, если для получения 40 квантов потребовалось 119 квант, он, должно быть, ждал 79 квантов.

После первых 120 квантов;таблица процессов будет выглядеть следующим образом:

 A              60                   1
 C              20                   3
 ProcessId      Quanta               Order

Для следующих 20 * 2 = 40 квантов будет запущено 2 процесса. Процесс C завершится после 120 + 40 квантов, и если для получения 60 квантов потребовалось 160 квантов, он, должно быть, ожидал 100 квантов.

После первых 160 квантов;таблица процессов будет выглядеть следующим образом:

 A              40                   1
 ProcessId      Quanta               Order

Для следующих 40 * 1 = 40 квантов будет запущен 1 процесс. Процесс А завершится после 120 + 40 + 40 квантов, и если ему потребовалось 200 квантов, чтобы получить 100 квантов, он, должно быть, ожидал 100 квантов. Альтернативный способ вычислить это состоит в том, чтобы сказать, что A, должно быть, ожидал столько потребленных квантов B и C. Это 40 + 60 = 100 квантов.

Среднее время ожидания (79 + 100 + 100) /3 = 93 кванта = 46,5 секунд.

...