Как рассчитать среднее время ожидания и среднее время поворота в SJF Scheduling?
В SJF (метод Shortest Job First).
![enter image description here]()
Как рассчитать среднее время ожидания и среднее время поворота?
Правильно ли отображается диаграмма Ганнета?
![enter image description here]()
Ответы
Ответ 1
Диаграмма Ганта неверна...
Первый процесс 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
Ответ 2
SJF - это два типа: i) не превентивный SJF ii) упреждающий SJF
Я перестроил процессы в соответствии с временем прибытия.
здесь нет упреждающего SJF
A.T = Время прибытия
B.T = Время разрыва
C.T = Время завершения
T.T = Поворот Время = C.T - A.T
W.T = Время ожидания = T.T - B.T
![введите описание изображения здесь]()
Вот превентивный SJF
Примечание: каждый процесс будет упреждаться в момент поступления нового процесса. Затем он будет сравнивать время пакета и будет выделять процесс с самым коротким временем пакета. Но если два процесса имеют одинаковое время всплеска, то процесс, который был первым, который будет выделен сначала так же, как FCFS.
![введите описание изображения здесь]()
Ответ 3
это неправильно.
правильный будет
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
Ответ 4
Графы Ганта, представленные Хифзаном и Раджей, предназначены для алгоритмов FCFS.
С помощью алгоритма SJF процессы могут быть прерваны. То есть, каждый процесс не обязательно выполняется прямо через заданное время пакетного времени.
Р3 | Р2 | Р4 | П3 | П5 | Р1 | Р5
1 | 2 | 3 | 5 | 7 | 8 | 11 | 14
P3 достигает 1 мс, затем прерывается P2 и P4, так как они имеют меньшее время разрыва, а затем возобновляет P3. P5 начинает выполнение следующего, затем прерывается P1, поскольку время пакета P1 меньше, чем P5. Вы должны отметить время прибытия и быть осторожным. Эти проблемы могут быть более сложными, чем то, как они появляются на первый взгляд.
EDIT: Это относится только к превентивным алгоритмам SJF. Простой алгоритм SJF не имеет превентивного характера, что означает, что он не прерывает процесс.