Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции / Лекция 5 Планирование ресурсов вычислительной системы

.doc
Скачиваний:
158
Добавлен:
25.02.2015
Размер:
53.25 Кб
Скачать

Лекция №5. Планирование ресурсов вычислительной системы

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

  1. Краткосрочное планирование (между готовностью и исполнением процессов, на уровне диспетчеризации процессов) – не сильно влияет на работу ОС.

  2. Долгосрочное планирование (между рождением и статусом готовности) – надолго меняется работа ОС.

  3. Среднесрочное планирование (1. между готовностью процесса в оперативной памяти и готовностью процессов не в оперативной памяти; 2. между ожиданием в оперативной памяти и не в оперативной памяти) – сбрасывание из оперативной памяти не скоро выполняющихся процессов.

  4. Планирование доступа к отдельным устройствам – например, планирование устройств ввода-вывода, планировщик будет столько, сколько устройств ввода-вывода.

Критерии планирования (5 основных):

  1. Справедливость – гарантия каждому заданию или процессу определенной части времени использования процессора, недопускание ситуации, когда один процесс исполняется постоянно, а другой (уже запущенный) не имеет доступа к процессору;

  2. Эффективность использования ресурсов – алгоритм должен по максимуму занять процессор (реально процессор занимается на 40-60%);

  3. Сокращение полного времени выполнения – обеспечение минимального времени между стартом процесса и его завершением;

  4. Время ожидания – минимизация времени, которое проводят процессы в состоянии готовности;

  5. Время отклика – минимизация времени на взаимодействие с внешними факторами (как с устройствами, так и с пользователем).

Свойства алгоритмов планирования:

  1. Предсказуемость – одно и то же задание должно выполняться приблизительно за одно и то же время;

  2. Масштабируемость – алгоритмы не должны терять работоспособность при увеличении нагрузки;

  3. Минимальные расходы – соотношения времени выборки процесса на исполнение и времени исполнения должны быть существенны.

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

Статические параметры – это предельные значения ресурсов системы (объем оперативной памяти, частота процессора).

Динамические параметры – это количество ресурсов в текущий момент времени.

На этапе загрузки процесса появляются статические параметры:

  • каким пользователем запущен процесс;

  • приоритет задачи;

  • сколько процессорного времени запрошено для решения задачи;

  • каково соотношение процессорного времени и времени, необходимого на операции ввода/вывода;

  • какие ресурсы, и в каком количестве необходимы (оперативная память, устройства ввода/вывода, специальные библиотеки).

Динамические параметры появляются после первого исполнения:

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

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

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

У процесса разделяют два состояния (временных). Эти параметры тоже являются динамическими и они измеряются после каждого очередного исполнения:

  • CPU burst – промежуток непрерывного исполнения на процессоре;

  • I/O burst – промежуток ожидания ввода/вывода.

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

Все планирование в ОС осуществляет планировщик. Он же принимает решение о выборе следующего задания или нового процесса на исполнение из числа готовых. Это происходит в следующих случаях:

  • процесс переходит из состояния исполнения в состояние завершения;

  • процесс переводится из состояния исполнения в состояние ожидания;

  • процесс переводится из состояния исполнения в состояние готовности;

  • процесс переводится из состояния ожидания в состояние готовности (завершилась операция ввода/вывода).

В первом и втором случаях находившийся в состоянии исполнения процесс, не может исполняться дальше, и должен быть выбран новый процесс.

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

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

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

FCFS – First Come First Served – простейший алгоритм планирования. Организует очередь процессов и последовательно их исполняет. Следующий процесс начинает исполняться после полного завершения предыдущего. Этот алгоритм осуществляет не вытесняющее планирование, легко реализуем, но неэффективен.

SJF – Shortest Job First – то же самое, что FCFS, но с приоритетным планированием: минимальная по времени выполнения задача ставится в начало очереди. Обычно этот алгоритм применяется для краткосрочного планирования, может быть как вытесняющим, так и не вытесняющим.

RR – Round Robin – FCFS, который поставлен в замкнутый цикл. Процессор предоставляет текущему процессу определенный квант времени, после чего следующий начинается выполняться, а текущий переходит в состояние готовности. Эффективность этого алгоритма зависит от объема требуемого времени каждому из процессов и фиксированному кванту времени. Если квант времени маленький, то много процессов будут выполняться параллельно и медленно. Новый процесс включается в цикл в конец очереди.

По расчету времени может быть два случая:

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

  • продолжительность остатка текущего CPU burst процесса больше, чем квант времени. Тогда, по истечении этого кванта, процесс становится в конец очереди, а процессор выделяется следующему, находящемуся в начале.

Алгоритмы SJF и Гарантированного планирования – частные случаи приоритетного планирования.

Приоритетное планирование заключается в том, что у каждого процесса есть свой приоритет, в соответствии с которым ему выделяется процессор. Для SJF алгоритмы – это требуемое время, для гарантированного планирования – коэффициент справедливости.

Назначение приоритета опирается как на внешние, так и на внутренние критерии системы. К внешним относится:

  • важность процесса;

  • стоимость процессорного времени (значимость процесса в системе).

К внутренним относятся качественные и количественные характеристики процесса (ограничение по времени использования процессора, число открытых файлов, число используемых устройств ввода/вывода).

Приоритетное планирование может быть как вытесняющим, так и не вытесняющим. Если вытесняющее – процесс с большим приоритетом вытесняет тот, у которого меньше. Не вытесняющее – с меньшим приоритетом процесс завершается, с большим начинает выполняться.

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

Соседние файлы в папке Лекции