Основы операционных систем
Лекция 3. Планирование процессов
Уровни планирования процессов Долгосрочное планирование – планирование заданий. Среднесрочное планирование – swapping. Краткосрочное планирование – планирование использования процессора.
Цели планирования Справедливость Эффективность Сокращение полного времени выполнения (turnaround time) Сокращение времени ожидания (waiting time) Сокращение времени отклика (response time)
Желаемые свойства алгоритмов планирования Предсказуемость Минимизация накладных расходов. Равномерность загрузки вычислительной системы. Масштабируемость.
Параметры планирования Статические параметры вычислительной системы – например, предельные значения ее ресурсов. Статические параметры процесса – кем запущен, степень важности, запрошенное процессорное время, какие требуются ресурсы и т.д. Динамические параметры вычислительной системы – например, количество свободных ресурсов в данный момент. Динамические параметры процесса – текущий приоритет, размер занимаемой оперативной памяти, использованное процессорное время и т.д.
CPU burst и I/O burst Важные динамические параметры процесса
Вытесняющее и невытесняющее планирование Перевод процесса из состояния исполнение в состояние закончил исполнение Перевод процесса из состояния исполнение в состояние ожидание Принятие только вынужденных решений – невытесняющее планирование Перевод процесса из состояния исполнение в состояние готовность Перевод процесса из состояния ожидание в состояние готовность Принятие вынужденных и невынужденных решений –вытесняющее планирование
Алгоритмы планирования
Алгоритмы планирования
Алгоритмы планирования Остаток времени CPU burst <= кванта времени: процесс освобождает процессор до истечения кванта; на исполнение выбираем новый процесс из начала очереди готовых; Остаток времени CPU burst >= кванта времени: По окончании кванта процесс помещается в конец очереди готовых к исполнению процессов; на исполнение выбираем новый процесс из начала очереди готовых.
Алгоритмы планирования
Алгоритмы планирования
Алгоритмы планирования
Алгоритмы планирования
Алгоритмы планирования τ(n) – величина n-го CPU burst T(n+1) – предсказание для n+1-го CPU burst α – параметр от 0 до 1 T(n+1)= α τ(n) + (1 – α)T(n), T(0) – произвольно Если α = 0, то T(n+1) = T(n) =…= T(0), нет учета последнего поведения Если α = 1, то T(n+1) = τ(n), нет учета предыстории
Алгоритмы планирования В системе разделения времени N пользователей: Ti – время нахождения i-го пользователя в системе τi – суммарное процессорное время процессов i-го пользователя τi ‹‹ Ti /N τi ›› Ti /N (τi N) / Ti – коэффициент справедливости. На исполнение выбираются готовые процессы пользователя с наименьшим коэффициентом справедливости
Алгоритмы планирования
Алгоритмы планирования
Алгоритмы планирования
Алгоритмы планирования
Алгоритмы планирования
Алгоритмы планирования