Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС_лекции.docx
Скачиваний:
23
Добавлен:
22.02.2015
Размер:
109.07 Кб
Скачать

3.3 Параметры планирования

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

Все параметры можно разбить на:

  • Статические – такие, которые не меняются по ходу работы ОС (максимальные значения ресурса, количество переферийных устройств, объемы буферов). Они бывают заранее известны еще до моменты загрузки задачи в ВС:

    • Какой пользователь запустил процесс

    • Приоритет процесса

    • Сколько процессорного времени запросил пользователь

    • Каково соотношение процессорного времени и времени, затрачиваемого процессором на ввод/вывод

    • Какое количество ресурсов

  • Динамические – такие, которые могут меняться.

Алгоритмы долгосрочного планирования используют оба вида параметров. Алгоритмы кратко- и среднесрочного планирования учитывают динамические характеристики:

  • Сколько времени прошло с моменты выгрузки процесса на диск или загрузки в оперативную память

  • Сколько оперативной памяти занимает процесс

  • Сколько процессорного времени было уже предоставлено процессу

3.4 Вытесняющие и невытесняющие планирования

Планировщик принимает решения о выборе на исполнение нового процесса из числа находящихся в состоянии готовности в следующих случаях:

  1. Если процесс переводится из состояния «исполнение» в состояние «закончил исполнение»

  2. Если процесс переводится из состояния «исполнение» в состояние «ожидание»

  3. Если процесс переводится из состояния «исполнение» в состояние «готовность»

  4. Если процесс переводится из состояния «ожидание» в состояние «готовность»

В 1 и 2 случаях процесс просто не может выполняться дальше, поэтому для продолжения работы необходимо выбрать новый процесс. В 3 и 4 случаях планирование может не проводиться, а работу может продолжить тот же процесс, после обработки прерывания. Говорят, что имеет место невытесняющее планирование, если реализуется 1 и 2 случаи. В 3 и 4 случаях действует вытесняющее планирование.

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

3.5 Алгоритмы планирования

3.5.1FirstComeFirstServed

Первый пришедший первый и обслуживается.Все процессы в ОС находятся в очереди. Когда процесс переходит в состояние «готовность», ссылка на его Process Control Block помещается в конец очереди. Из названия алгоритма ясно, что процесс подлежащий выполнению берется из начала очереди путем удаления PCB из начала очереди.

Этот алгоритм реализует то, что мы называем невытесняющим планированием, причем он захватывает процессор и находится в ВС до конца времени использования процессора. Преимущество алгоритма в том, что его легко реализовать. Наиболее существенный недостаток – среднее время ожидания и среднее полное время выполнения этого алгоритма зависят от порядка алгоритмов в очереди.

3.5.2 Round Robin

Это алгоритм FCFS, реализованный в режиме вытесняющего планирования

При RR планировщики выбирают процесс из начала очереди и устанавливают таймер для подсчета кванта времени. Два варианта:

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

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

Если кванты времени очень большие, тогда алгоритм вырождается в FCFS. При работе системы с квантами можно считать, что есть n виртуальных машин (n – кол-во пользователей) с мощностью N/n.