Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VSOS_2014.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.9 Mб
Скачать
    1. Планировщики

Процесс мигрирует между различными очередями в течение своего жизненного цикла. ОС должен выбирать процесс из этих очередей определенным способом. Процесс выбора осуществляется соответствующим планировщиком (scheduler).

В системах пакетной обработки часто поступает больше заданий, чем может быть одновременно выполнено. Эти процессы размещаются во входной очереди во внешней памяти (обычно диск), где ожидаются возможные выполнения. Из этой очереди процессы выбираются так называемым долгосрочным планировщиком (long-term scheduler/ job scheduler) и размещаются в памяти и очереди готовых заданий.

Так называемый краткосрочный планировщик (short-term scheduler/CPU scheduler) определяет, какие из процессов готовы к выполнению и распределению центрального процессора одному из них.

Основное отличие между долгосрочным и краткосрочным планировщиком заключается в частоте запуска. Краткосрочный планировщик должен выбирать новый процесс для исполнения достаточно часто. Процесс может выполняться не более нескольких миллисекунд, даже если нет запросов ввода-вывода. Чаще всего краткосрочный планировщик запускается каждые 100 миллисекунд.

В связи с коротким интервалом между запусками краткосрочный планировщик должен быть очень быстрым. Ему представляется только 10 миллисекунд, для того чтобы выбрать новый активный процесс, т.е. 9% (107(100 + 10)) процессорного времени расходиться на его работу.

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

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

В некоторых ОС долгосрочный планировщик может отсутствовать или его функции могут быть сведены к минимуму. Отсутствует он обычно в системах разделения времени (time-sharing systems). В этом случае каждый новый процесс просто размещается в операционной памяти краткосрочным планировщиком. Стабильность зависят от таких физических ограничителей, как число доступных терминалов и человеческий фактор. Если нагрузка превышает допустимый уровень, то некоторые пользователи просто ждут, пока другие закончат работу.

В некоторых ОС, например, в системах разделения времени, кроме того, может присутствовать среднесрочный планировщик (medium-term scheduler). Его работа представлена на рис. 7.2.

Ключевая идея этого планировщика состоит в периодическом удалении процесса из оперативной памяти с тем чтобы увеличить степень многозадачности. Через некоторое время процесс вновь будет размещен в ОП и его выполнении продолжится. Эта схема называется подкачкой/откачкой (swapping).

Рисунок 7.13 - Работа среднесрочного планировщика.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]