Слайд 2Основные понятия планирования
Планирование - обеспечение поочередного доступа процессов к одному
процессору.
Планировщик - отвечающая за это часть ОС.
Алгоритм планирования - используемый
алгоритм для планирования.
Слайд 3Основные понятия планирования
Ситуации, когда необходимо планирование:
Когда создается процесс
Когда процесс завершает
работу
Когда процесс блокируется на операции ввода/вывода, семафоре, и т.д.
При прерывании
ввода/вывода.
Слайд 4Основные понятия планирования
Виды систем:
Системы пакетной обработки - могут использовать неприоритетный
и приоритетный алгоритм
Интерактивные системы - могут использовать только приоритетный алгоритм,
нельзя допустить чтобы один процесс занял надолго процессор
Системы реального времени - могут использовать неприоритетный и приоритетный алгоритм
Слайд 5Задачи алгоритмов планирования
Для всех систем
Справедливость - каждому процессу справедливую долю
процессорного времени
Контроль над выполнением принятой политики
Баланс - поддержка занятости всех
частей системы (например: чтобы были заняты процессор и устройства ввода/вывода)
Слайд 6Задачи алгоритмов планирования
Системы пакетной обработки
Пропускная способность - количество задач в
час
Оборотное время - минимизация времени на ожидание обслуживания и обработку
задач.
Использование процессора - чтобы процессор всегда был занят.
Слайд 7Задачи алгоритмов планирования
Интерактивные системы
Время отклика - быстрая реакция на запросы
Соразмерность
- выполнение ожиданий пользователя
Системы реального времени
Окончание работы к сроку -
предотвращение потери данных
Предсказуемость -
Слайд 8Основные понятия планирования
Алгоритм планирования без переключений (неприоритетный) - не требует
прерывание по аппаратному таймеру, процесс останавливается только когда блокируется или
завершает работу.
Слайд 9Основные понятия планирования
Алгоритм планирования с переключениями (приоритетный) - требует прерывание
по аппаратному таймеру, процесс работает только отведенный период времени, после
этого он приостанавливается по таймеру, чтобы передать управление планировщику.
Слайд 10Механизмы планирования
Таймер – позволяет отсчитывать время выполнения процесса в процессоре
и регулировать загрузку процессора
Переключение – позволяет подавать сигналы ядру на
приостановку / возобновление процесса с переключением контекста
Приоритеты – позволяют установить порядок переключения процессов в зависимости от различных факторов выполнения процессов
Слайд 11Планирование в системах пакетной обработки
"Первый пришел - первым обслужен" (FIFO
- First In Fist Out)
процессор передается тому процессу, который раньше
всех других его запросил.
среднее время ожидания для стратегии FIFO часто весьма велико и зависит от порядка поступления процессов в очередь готовых процессов.
Слайд 12FIFO
Пусть три процесса попадают в очередь одновременно в момент 0
и имеют следующие значения времени последующего обслуживания на ЦП
Вариант 1:
П1 (24 мс), П2 (3 мс), П2(3 мс)
Вариант 2: П1 (3 мс), П2 (3 мс), П2(24 мс)
Слайд 13FIFO
Преимущества:
Простота
Справедливость
Недостатки:
Процесс, ограниченный возможностями процессора может затормозить более быстрые процессы, ограниченные
устройствами ввода/вывода.
Слайд 14Кратчайшая задача – первая (SJF – Shortest Job First)
Пусть 4
процесса попадают в очередь одновременно в момент 0 имеют следующие
значения времени последующего обслуживания на ЦП: П1 (6 мс), П2 (8 мс), П3 (7 мс), П4 (3 мс)
SJF
FIFO
Слайд 15Кратчайшая задача – первая (SJF – Shortest Job First)
Преимущества:
Уменьшение оборотного
времени
Справедливость
Недостатки:
Длинный процесс, занявший процессор, не пустит более новые короткие процессы,
которые пришли позже.
Слайд 16Наименьшее оставшееся время выполнения (SRT – Shortest Remaining Time)
Аналог SJF,
но с переключениями.
Если приходит новый процесс, его полное время
выполнения сравнивается с оставшимся временем выполнения текущего процесса и выполняется тот процесс, которому осталось наименьшее время выполнения
Слайд 18Планирование в интерактивных системах
Циклическое планирование
Слайд 19Циклическое планирование
Каждому процессу предоставляется квант времени процессора.
Когда квант заканчивается
процесс переводится планировщиком в конец очереди.
При блокировке процессор выпадает
из очереди
Пример:
П1 (24 мс), П2 (3 мс), П3 (3 мс); q = 4 мс
Слайд 20Циклическое планирование
Преимущества:
Простота
Справедливость
Недостатки:
При малом кванте - частые переключения, в результате уменьшение
производительности
При большом кванте - редкие переключения, в результате происходит увеличение
времени ответа на запрос (приближается к FIFO).
Слайд 21Приоритетное планирование
Каждому процессу присваивается приоритет, и управление передается процессу с
самым высоким приоритетом
Приоритет может быть динамический и статический.
Динамический приоритет может
устанавливаться следующим образом:
где Т- часть использованного кванта
Например, если T = 1/50, то приоритет 50,
если использован весь квант, то приоритет 1.
Слайд 22Приоритетное планирование
Часто процессы объединяют по приоритетам в группы, и используют
среди групп - приоритетное планирование
внутри группы - циклическое
планирование
Методы разделения процессов на группы
Группы с разным квантом времени
Группы с разным назначением процессов
Слайд 23Группы с разным квантом времени
Процесс либо заканчивает работу, либо переходит
в другую группу
Слайд 24Группы с разным назначением процессов
Процесс, отвечающий на запрос, переходит в
группу с наивысшим приоритетом
Слайд 25Планирование в интерактивных системах
Гарантированное планирование
В системе с n-процессами,
каждому процессу будет предоставлено 1/n времени процессора.
Справедливое планирование
Процессорное время распределяется среди пользователей, а не процессов.
Слайд 26Планирование в интерактивных системах
Лотерейное планирование
Процессам раздаются "лотерейные билеты"
на доступ к ресурсам. Планировщик может выбрать любой билет, случайным
образом. Чем больше билетов у процесса, тем больше у него шансов захватить ресурс.
Слайд 27Планирование в системах реального времени
Системы реального времени делятся на:
жесткие (жесткие
сроки для каждой задачи) - управление движением
гибкие (нарушение временного графика
не желательны, но допустимы) - управление видео и аудио
Слайд 28Планирование в системах реального времени
Внешние события, на которые система должна
реагировать, делятся:
периодические - потоковое видео и аудио
непериодические (непредсказуемые) - сигнал
о пожаре
Слайд 29Планирование в системах реального времени
Чтобы систему реального времени можно было
планировать, нужно чтобы выполнялось условие:
m - число периодических событий
i -
номер события
P(i) - период поступления события
T(i) - время, которое уходит на обработку события
Перегруженная система реального времени является непланируемой
Слайд 30Общее планирование реального времени
Каждый процесс борется за процессор со своим
заданием и графиком его выполнения.
Слайд 31Общее планирование реального времени
Планировщик должен знать:
Частоту , с которой должен
работать процесс
объем работ, который ему предстоит выполнить
ближайший срок выполнения очередной
порции задания
Слайд 32Общее планирование реального времени
Пример: имеются 3 периодических процесса.
Процесс А запускается
каждые 30мс, обработка - 10мс
Процесс В частота = 25 (т.е.
каждые 40мс), обработка - 15мс
Процесс С частота =20 (т.е. каждые 50мс), обработка кадра 5мс
10/30+15/40+5/50=0.808<1
Слайд 33Общее планирование реального времени
Слайд 34Общее планирование реального времени
Различают 2 алгоритма планирования в системах реального
времени:
Статический алгоритм планирования RMS (Rate Monotonic Scheduling) –
Процессы выполняются
по приоритету
Приоритет пропорционален частоте
Динамический алгоритм планирования EDF (Earliest Deadline First)
Наибольший приоритет выставляется процессу, у которого осталось наименьшее время выполнения
Слайд 35Алгоритм планирования RMS
Процессы должны удовлетворять условиям:
Процесс должен быть завершен за
время его периода
Один процесс не должен зависеть от другого
Каждому процессу
требуется одинаковое процессорное время на каждом интервале
У непериодических процессов нет жестких сроков
Прерывание процесса происходит мгновенно
Слайд 36Сравнение RMS и EDF
Пример 1
10/30+15/40+5/50=0.808