Параметры планирования
Критерии планирования и требовании к алгоритмам.
Алгоритм определяется тем, чего мы хотим добиться. Цели планирование:
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 случаях действует вытесняющее планирование.
Наиболее часто вытесняющее планирование используется в системах разделения времени. ОС устанавливает специальный таймер для генерации прерывания по истечении некоторого промежутка времени – кванта, когда квант времени, выделенный процессу, заканчивается, планировщик передает процессор следующему заданию. Правильно выбранный квант позволяет использовать ВС наиболее целесообразным образом.