59
приоритетами выбранных процессов. Аналогичным образом происходит
обслуживание и остальных поступающих процессов.
FB (foreground-background – передний-задний планы) – очередь
готовых процессов расщепляется на две подочереди – очередь переднего
плана и очередь заднего плана. Очереди обслуживаются по дисциплине
RR, но очередь переднего плана имеет абсолютный приоритет: пока в ней
есть процессы, очередь заднего плана не обслуживается. Новый процесс
направляется в очередь переднего плана. Если процесс использовал
установленное число N квантов в очереди переднего плана, но не
завершился, он переводится в очередь заднего плана.
Обобщение дисциплины FB на n очередей с номерами 0, 1, ..., n-1 и
с абсолютными приоритетами, убывающими при возрастании номера
очереди, носит название MLFB (multiplylevel feed back – многоуровневые
очереди с обратной связью). Расщепление очереди готовых процессов на
две и более подочереди обеспечивает селекцию процессов по
длительности: более длинные процессы попадают в очереди с большими
номерами и, соответственно, с меньшими приоритетами. Дисциплина
MLFB очень эффективна для систем, работающих в интерактивном
режиме.
На рисунке 2.8 показаны примеры работы MLFB для N=1. Под
временной шкалой показаны состояния процессов в каждый момент
времени: "а" – для активного процесса и номер очереди – для неактивного.
Процесс A поступает в очередь 0 и, поскольку ЦП свободен, сразу же
выбирается из нее на выполнение. После использования одного кванта
времени ЦП процесс A переводится в очередь 1. В этот момент (момент 1)
в очередь 0 поступает процесс B. Поскольку очередь 0 имеет более
высокий приоритет, чем очередь 1, на выполнение выбирается процесс B.
Процесс B после использования кванта (момент 2) попадает также в
очередь 1. Поскольку в момент времени 2 очередь 0 пуста, обслуживается