3

Я смотрю много учебников по youtube о планировании RR, и у меня был этот вопрос на экзамене, но я не знаю, что я сделал неправильно, решение профессора отличалось от моего решения, и теперь я запутался.как реализовать циклический алгоритм?

Job  | Arrival  |  Burst 
P1  |  0   |  4 
P2  |  2   |  5 
P3  |  3   |  3 
P4  |  8   |  4 

QT = 1 

Ее ответ был: P1, P1, P2, P3, P1, P2, P3, P1, P4, P2, P3, P4, P2, P4, P2, P4

Мой ответ был: P1, P1, P2, P1, P3, P2, P4, P3, P2, P4, P2, P4, P4

Итак, какой из них является правильным ответом, и если это была ее тогда почему?

ответ

3

Оба правильные !!!

Я скажу, что ваше решение выглядит правильно (но вы не рассматриваете очередь очередности приоритетов). Но это зависит от того, как приближается ваш профессор. Ниже приведены подходы:

Ваш подход:

Вы следуете нормальной работы очереди. Только enque() и deque(). Поэтому, используя эти 2, ваш подход правильный! Подход

Ваш Профессорский:

Всякий раз, когда новый процесс идет, он ставит его на верх очереди. Вместо этого он рассматривает приоритетную очередь, где каждый новый процесс имеет приоритет.

Так лучше, если вы обсудите это с вашим профессором. Я бы сказал, что вы не ошибаетесь !!!

+0

в большинстве интернет-материалов и видео на YouTube они делают это по-другому, например, скажем, мы в момент = 1, и теперь у нас есть только P1 мы запускаем его, после чего наступает P2, поэтому они сразу добавляют P1 после P2 до достижения времени = 3, поэтому он становится таким, как P1, P1, P2, P1, поэтому теперь я запутался и что именно вы подразумеваете под паузой? –

+0

Хорошо, подождите минуту. Я понял вашу проблему. – Shasha99

+0

Обновлен мой ответ !!! – Shasha99

2

Ее ответ был верным.

Вы можете подойти к проблеме так:

  1. Открыть новый ноутбук страница
  2. номер каждой строки 0-15 (16 всего строк; SUM (Cерия) столбец)
  3. Начните с написания задание на линии, в которую оно поступило (P1 в строке с номером 0, P2 в строке с номером 2, P3 в строке с номером 3, P4 в строке пронумеровано 8)
  4. Теперь вы знаете, что каждое задание может происходить только после этой строки.
  5. Затем начните заполнять остальные строки в последовательном порядке , где линии не имеют заданий и где задания оказались меньше числа серий, определенных для этой работы.

Надеюсь, это поможет!

+0

Да, это было полезно, это дало мне правильный ответ, но я не понял почему: P –

+0

Как задан вопрос, каждое задание может выполнять N раз - где N - количество всплесков. – brad

+0

Как только мы заполняем каждую строку, где будет выполняться задание, каждое задание имеет 1 меньше всплесков. По мере того, как время увеличивается и задания доступны для планирования, задание добавляется в очередь. – brad

3

Наибольший приоритет отдается новым прибытием, а второй приоритет рассматривается через FIFO в очереди ожидания.

Queue 
front P1  P2  P3  P4 
----------------------------------- 
0 P1 | [3]  
1 P1 | [2] >> 
2 P2 | 2  [4] >>    <- P2 arrives 
3 P3 | 2  4  [2]   <- P3 arrives 
4 P1 | [1] >> 4  2 
5 P2 | 1  [3] >> 2 
6 P3 | 1  3  [1] 
7 P1 | [0] >> 3  1 
8 P4 |   3  1  [3] <- P4 arrives. FIFO disrupted. 
9 P2 |  [2] >> 1  3 <- FIFO regained. 
10 P3 |   2  [0] >> 3 
11 P4 |   2   [2] 
12 P2 |  [1] >>   2 
13 P4 |   1   [1] 
14 P2 |  [0] >>   1 
15 P4 |      [0] 
+0

спасибо, что был полезен –

1

У вашего учителя есть другой подход. Всякий раз, когда в систему приходит новый процесс, он имеет более высокий приоритет, чем процессы, завершившие их всплеск.

Смежные вопросы