Типы планирования. Алгоритмы планирования. Примеры реализации алгоритмов планирования в современных операционных системах

Содержание

Слайд 2

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

Планирование - обеспечение поочередного доступа процессов к одному процессору. Планировщик - отвечающая
это часть операционной системы.
Алгоритм планирования - используемый алгоритм для планирования.
Ситуации, когда необходимо планирование:
- Когда создается процесс
- Когда процесс завершает работу
- Когда процесс блокируется на операции ввода/вывода, семафоре, и т.д.
- При прерывании ввода/вывода.

Слайд 3

Алгоритм планирования без переключений (неприоритетный) - не требует прерывание по аппаратному таймеру,

Алгоритм планирования без переключений (неприоритетный) - не требует прерывание по аппаратному таймеру,
процесс останавливается только когда блокируется или завершает работу.
Алгоритм планирования с переключениями (приоритетный) - требует прерывание по аппаратному таймеру, процесс работает только отведенный период времени, после этого он приостанавливается по таймеру, чтобы передать управление планировщику.
Необходимость алгоритма планирования зависит от задач, для которых будет использоваться операционная система.

Слайд 4

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

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

Слайд 6

Задачи алгоритмов планирования:
Для всех систем
Справедливость - каждому процессу справедливую долю процессорного времени
Контроль

Задачи алгоритмов планирования: Для всех систем Справедливость - каждому процессу справедливую долю
над выполнением принятой политики Баланс - поддержка занятости всех частей системы (например: чтобы были заняты процессор и устройства ввода/вывода)
Системы пакетной обработки
Пропускная способность - количество задач в час
Оборотное время - минимизация времени на ожидание обслуживания и обработку задач.
Использование процесса - чтобы процессор всегда был занят.

Слайд 7

Интерактивные системы
Время отклика - быстрая реакция на запросы Соразмерность - выполнение ожиданий пользователя

Интерактивные системы Время отклика - быстрая реакция на запросы Соразмерность - выполнение
(например: пользователь не готов к долгой загрузке системы)
Системы реального времени
Окончание работы к сроку - предотвращение потери данных
Предсказуемость - предотвращение деградации качества в мультимедийных системах (например: потерь качества звука должно быть меньше чем видео)

Слайд 8

Планирование в системах пакетной обработки
"Первый пришел - первым обслужен" (FIFO -

Планирование в системах пакетной обработки "Первый пришел - первым обслужен" (FIFO -
First In Fist Out)
Процессы ставятся в очередь по мере поступления.
Преимущества:
Простата
Справедливость (как в очереди покупателей, кто последний пришел, тот оказался в конце очереди)
Недостатки:
Процесс, ограниченный возможностями процессора может затормозить более быстрые процессы, ограниченные устройствами ввода/вывода.

Слайд 9

Кратчайшая задача - первая«

Нижняя очередь выстроена с учетом этого алгоритма
 Преимущества:
-Уменьшение оборотного времени
-Справедливость

Кратчайшая задача - первая« Нижняя очередь выстроена с учетом этого алгоритма Преимущества:
(как в очереди покупателей, кто без сдачи проходит в перед)
Недостатки:
- Длинный процесс, занявший процессор, не пустит более новые краткие процессы, которые пришли позже.

Слайд 10

Наименьшее оставшееся время выполнения
Аналог предыдущего, но если приходит новый процесс, его полное

Наименьшее оставшееся время выполнения Аналог предыдущего, но если приходит новый процесс, его
время выполнения сравнивается с оставшимся временем выполнения текущего процесса.
Трехуровневое планирование
Планировщик доступа выбирает задачи оптимальным образом(например: процессы, ограниченные процессором и вводом/выводом).
Если процессов в памяти слишком много, планировщик памяти выгружает и загружает некоторые процессы на диск. Количество процессов находящихся в памяти, называется степенью многозадачности.

Слайд 11

Планирование в интерактивных системах
Циклическое планирование
Самый простой алгоритм планирования и часто используемый.
Каждому

Планирование в интерактивных системах Циклическое планирование Самый простой алгоритм планирования и часто
процессу предоставляется квант времени процессора. Когда квант заканчивается процесс переводится планировщиком в конец очереди. При блокировке процесс выпадает из очереди.

Слайд 12

Преимущества:
Простата
Справедливость (как в очереди покупателей, каждому только по килограмму)
Недостатки:
Если частые переключения (квант

Преимущества: Простата Справедливость (как в очереди покупателей, каждому только по килограмму) Недостатки:
- 4мс, а время переключения равно 1мс), то происходит уменьшение производительности.
Если редкие переключения (квант - 100мс, а время переключения равно 1мс), то происходит увеличение времени ответа на запрос.

Слайд 13

Приоритетное планирование
Каждому процессу присваивается приоритет, и управление передается процессу с самым высоким

Приоритетное планирование Каждому процессу присваивается приоритет, и управление передается процессу с самым
приоритетом.
Приоритет может быть динамический и статический.
Динамический приоритет может устанавливаться так:
П=1/Т, где Т- часть использованного в последний раз кванта
Если использовано 1/50 кванта, то приоритет 50.
Если использован весь квант, то приоритет 1.
Т.е. процессы, ограниченные вводом/вывода, будут иметь приоритет над процессами ограниченными процессором.
Часто процессы объединяют по приоритетам в группы, и используют приоритетное планирование среди групп, но внутри группы используют циклическое планирование.

Слайд 15

Методы разделения процессов на группы
Группы с разным квантом времени
Сначала процесс попадает в

Методы разделения процессов на группы Группы с разным квантом времени Сначала процесс
группу с наибольшим приоритетом и наименьшим квантом времени, если он использует весь квант, то попадает во вторую группу и т.д. Самые длинные процессы оказываются в группе наименьшего приоритета и наибольшего кванта времени

Слайд 16

Планирование в системах реального времени
Системы реального времени делятся на:
- жесткие (жесткие сроки

Планирование в системах реального времени Системы реального времени делятся на: - жесткие
для каждой задачи) - управление движением
- гибкие (нарушение временного графика не желательны, но допустимы) - управление видео и аудио
Внешние события, на которые система должна реагировать, делятся:
- периодические - потоковое видео и аудио
- непериодические (непредсказуемые) - сигнал о пожаре
Планирование однородных процессов
В качестве однородных процессов можно рассмотреть видео сервер с несколькими видео потоками (несколько пользователей смотрят фильм).
Т.к. все процессы важны, можно использовать циклическое планирование.
Но так как количество пользователей и размеры кадров могут меняться, для реальных систем он не подходит.

Слайд 17

Общее планирование реального времени
Используется модель, когда каждый процесс борется за процессор со

Общее планирование реального времени Используется модель, когда каждый процесс борется за процессор
своим заданием и графиком его выполнения.
Планировщик должен знать:
- частоту, с которой должен работать каждый процесс
- объем работ, который ему предстоит выполнить
- ближайший срок выполнения очередной порции задания
Рассмотрим пример из трех процессов.
Процесс А запускается каждые 30мс, обработка кадра 10мс
Процесс В частота 25 кадров, т.е. каждые 40мс, обработка кадра 15мс
Процесс С частота 20 кадров, т.е. каждые 50мс, обработка кадра 5мс

Слайд 19

Статический алгоритм планирования RMS (Rate Monotonic Scheduling)
Процессы должны удовлетворять условиям:
- Процесс должен

Статический алгоритм планирования RMS (Rate Monotonic Scheduling) Процессы должны удовлетворять условиям: -
быть завершен за время его периода
- Один процесс не должен зависеть от другого
- Каждому процессу требуется одинаковое процессорное время на каждом интервале
- У непериодических процессов нет жестких сроков
- Прерывание процесса происходит мгновенно
Приоритет в этом алгоритме пропорционален частоте.
Процессу А он равен 33 (частота кадров)
Процессу В он равен 25
Процессу С он равен 20
Процессы выполняются по приоритету

Слайд 21

Динамический алгоритм планирования EDF (Earliest Deadline First)
Наибольший приоритет выставляется процессу, у которого

Динамический алгоритм планирования EDF (Earliest Deadline First) Наибольший приоритет выставляется процессу, у
осталось наименьшее время выполнения.
При больших загрузках системы EDF имеет преимущества.
Рассмотрим пример, когда процессу А требуется для обработки кадра - 15мс.
Имя файла: Типы-планирования.-Алгоритмы-планирования.-Примеры-реализации-алгоритмов-планирования-в-современных-операционных-системах.pptx
Количество просмотров: 73
Количество скачиваний: 0