
- •Мультипрограммирование.
- •Одним из методов планирования процессов, ориентированных на эффективную загрузку ресурсов, является метод очередей ресурсов.
- •При прохождении через ос процесс мигрирует между различными очередями под управлением программы, которая называется планировщик (scheduler).
- •Планирование процессов.
- •Диспетчеризация процессов при мультипрограммировании
- •Первым пришел – первым обслужен (fcfs, first come-first served)
- •Циклические дисциплины для вытесняющей многозадачности.
- •Классификация дисциплин диспетчеризации процессов
Планирование процессов.
Основной функцией планирования является управление виртуальными процессорами, которое состоит в выделении и изъятии ресурсов, отличных от фактического процессора. Среди необходимых ресурсов могут быть и программные ресурсы.
Блокированные и приостановленные процессы могут быть откачаны во внешнюю память.
Некоторые ОС откачивают готовые активные процессы и тем самым переводят их в блокированное состояние.
Если процесс получил все ресурсы, за исключением фактического процессора, то тем самым ему выделен виртуальный процессор.
Планировщик процессов выполняет функции создания процессов, выделения ресурсов и завершения процессов (выделение виртуального процессора).
Диспетчеризация процессов при мультипрограммировании
Процесс, который может выполняться, как только процессор освободится, находится в состоянии - готовый активный. Такому процессу уже выделена ОП и другие ресурсы. Он ждет только одного ресурса – процессора.
Диспетчером процессов выполняется функция выделения процессора готовому активному процессу (выделение фактического процессора).
Диспетчер передает управление либо по истечении фиксированного интервала времени, либо при возникновении какого-либо внешнего по отношению к выполняющейся программе события (завершение в/в и т.п.). Диспетчер обрабатывает очередь готовых процессов, в которой любой готовой к выполнению программе соответствует элемент определенной структуры.
За разделение процессора приходится «расплачиваться» снижением скорости выполнения работ ВС.
Дисциплины диспетчеризации процессов.
Дисциплины с одной очередью для невытесняющей многозадачности.
Первым пришел – первым обслужен (fcfs, first come-first served)
Самой справедливой стратегией является стратегия предоставления всем пользователям одинаковых услуг, которую можно сформулировать следующим образом:
Обеспечить для всех процессов одно и то же среднее время ожидания.
Достигнуть этого можно, обслуживая процессы в порядке их появления и позволяя каждому процессу выполняться до конца (за исключением перехода в заблокированное состояние).
Стоимость реализации низка, так как очередь готовых надо поддерживать в порядке возрастания времен создания процессов, а перераспределения процессора не производится.
Основным недостатком механизма FCFS является то, что короткие процессы вынуждены ждать столько же, сколько и длинные («эффект конвоя»).
Два недостатка из теории очередей:
Среднее время ожидания может неограниченно расти по мере приближения системы к пределу своей загруженности.
С увеличением дисперсии времени выполнения процессов среднее время ожидания увеличивается.
Следующий-с кратчайшим заданием (SJN, shortest job-next)
Стратегия, избавленная от недостатков FCFS, состоит в минимизации общего среднего времени ожидания.
Для достижения этого приоритет, учитываемый при диспетчеризации, основан на времени выполнения процесса, а не на времени его создания.
Перераспределения процессора не происходит.
При этом:
Снижается общее среднее время ожидания
Среднее время ожидания коротких процессов становится меньше, чем длинных.
Растет дисперсия времени ожидания (в результате трудно предсказать, когда процесс будет обслужен)