На любом данном процессоре общее время ожидания для упорядоченного набора процессов, для которого требуется время P 1 .. P N , представляет собой общее количество прошедших отдельных времен, умноженное на количество ожидающих процессов:
(N - 1) P 1 + (N - 2) P 2 + ... + P N-1 .
Это показывает, что время ожидания сокращается в несколько раз по сравнению с более ранними процессами, в результате чего нам необходимо как можно раньше завершить выполнение более коротких заданий и минимизировать длину очереди. Скажем, мы сортируем длительности процесса и называем их A, B, C, D и E (самая продолжительная работа). Если мы противопоставим следующую приоритетность:
Processor 1: A, B, C, D
Processor 2: E
Total waiting time: 3A + 2B + C
... с ...
Processor 1: A, B, D
Processor 2: C, E
Total waiting time: 2A + B + C
Мы ясно видим, что вторая конфигурация экономит (A + B) общее время ожидания, а также преимущество распределения заданий в соотношении 3: 2. Точно так же формула 2A + B + C может быть только хуже, если мы поменяем местами D или E для любого из A, B или C, как мы знаем A <= B <= C <= D <= E. </p>
Существует только две альтернативные перестановки 3: 2 с учетом D и E, которые не участвуют в расчете времени ожидания (они будут обозначены как X в дальнейшем).
Processor 1: A, C, X
Processor 2: B, X
Total waiting time: 2A + C + B [no change]
Processor 1: A, X
Processor 2: B, C, X
Total waiting time: A + 2B + C [maybe worse as B>=A]
Таким образом, оптимальные и одинаково удовлетворительные заказы: ABX / CX и ACX / BX.