Как работает первое оставшееся время (SRTF)?

#scheduler #scheduling

#планировщик #планирование

Вопрос:

Если задание обрабатывается, не будет ли у него наименьшего времени до завершения, поскольку оно просто окажется в начале очереди готовности к запуску, когда оно будет выгружено?

Так это просто повторяющийся цикл, пока задание не достигнет завершения, с накладными расходами?

Не следует ли пренебречь более длительными процессами (как и SJF)?

Спасибо

Комментарии:

1. Возможно, вы захотите прочитать первые пару абзацев со страницы Википедии SRTF .

Ответ №1:

Нет, обрабатываемое задание не обязательно имеет наименьшее оставшееся время. SRTF проверяет, есть ли в очереди готовности процесс, для завершения которого требуется меньше пакетного времени, чтобы выполнить упреждение. Допустим, у вас есть p1, p2 и p3. у p1 общий пакет равен 15 и поступает в момент времени 0, у p2 пакет равен 10 и поступает в момент времени 3, у p3 пакет равен 1 и поступает в момент времени 4.

Выполнение с SRTF было бы:

 p1 -> from 0 to 3, remaining burst -> p1 = 12
  

в 3 поступает пакет p2, p2 < оставшийся пакет p1, поэтому p2 получает процессор

 p2 -> from 3 to 4, remaining burst -> p1=12,p2 = 9 
  

в 4 прибывает p3, пакет p3 < оставшийся пакет p2 < оставшийся пакет p1, таким образом, p3 получает процессор

 p3-> from 4 to 5, remaining burst -> p2=9,p1=12
  
 p2-> from 5 to 14, remaining burst -> p1=12
  
 p1-> from 14 to 26, end
  

Комментарии:

1. Спасибо за ваш ответ. Я просто хотел уточнить, не будут ли более длительные процессы игнорироваться по мере поступления новых более коротких заданий (заданий, препятствующих завершению P1)? Разве это не было бы похоже на Shortest Job First?

2. 1) Да, более длительные процессы могут в конечном итоге привести к остановке. 2) SJF не выполняет упреждение на основе оставшегося времени, в SJF упреждение основано на времени пакета, вы можете проверить другие различия в этом источнике .

3. 2) При том же порядке процессов, что и в ответе, выполнение с помощью SJF будет P1 from 0 to 12,P3 from 12 to 13 and P2 from 13 to 23

4. Ценю разъяснение