Как рассчитать среднее время ожидания и среднее время оборота в SJF Scheduling? - PullRequest
22 голосов
/ 18 марта 2012

В методе планирования SJF (Shortest Job First).

enter image description here

Как рассчитать среднее время ожидания и среднее время оборота?

Является ли диаграмма Ганта корректной?

enter image description here

Ответы [ 4 ]

21 голосов
/ 18 апреля 2012

Диаграмма Ганта неверна ... Первый процесс P3 прибыл, поэтому он будет выполняться первым. Так как время пакета P3 составляет 3 секунды после завершения P3, процессы P2, P4 и P5 были получены. Среди P2, P4 и P5 самое короткое время пакета составляет 1 с для P2, поэтому P2 будет выполняться следующим. Тогда P4 и P5. Наконец P1 будет выполнен.

Диаграмма Ганта для этого квеста будет:

| P3 | P2 | P4 | P5 | P1 |

1    4    5    7   11   14

Среднее время ожидания = (0 + 2 + 2 + 3 + 3) / 5 = 2

Среднее время обработки = (3 + 3 + 4 + 7 + 6) /5=4.6

16 голосов
/ 12 декабря 2015

SJF бывают двух типов - i) не преимущественный SJF ii) преимущественный SJF

Я перестроил процессы в соответствии со временем прибытия. вот не упреждающий SJF

A.T = Время прибытия

B.T = время всплеска

C.T = Время завершения

T.T = Время поворота = C.T - A.T

W.T = Время ожидания = T.T - B.T

enter image description here

Вот упреждающий SJF Примечание: каждый процесс будет выгружаться в момент поступления нового процесса. Затем он сравнит время посылки и выделит процесс, который имеет самое короткое время посылки. Но если два процесса имеют одинаковое время пакета, то процесс, который пришел первым, будет выделен первым, как FCFS.

enter image description here

2 голосов
/ 07 марта 2013

Диаграммы Ганта, приведенные Хифзаном и Раджей, предназначены для алгоритмов FCFS.

С помощью алгоритма SJF процессы могут быть прерваны. То есть каждый процесс не обязательно выполняется прямо в течение заданного времени пакета.

P3 | P2 | P4 | P3 | P5 | P1 | P5

1 | 2 | 3 | 5 | 7 | 8 | 11 | 14

P3 достигает 1 мс, затем прерывается P2 и P4, так как они оба имеют меньшее время посылки, и затем P3 возобновляется. P5 начинает выполнение следующим, затем прерывается P1, так как время пакета P1 меньше, чем P5. Вы должны отметить время прибытия и быть осторожным. Эти проблемы могут быть сложнее, чем они кажутся на первый взгляд.

РЕДАКТИРОВАТЬ: Это относится только к алгоритмам Preemptive SJF. Простой алгоритм SJF не имеет преимущественного значения, то есть он не прерывает процесс.

2 голосов
/ 25 ноября 2012

это неправильно. правильно будет

P3 P2 P4 P5 P1 0 3 4 6 10 как правильная разница эти

Время ожидания (0 + 3 + 4 + 6 + 10) / 5 = 4,6

Ссылка: http://www.it.uu.se/edu/course/homepage/oskomp/vt07/lectures/scheduling_algorithms/handout.pdf

...