Скачать презентацию Управление процессами Алгоритмы планирования Планирование процессов Определение Скачать презентацию Управление процессами Алгоритмы планирования Планирование процессов Определение

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

  • Количество слайдов: 23

Управление процессами Алгоритмы планирования Управление процессами Алгоритмы планирования

Планирование процессов Определение момента смены выполняемого процесса Выбор процесса на выполнение из очереди готовых Планирование процессов Определение момента смены выполняемого процесса Выбор процесса на выполнение из очереди готовых процессов Переключение контекстов «старого» и «нового» процессов

Уровни планирования Долгосрочное – планирование загрузки новых процессов (минуты, десятки минут) Короткосрочное – планирование Уровни планирования Долгосрочное – планирование загрузки новых процессов (минуты, десятки минут) Короткосрочное – планирование использования процессора (не более 100 ms) Среднесрочное – выгрузка выполняющихся процессов на диск (swapping)

Цели планирования Справедливость Эффективность Сокращение полного времени выполнения Сокращение времени ожидания Сокращение времени отклика Цели планирования Справедливость Эффективность Сокращение полного времени выполнения Сокращение времени ожидания Сокращение времени отклика …

Требования к алгоритмам Предсказуемость Минимальные накладные расходы Равномерная загрузка вычислительной системы Масштабируемость … Требования к алгоритмам Предсказуемость Минимальные накладные расходы Равномерная загрузка вычислительной системы Масштабируемость …

Параметры планирования Статические Пользователь Приоритет Требования к времени использования процессора и вводавывода Требования к Параметры планирования Статические Пользователь Приоритет Требования к времени использования процессора и вводавывода Требования к другим ресурсам Динамические Время с момента выгрузки/загрузки процесса Использованное время CPU/ввода-вывода Используемая память Последние и ожидаемые CPU Burst и IO Burst

Распределение времени выполнения процесса A=1 B=2 Read c CPU Burst Ожидание ввода I/O Burst Распределение времени выполнения процесса A=1 B=2 Read c CPU Burst Ожидание ввода I/O Burst A=A+C*B Print A CPU Burst Ожидание вывода I/O Burst

Вытесняющее и невытесняющее планирование Вытесняющее планирование Невытесняющее планирование Когда может производится планирование: w процесс Вытесняющее и невытесняющее планирование Вытесняющее планирование Невытесняющее планирование Когда может производится планирование: w процесс переходит из состояния «исполнение» в состояние «закончил работу» w процесс переходит из состояния «исполнение» в состояние «ожидание» w процесс переходит из состояния «исполнение» в состояние «готовность» (например по прерыванию) w процесс переходит из состояния «ожидание» в состояние «готовность»

Алгоритм планирования First-Come, First-Served (FCFS) Невытесняющее планирование При переходе в состояние «готовность» ссылка на Алгоритм планирования First-Come, First-Served (FCFS) Невытесняющее планирование При переходе в состояние «готовность» ссылка на PCB процесса помещается в очередь (FIFO) Выбор нового процесса на выполнение выполняется из начала очереди с удалением ссылки.

Алгоритм планирования First-Come, First-Served (FCFS) Процесс P 0 P 1 P 2 Продолжительность CPU Алгоритм планирования First-Come, First-Served (FCFS) Процесс P 0 P 1 P 2 Продолжительность CPU Burst 13 4 1 Выполнение в порядке P 0, P 1, P 2: P 0 и и и и P 1 г г г г и и P 2 г г г г г T 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 и

Алгоритм планирования First-Come, First-Served (FCFS) Выполнение в порядке P 0, P 1, P 2: Алгоритм планирования First-Come, First-Served (FCFS) Выполнение в порядке P 0, P 1, P 2: P 0 и и и и P 1 г г г г и и P 2 г г г г г T 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 Время ожидания Полное время выполнения P 0 0 13 P 1 13 17 P 2 17 18 Среднее 10 16 и

Алгоритм планирования First-Come, First-Served (FCFS) Выполнение в порядке P 2, P 1, P 0: Алгоритм планирования First-Come, First-Served (FCFS) Выполнение в порядке P 2, P 1, P 0: P 2 и P 1 г и и P 0 г г г и и и T 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 Время ожидания и и и и Полное время выполнения P 0 5 18 P 1 1 5 P 2 0 1 Среднее 2 8 и

Алгоритм планирования Round Robin (RR) готовность Процесс 1 готовность Процесс 2 Процесс 4 исполнение Алгоритм планирования Round Robin (RR) готовность Процесс 1 готовность Процесс 2 Процесс 4 исполнение Процесс 3 t=N CPU

Алгоритм планирования Round Robin (RR) готовность Процесс 2 готовность Процесс 3 Процесс 1 исполнение Алгоритм планирования Round Robin (RR) готовность Процесс 2 готовность Процесс 3 Процесс 1 исполнение Процесс 4 t=N+1 CPU

Алгоритм планирования Round Robin (RR) Вытесняющее планирование. При переводе процесса в состояние «исполнение» ему Алгоритм планирования Round Robin (RR) Вытесняющее планирование. При переводе процесса в состояние «исполнение» ему выделяется квант времени. Если остаток текущего CPU burst меньше кванта времени, то процесс сам возвращает управление ОС. Иначе ОС переводит процесс в состояние «готовность» по завершению кванта времени (по прерыванию).

Алгоритм планирования Round Robin (RR) Выполнение c квантом времени = 4 P 0 и Алгоритм планирования Round Robin (RR) Выполнение c квантом времени = 4 P 0 и и г г P 1 г г и и P 2 г г г г и T 2 3 4 5 6 7 8 9 1 Время ожидания г и и и и 10 11 12 13 14 15 16 17 18 Полное время выполнения P 0 5 18 P 1 4 8 P 2 8 9 5. 666666 11. 666666 Среднее и

Алгоритм планирования Round Robin (RR) Выполнение c квантом времени = 1 P 0 и Алгоритм планирования Round Robin (RR) Выполнение c квантом времени = 1 P 0 и г г и г и г P 1 г и г и г и P 2 г г и T 2 3 4 5 6 7 8 9 1 Время ожидания и и и и и 10 11 12 13 14 15 16 17 18 Полное время выполнения P 0 5 18 P 1 5 9 P 2 2 3 Среднее 4 10

Алгоритм планирования Shortest Job First (SJF) Целесообразно выбирать для выполнения процесс с минимальным значением Алгоритм планирования Shortest Job First (SJF) Целесообразно выбирать для выполнения процесс с минимальным значением CPU Burst. Как оценить возможное значение следующего CPU Burst? T(n+1)=at(n)+(1 -a)T(n) – прогноз на момент времени n, T(0)=const t(n) – реальная длительность на момент времени n a – константа из [0, …, 1]

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

Многоуровневые очереди Процессы разбиваются на группы У каждой группы есть своя очередь процессов в Многоуровневые очереди Процессы разбиваются на группы У каждой группы есть своя очередь процессов в состоянии «готовность» Каждая очередь имеет фиксированный приоритет Внутри очередей могут применяться разные алгоритмы планирования

Многоуровневые очереди Системные процессы приоритет 0, RR Процессы администраторов приоритет 1, RR Процессы пользователей Многоуровневые очереди Системные процессы приоритет 0, RR Процессы администраторов приоритет 1, RR Процессы пользователей приоритет 2, RR Фоновые процессы приоритет 3, FCFS

Многоуровневые очереди c обратной связью Процессы могут перемещаться между очередями в зависимости от своего Многоуровневые очереди c обратной связью Процессы могут перемещаться между очередями в зависимости от своего поведения (например, продолжительности последних CPU burst)

Многоуровневые очереди c обратной связью После ожидания ввода с клавиатуры После ожидания завершения I/O Многоуровневые очереди c обратной связью После ожидания ввода с клавиатуры После ожидания завершения I/O После другого ожидания Создание Исполнение Готовность Ожидание Очередь 0 приоритет 0 RR с квантом 8 Очередь 1 приоритет 1 RR с квантом 16 Очередь 2 приоритет 2 RR с квантом 32 Очередь 3 приоритет 3 FCFS