Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные системы Лекция 07(Мультипрограммир...doc
Скачиваний:
7
Добавлен:
16.09.2019
Размер:
146.43 Кб
Скачать

Планирование процессов.

Основной функцией планирования является управление виртуальными процессорами, которое состоит в выделении и изъятии ресурсов, отличных от фактического процессора. Среди необходимых ресурсов могут быть и программные ресурсы.

Блокированные и приостановленные процессы могут быть откачаны во внешнюю память.

Некоторые ОС откачивают готовые активные процессы и тем самым переводят их в блокированное состояние.

Если процесс получил все ресурсы, за исключением фактического процессора, то тем самым ему выделен виртуальный процессор.

Планировщик процессов выполняет функции создания процессов, выделения ресурсов и завершения процессов (выделение виртуального процессора).

Диспетчеризация процессов при мультипрограммировании

Процесс, который может выполняться, как только процессор освободится, находится в состоянии - готовый активный. Такому процессу уже выделена ОП и другие ресурсы. Он ждет только одного ресурса – процессора.

Диспетчером процессов выполняется функция выделения процессора готовому активному процессу (выделение фактического процессора).

Диспетчер передает управление либо по истечении фиксированного интервала времени, либо при возникновении какого-либо внешнего по отношению к выполняющейся программе события (завершение в/в и т.п.). Диспетчер обрабатывает очередь готовых процессов, в которой любой готовой к выполнению программе соответствует элемент определенной структуры.

За разделение процессора приходится «расплачиваться» снижением скорости выполнения работ ВС.

Дисциплины диспетчеризации процессов.

Дисциплины с одной очередью для невытесняющей многозадачности.

  1. Первым пришел – первым обслужен (fcfs, first come-first served)

Самой справедливой стратегией является стратегия предоставления всем пользователям одинаковых услуг, которую можно сформулировать следующим образом:

Обеспечить для всех процессов одно и то же среднее время ожидания.

Достигнуть этого можно, обслуживая процессы в порядке их появления и позволяя каждому процессу выполняться до конца (за исключением перехода в заблокированное состояние).

Стоимость реализации низка, так как очередь готовых надо поддерживать в порядке возрастания времен создания процессов, а перераспределения процессора не производится.

Основным недостатком механизма FCFS является то, что короткие процессы вынуждены ждать столько же, сколько и длинные («эффект конвоя»).

Два недостатка из теории очередей:

  1. Среднее время ожидания может неограниченно расти по мере приближения системы к пределу своей загруженности.

  2. С увеличением дисперсии времени выполнения процессов среднее время ожидания увеличивается.

  1. Следующий-с кратчайшим заданием (SJN, shortest job-next)

Стратегия, избавленная от недостатков FCFS, состоит в минимизации общего среднего времени ожидания.

Для достижения этого приоритет, учитываемый при диспетчеризации, основан на времени выполнения процесса, а не на времени его создания.

Перераспределения процессора не происходит.

При этом:

  1. Снижается общее среднее время ожидания

  2. Среднее время ожидания коротких процессов становится меньше, чем длинных.

  3. Растет дисперсия времени ожидания (в результате трудно предсказать, когда процесс будет обслужен)