Кратчайшая работа следующей

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

SJN (англ. shortest job next — следующий с кратчайшим заданием) — невытесняющий алгоритм, в котором наивысший приоритет имеет самый короткий процесс.

Для того чтобы применять этот алгоритм, должна быть известна длительность процесса — задаваться пользователем или вычисляться методом экстраполяции. Для коротких процессов SJN обеспечивает лучшие показатели, чем RR, как по потерянному времени, так и по штрафному отношению.

SJN обеспечивает максимальную пропускную способность системы — выполнение максимального числа процессов в единицу времени, но показатели для длинных процессов значительно худшие, а при высокой степени загрузки системы активизация длинных процессов может откладываться до бесконечности. Штрафное отношение слабо изменяется на основном интервале значений t, но значительно возрастает для самых коротких процессов: такой процесс при поступлении в систему имеет самый высокий приоритет, но вынужден ждать, пока закончится текущий активный процесс. Растёт также дисперсия времени ожидания, а в результате трудно предсказать, когда какой-либо процесс будет обслужен.