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

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

Критерии планирования и требовании к алгоритмам.

Алгоритм определяется тем, чего мы хотим добиться. Цели планирование:

a) Справедливость – гарантия предоставления каждому заданию/процессу времени процессора;

b) Эффективность – постараться занять процессор на 100%;

c) Сокращение полного времени выполнения – обеспечение минимального времени между стартом задачи и изъятия ее;

d) Сокращение времени ожидания – минимизация времени, в течение которого процессы находятся в очереди и ждут запуска на выполнение;

e) Сокращение времени отклика – минимизировать время, которое требуется процессу в интерактивных системах для ответа на запрос пользователя

В независимости от цели планирования желательно, чтобы процессы обладали следующими свойствами:

1) Были предсказуемы, т.е. одно и то же задание должно выполняться примерно за одинаковое время;

2) Алгоритм должен иметь минимальные накладные расходы, т.е. время, затрачиваемое на организацию алгоритма планирования не д/б большим;

3) Равномерно должны загружаться ресурсы ВС, т.е. если есть большое количество задач, то надо подбирать их таким образом, чтобы в ВС находились задачи с разным требованием к ресурсам;

4) Обладать масштабируемостью, т.е. алгоритмы не должны терять работоспособность при увеличении загрузки системы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: