Для более гибкой диспетчеризации процессов в операционных системах организуются многоуровневые аналитические очереди (multi-level feedback queues),в которых обслуживаются процессы нескольких классов, причем каждый из классов имеет различные кванты времени. Самый быстрый (приоритетный) класс процессов получает минимальный квант. Если процесс не завершается за этот квант времени, ОС перемещает его в очередь процессов другого класса с большей величиной кванта, и т.д. Если процесс не завершается и за самый большой из выделяемых системой квантов времени, ОС перемещает его в класс пакетных процессов, обслуживаемых по стратегии FCFS.
На рис. 11.12 приведен пример организации многоуровневой аналитической очереди с квантами времени 8 (очередь Q0) и 16 (очередь Q1) и пакетными процессами по стратегии FCFS (очередь Q2). Первоначально процесс помещается в очередь Q0; если он не завершается за 8 единиц времени, то он перемещается в очередь Q1; если не завершается и за 16 единиц времени – то перемещается в очередь Q2.
Рис. 11.12. Многоуровневая аналитическая очередь.