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