Упреждающая кратчайшая работа на основе приоритета. Как определить, какой процесс идет первым

У меня есть вопрос к алгоритму вытеснения Shortest Job First на основе приоритета. Если два процесса имеют одинаковый приоритет, кто будет выполняться первым. Тот, что был поставлен первым, или тот, у которого меньше время разрыва? То же самое и со временем взрыва, если у меня есть 2 процесса с одинаковым временем взрыва, я сортирую по приоритету? А что произойдет, если 2 процесса будут иметь одинаковое время и приоритет?

Например, как будет выглядеть диаграмма Ганта на основе этой таблицы?

           Arrival Time    Burst Time    Priority
p0              0              8            2
p1              4              15           5
p2              7              9            3
p3              13             5            1
p4              9              13           4
p5              0              6            1

person Pred    schedule 03.09.2013    source источник


Ответы (1)


Как следует из названия, вы сначала выбираете набор заданий с наивысшим приоритетом.

Затем из этого набора вы выбираете самую короткую работу. В этом случае я предполагаю, что «время разрыва» представляет собой ожидаемое время выполнения (или время выхода).

Поэтому, предполагая, что ваши номера с более низким приоритетом представляют задания с более высоким приоритетом, p3 и p5 являются двумя заданиями с наивысшим приоритетом.

В этот момент имеет значение ожидаемый размер задания (время пакета), и в этот момент вы выбираете тот, у которого самое короткое время пакета. В этом случае это будет p3.

person caskey    schedule 03.09.2013
comment
Значит, диаграмма Ганта будет выглядеть так? |p3|p5|p0|p2|p4|p1| - person Pred; 03.09.2013
comment
Звучит как домашнее задание для меня. Если это так, я предлагаю вам обсудить это с кем-нибудь из вашего класса. Я никогда не использовал диаграммы Ганта для представления планирования процессов. - person caskey; 03.09.2013
comment
да, это задание, в котором я должен выполнять планирование процессора на С++. У меня есть fcfs и циклический перебор для работы, но я просто не понимаю, на основе приоритета упреждающая самая короткая работа, и мне нужно было несколько примеров, чтобы проверить, дает ли кодирование правильный ответ - person Pred; 03.09.2013
comment
В вашем тексте и/или конспектах лекций должно быть несколько примеров, с которыми вы можете работать. Список, который вы привели выше, выглядит правильно для планирования вашей исходной таблицы. Удачи. - person caskey; 03.09.2013