Планирование процессов L/O/G/O

Содержание

Слайд 2

Основные понятия планирования

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

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

Слайд 3

Основные понятия планирования

Ситуации, когда необходимо планирование:
Когда создается процесс
Когда процесс завершает работу
Когда процесс

Основные понятия планирования Ситуации, когда необходимо планирование: Когда создается процесс Когда процесс
блокируется на операции ввода/вывода, семафоре, и т.д.
При прерывании ввода/вывода.

Слайд 4

Основные понятия планирования

Виды систем:
Системы пакетной обработки - могут использовать неприоритетный и приоритетный

Основные понятия планирования Виды систем: Системы пакетной обработки - могут использовать неприоритетный
алгоритм
Интерактивные системы - могут использовать только приоритетный алгоритм, нельзя допустить чтобы один процесс занял надолго процессор
Системы реального времени - могут использовать неприоритетный и приоритетный алгоритм

Слайд 5

Задачи алгоритмов планирования

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

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

Слайд 6

Задачи алгоритмов планирования

Системы пакетной обработки
Пропускная способность - количество задач в час
Оборотное время

Задачи алгоритмов планирования Системы пакетной обработки Пропускная способность - количество задач в
- минимизация времени на ожидание обслуживания и обработку задач.
Использование процессора - чтобы процессор всегда был занят.

Слайд 7

Задачи алгоритмов планирования

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

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

Слайд 8

Основные понятия планирования

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

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

Слайд 9

Основные понятия планирования

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

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

Слайд 10

Механизмы планирования

Таймер – позволяет отсчитывать время выполнения процесса в процессоре и регулировать

Механизмы планирования Таймер – позволяет отсчитывать время выполнения процесса в процессоре и
загрузку процессора
Переключение – позволяет подавать сигналы ядру на приостановку / возобновление процесса с переключением контекста
Приоритеты – позволяют установить порядок переключения процессов в зависимости от различных факторов выполнения процессов

Слайд 11

Планирование в системах пакетной обработки

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

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

Слайд 12

FIFO

Пусть три процесса попадают в очередь одновременно в момент 0 и имеют

FIFO Пусть три процесса попадают в очередь одновременно в момент 0 и
следующие значения времени последующего обслуживания на ЦП
Вариант 1: П1 (24 мс), П2 (3 мс), П2(3 мс)
Вариант 2: П1 (3 мс), П2 (3 мс), П2(24 мс)

Слайд 13

FIFO

Преимущества:
Простота
Справедливость
Недостатки:
Процесс, ограниченный возможностями процессора может затормозить более быстрые процессы, ограниченные устройствами ввода/вывода.

FIFO Преимущества: Простота Справедливость Недостатки: Процесс, ограниченный возможностями процессора может затормозить более

Слайд 14

Кратчайшая задача – первая (SJF – Shortest Job First)

Пусть 4 процесса попадают

Кратчайшая задача – первая (SJF – Shortest Job First) Пусть 4 процесса
в очередь одновременно в момент 0 имеют следующие значения времени последующего обслуживания на ЦП: П1 (6 мс), П2 (8 мс), П3 (7 мс), П4 (3 мс)

SJF

FIFO

Слайд 15

Кратчайшая задача – первая (SJF – Shortest Job First)

Преимущества:
Уменьшение оборотного времени
Справедливость
Недостатки:
Длинный процесс,

Кратчайшая задача – первая (SJF – Shortest Job First) Преимущества: Уменьшение оборотного
занявший процессор, не пустит более новые короткие процессы, которые пришли позже.

Слайд 16

Наименьшее оставшееся время выполнения (SRT – Shortest Remaining Time)

Аналог SJF, но с

Наименьшее оставшееся время выполнения (SRT – Shortest Remaining Time) Аналог SJF, но
переключениями.
Если приходит новый процесс, его полное время выполнения сравнивается с оставшимся временем выполнения текущего процесса и выполняется тот процесс, которому осталось наименьшее время выполнения

Слайд 17

Трехуровневое планирование

Трехуровневое планирование

Слайд 18

Планирование в интерактивных системах

Циклическое планирование

Планирование в интерактивных системах Циклическое планирование

Слайд 19

Циклическое планирование

Каждому процессу предоставляется квант времени процессора.
Когда квант заканчивается процесс переводится

Циклическое планирование Каждому процессу предоставляется квант времени процессора. Когда квант заканчивается процесс
планировщиком в конец очереди.
При блокировке процесс выпадает из очереди
Пример:
П1 (24 мс), П2 (3 мс), П3 (3 мс); q = 4 мс

Слайд 20

Циклическое планирование

Преимущества:
Простота
Справедливость
Недостатки:
При малом кванте - частые переключения, в результате уменьшение производительности
При большом

Циклическое планирование Преимущества: Простота Справедливость Недостатки: При малом кванте - частые переключения,
кванте - редкие переключения, в результате происходит увеличение времени ответа на запрос (приближается к FIFO).

Слайд 21

Приоритетное планирование

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

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

Слайд 22

Приоритетное планирование

Часто процессы объединяют по приоритетам в группы, и используют
среди групп

Приоритетное планирование Часто процессы объединяют по приоритетам в группы, и используют среди
- приоритетное планирование
внутри группы - циклическое планирование
Методы разделения процессов на группы
Группы с разным квантом времени
Группы с разным назначением процессов

Слайд 23

Группы с разным квантом времени

Процесс либо заканчивает работу, либо переходит в другую

Группы с разным квантом времени Процесс либо заканчивает работу, либо переходит в другую группу
группу

Слайд 24

Группы с разным назначением процессов

Процесс, отвечающий на запрос, переходит в группу с

Группы с разным назначением процессов Процесс, отвечающий на запрос, переходит в группу с наивысшим приоритетом
наивысшим приоритетом

Слайд 25

Планирование в интерактивных системах

Гарантированное планирование
В системе с n-процессами, каждому процессу будет

Планирование в интерактивных системах Гарантированное планирование В системе с n-процессами, каждому процессу
предоставлено 1/n времени процессора.
Справедливое планирование
Процессорное время распределяется среди пользователей, а не процессов.

Слайд 26

Планирование в интерактивных системах

Лотерейное планирование
Процессам раздаются "лотерейные билеты" на доступ к

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

Слайд 27

Планирование в системах реального времени

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

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

Слайд 28

Планирование в системах реального времени
Внешние события, на которые система должна реагировать, делятся:
периодические

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

Слайд 29

Планирование в системах реального времени

Чтобы систему реального времени можно было планировать, нужно

Планирование в системах реального времени Чтобы систему реального времени можно было планировать,
чтобы выполнялось условие:
m - число периодических событий
i - номер события
P(i) - период поступления события
T(i) - время, которое уходит на обработку события
Перегруженная система реального времени является непланируемой

Слайд 30

Общее планирование реального времени

Каждый процесс борется за процессор со своим заданием и

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

Слайд 31

Общее планирование реального времени

Планировщик должен знать:
Частоту , с которой должен работать процесс
объем

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

Слайд 32

Общее планирование реального времени

Пример: имеются 3 периодических процесса.
Процесс А запускается каждые 30мс,

Общее планирование реального времени Пример: имеются 3 периодических процесса. Процесс А запускается
обработка - 10мс
Процесс В частота = 25 (т.е. каждые 40мс), обработка - 15мс
Процесс С частота =20 (т.е. каждые 50мс), обработка кадра 5мс
10/30+15/40+5/50=0.808<1

Слайд 33

Общее планирование реального времени

Общее планирование реального времени

Слайд 34

Общее планирование реального времени

Различают 2 алгоритма планирования в системах реального времени:
Статический алгоритм

Общее планирование реального времени Различают 2 алгоритма планирования в системах реального времени:
планирования RMS (Rate Monotonic Scheduling) –
Процессы выполняются по приоритету
Приоритет пропорционален частоте
Динамический алгоритм планирования EDF (Earliest Deadline First)
Наибольший приоритет выставляется процессу, у которого осталось наименьшее время выполнения

Слайд 35

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

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

Алгоритм планирования RMS Процессы должны удовлетворять условиям: Процесс должен быть завершен за
периода
Один процесс не должен зависеть от другого
Каждому процессу требуется одинаковое процессорное время на каждом интервале
У непериодических процессов нет жестких сроков
Прерывание процесса происходит мгновенно

Слайд 36

Сравнение RMS и EDF

Пример 1
10/30+15/40+5/50=0.808<1

Пример 2
15/30+15/40+5/50=0.975<1

Сравнение RMS и EDF Пример 1 10/30+15/40+5/50=0.808 Пример 2 15/30+15/40+5/50=0.975

Слайд 37

RMS – Пример 1

RMS – Пример 1

Слайд 38

Сравнение RMS и EDF- Пример 1

Сравнение RMS и EDF- Пример 1

Слайд 39

RMS - Пример 2

RMS - Пример 2