
25-30 / 29.Стратегии планирования процессора
..docСтратегии планирования процессора
Первый пришел – первый обслуживается, FIFO- first come- first served (FCFS).
Стратегия «наиболее короткая работа выполняется первой», SJF- Shortest Job First.
Приоритетное планирование. Эта стратегия предполагает, что каждому процессу приписывается приоритет, определяющий очередность предоставления ему ЦП
Обычно приоритет – целое положительное число, находящееся в некотором диапазоне. Чем меньше значение числа, тем выше приоритет процесса. Приоритеты назначаются, исходя из совокупности внутренних и внешних по отношению к ОС факторов.
Внутренние факторы:
-требования к памяти;
-количество открытых файлов;
-отношение среднего времени ввода-вывода к среднему времени использования ресурсов ЦП и т.п.
Внешние факторы:
-важность процесса;
-тип и величина файлов, используемых для оплаты;
Главный недостаток приоритетного планирования – возможность блокирования на неопределенно долгое время низкоприоритетных процессов.
«Карусельная » стратегия планирования RR-Round Robin – применяется в системах разделения времени. Определяется небольшой отрезок времени tk, названный квантом времени (10..100мс). Очередь готовых процессов рассматривается как кольцевая. Процессы циклически перемещаются по очереди, получая ЦП на время, равное 1 кванту. Новый процесс добавляется в хвост очереди.
Планирование с использованием многоуровневой очереди (Multilevel queue scheduling).
Разработана для ситуации, когда процессы могут быть легко классифицированы на несколько групп, например часто процессы разделяют на 2 группы: интерактивные (процессы переднего плана) и пакетные (фоновые).
Стратегия многоуровневой очереди разделяет очередь готовых процессов на несколько очередей, в каждой из которых находятся процессы с одинаковыми свойствами, и каждый из которых может планироваться индивидуальной стратегией, например Round Robin стратегия для интерактивных процессов и FCFS пакетных.
Использование многоуровневой очереди с обратными связями (multilevel feedback queue sheduling)
Многоуровневая очередь с обратными связями предполагает, что процессы при определенных условиях могут перемещаться между очередями. Здесь организуется N очередей. Все новые запросы поступают в конец первой очереди. Первый запрос из I-ой очереди поступает на обслуживание лишь тогда , когда все очереди от 1-ой до I-1 –ой пустые. На обслуживание выделяется квант времени tk. Если за это время обслуживание запроса завершиться полностью, то он покидает систему. В противном случае недообслуженный запрос поступает в конец I+1-ой очереди.
После обслуживания запроса из I-ой очереди система выбирает для обслуживания запрос из непустой очереди с самым младшим номером. Таким запросом может быть следующий запрос из очереди I или из очереди I+1 (при условии, что после обслуживания запроса из очереди I последняя оказалась пустой). Новый запрос поступает в 1-ю очередь (I=1). В такой ситуации после окончания времени tk, выделенного для обслуживания запроса из очереди I, будет начато обслуживание запроса первой очереди. Если система выходит на обслуживание заявок из N-й очереди, то они обслуживаются либо по дисциплине FIFO (каждая заявка обслуживается до конца), либо по циклическому алгоритму.
Приоритетная многоочередная дисциплина обслуживания
В отличие от предыдущей стратегии новые процессы поступают не в первую очередь, а в очередь, номер которой соответствует его приоритету.