Алгоритмы планирования процессов. Сеть многоуровневых очередей.
Сеть многоуровневых очередей с обратными связями (рисунок 3), которая имеет следующие достоинства:
• определяет характер процессов и разделяет на соответствующие категории;
• отдает предпочтение коротким процессам;
• отдает предпочтение обменным процессам с хорошим коэффициентом использования устройств ввода/вывода. Это наиболее совершенный и сложный механизм планирования.
Рисунок 3. Сеть многоуровневых очередей
Сеть представляет собой упорядоченную структуру очередей готовых процессов, работающих с различными дисциплинами обслуживания. Каждый процесс входит в сеть очередей с конца верхней очереди и перемещается по FIFO пока не получит ЦП. Процесс выполняется. Если в течение кванта процесс запросил выполнение операции ввода/вывода, то он после завершения операции будет установлен в очередь готовых процессов текущего уровня. Если в течение выделенного кванта времени процесс не завершился, то он устанавливется в очередь готовых процессов следующего уровня, у которого понижен приоритет и увеличен квант времени. Таким образом, чем больше время работы процесса, тем больший квант времени выделяется, но меньше приоритет, что приводит к получению ЦП реже, но на более длительный период.
Таким образом, сеть многоуровневых очередей - это адаптивный механизм планирования, который реагирует на изменение поведения системы.
В ОС OS/2, UNIX приоритеты устанавливаются с помощью класса приоритета и уровня приоритета в классе. Есть три класса приоритета и 32 различных уровня приоритета для класса.
Классы бывают:
Критический или высокий - для программ управления процессом или связью с другими компьютерами;
Обыкновенный - для большинства программ пользователя;
Запасной или низкий - задачи и процессы из этого класса выполняются, если в очереди нет критических или обыкновенных задач.