Similar presentations:
1727696493_Лекция4_5_Планирование_процессов
1.
Планированиепроцессов
Лекция 4, 5
Чем тщательнее мы планируем свою деятельность,
тем меньше времени остается на ее осуществление.
Из анналов Госплана
2.
План лекцииУровни планирования
Критерии планирования и требования к
алгоритмам
Параметры планирования
Вытесняющее и невытесняющее
планирование
Алгоритмы планирования
3.
34.
Уровни планирования• Планирование
заданий
долгосрочное
планирование процессов
• Отвечает за порождение новых процессов в системе,
определяя
степень
мультипрограммирования,
число процессов, одновременно находящихся в
системе
• Если степень мультипрограммирования системы
постоянна, то новые процессы могут появляться
только после завершения ранее загруженных
5.
Уровни планирования• Планирование использования процессора краткосрочное планирование процессов
• Осуществляется весьма часто, как правило, не реже
одного раза в 100 миллисекунд
• Оказывает влияние на функционирование системы
до наступления очередного аналогичного события,
т. е. в течение короткого промежутка времени
6.
Уровни планирования• В некоторых ВС бывает выгодно временно удалить
какой-либо частично выполнившийся процесс из
оперативной памяти на диск, а позже вернуть его
обратно для дальнейшего выполнения
• Swapping (“перекачка”), в профессиональной
литературе используется транслитерация - свопинг
• Требуется дополнительный промежуточный уровень
планирования процессов — среднесрочный
7.
Планирование процессовУровни планирования
• Долгосрочное планирование – планирование
заданий
• Среднесрочное планирование – swapping
• Краткосрочное планирование – планирование
использования процессора.
8.
Планирование процессовЦели планирования
• Справедливость
• Эффективность
• Сокращение полного времени выполнения
(turnaround time)
• Сокращение времени ожидания (waiting time)
• Сокращение времени отклика (response time)
9.
Планирование процессовЦели планирования
1.
2.
Справедливость: гарантировать каждому
заданию или процессу некоторую часть времени
использования процессора в компьютерной
системе, не допуская ситуаций, когда процесс
одного пользователя постоянно занимает
процессор, а процесс другого пользователя
фактически не выполняется
Эффективность: постараться занять процессор
на все 100% рабочего времени, не позволяя ему
простаивать в ожидании процессов, готовых к
исполнению (в реальных ВС загрузка
процессора колеблется от 40 до 90 %)
10.
Планирование процессовЦели планирования
3.
4.
5.
Сокращение полного времени выполнения (turnaround
time): обеспечить минимальное время между стартом
процесса или постановкой задания в очередь для
загрузки и его завершением
Сокращение времени ожидания (waiting time):
минимизировать время, которое проводят процессы в
состоянии готовность и задания в очереди для
загрузки
Сокращение времени отклика (response time):
минимизировать время, которое требуется процессу в
интерактивных системах для ответа на запрос
пользователя
11.
Планирование процессовЖелаемые свойства алгоритмов
Предсказуемость
Минимизация накладных расходов
Равномерность загрузки вычислительной системы
Масштабируемость
12.
Планирование процессовЖелаемые свойства алгоритмов
1.
2.
3.
4.
Предсказуемость: одно и то же задание должно
выполняться приблизительно за одно и то же время
Минимальные накладные расходы – сокращение
времени работы самого алгоритма планирования
Равномерная загрузка ресурсов ВС с предпочтением
процессов, которые будут занимать
малоиспользуемые ресурсы
Масштабируемость: алгоритмы должны сохранять
работоспособность при увеличении нагрузки
13.
Планирование процессовПараметры планирования
• Статические параметры вычислительной системы –
например, предельные значения ее ресурсов.
• Статические параметры процесса – кем запущен, степень
важности, запрошенное процессорное время, какие
требуются ресурсы и т.д.
Статические
• Динамические параметры вычислительной системы –
например, количество свободных ресурсов в данный момент.
• Динамические параметры процесса – текущий приоритет,
размер занимаемой оперативной памяти, использованное
процессорное время и т.д.
Динамические
14.
Планирование процессовВажные динамические параметры процесса
a=1
b=2
read c
CPU burst
Ожидание окончания
ввода
I/O burst
a=a+c∗b
print a
CPU burst
Ожидание окончания
вывода
I/O burst
15.
Планирование процессовВытесняющее и невытесняющее
• Перевод процесса из состояния «исполнение» в состояние
«закончил исполнение»
• Перевод процесса из состояния «исполнение» в состояние
«ожидание»
Вынужденное принятие решения
• Перевод процесса из состояния «исполнение» в состояние
«готовность»
• Перевод процесса из состояния «ожидание» в состояние
«готовность»
Невынужденное принятие решения
16.
Планирование процессовВытесняющее и невытесняющее
• Перевод процесса из состояния «исполнение» в состояние
«закончил исполнение»
• Перевод процесса из состояния «исполнение» в состояние
«ожидание»
Вынужденное принятие решения
• Перевод процесса из состояния «исполнение» в состояние
«готовность»
• Перевод процесса из состояния «ожидание» в состояние
«готовность»
Невынужденное принятие решения
Принятие только вынужденных решений –
невытесняющее планирование
17.
Планирование процессовВытесняющее и невытесняющее
• Перевод процесса из состояния «исполнение» в состояние
«закончил исполнение»
• Перевод процесса из состояния «исполнение» в состояние
«ожидание»
Вынужденное принятие решения
• Перевод процесса из состояния «исполнение» в состояние
«готовность»
• Перевод процесса из состояния «ожидание» в состояние
«готовность»
Невынужденное принятие решения
Принятие вынужденных и невынужденных решений –
вытесняющее планирование
18.
Алгоритмы планированияFCFS (First Come – First Served)
Процессы
Продолжительность CPU burst
P0
13
P1
4
13 17 18
16
3
0 13 17
wt
10
3
tt
исполнение
P0
исполнение
готовность
P1
исполнение
готовность
P2
0
13
17
P2
1
18
t
19.
Алгоритмы планированияFCFS (First Come – First Served)
Процессы
Продолжительность CPU burst
готовность
P0
P2
1
P1
4
18 5 1
8
3
5 1 0
wt
2
3
tt
исполнение
готовность
P1
исполнение
P2
0
1
5
P0
13
18
t
20.
Алгоритмы планированияRR (Round Robin)
готовность
готовность
готовность
Процесс
Процесс 41
Процесс
Процесс 4
4
готовность
готовность
Процесс
Процесс
3 4
готовность
готовность
Процесс
Процесс 1
1
готовность
готовность
Процесс
2
1
готовность
готовность
исполнение
исполнение
Процессисполнение
3
Процесс 2
Процессисполнение
3
Процесс 2
Процесс 2
3
Процессор
21.
Алгоритмы планированияRR (Round Robin)
Остаток времени CPU burst <= кванта времени:
• процесс освобождает процессор до начала нового кванта;
• на исполнение выбираем новый процесс из начала очереди
готовых и выделяем ему новый квант времени.
Остаток времени CPU burst > кванта времени:
• по окончании кванта процесс помещается в конец очереди
готовых к исполнению процессов;
• на исполнение выбираем новый процесс из начала очереди
готовых.
22.
Алгоритмы планированияRR (Round Robin)
Процессы
Продолжительность CPU burst
P0
13
P1
4
P2
1
Величина кванта времени – 4
время
tt
1
5
6
7
8
9
10
P0
И И И И Г
Г
Г
Г
Г
И И И И И И И И И
P1
Г
Г
Г
Г
P2
Г
Г
Г
Г Г
18 8 9
2
11
3
3
2
wt
3
4
11
12
13
14
15
16
17
И И И И
5 4 8
2
5
3
3
Г
Г
Г И
Исполнение
P012
Очередь готовых
P021
P021
P02
18
23.
Алгоритмы планированияRR (Round Robin)
Процессы
Продолжительность CPU burst
P0
13
P1
4
P2
1
Величина кванта времени – 1
время
tt
1
2
3
4
P0
И Г
Г
И Г
P1
Г
И Г
P2
Г
Г
18 9 3
10
3
Г
5
6
7
И Г
И Г
8
9
И Г
И Г
10
11
12
13
14
15
16
17
И И И И И И И И И
И
И
wt
5 5 2
4
3
Исполнение
P102
18
Очередь готовых
P102
P102
P102
24.
Алгоритмы планированияSJF (Shortest Job First) невытесняющий
tt
Процессы
P0
P1
P2
P3
Продолжительность CPU burst
5
3
7
1
время
1
2
3
4
5
6
P0
Г
Г
Г
Г
И
И И
P1
P2
Г
Г
И И
Г Г
P3
И
9 4 16 1
1
7
4
2
wt
И
Г Г
4 1 9 0
1
3
4
2
Г
7
Г
8
9
10
11
12
13
14
15
16
И И
И
И И
И
И
И И
Г
Г
готовность
исполнение
P2013
P0
P1
P2
P3
25.
Алгоритмы планированияSJF (Shortest Job First) вытесняющий
Процессы
P0
P1
P2
P3
Продолжительность CPU burst
6
2
5
5
Момент появления в очереди
0
2
6
0
время
1
2
3
4
5
6
7
8
9
10
11
12
P0
Г
Г
Г
Г
Г
Г
Г
Г
Г
Г
Г
Г И И И И И И
15
16
17
18
Г И И И И И
P2
tt
14
И И
P1
P3
13
И И Г
18 2 6 7
1
8
4
4
wt
Г
И И И
12 0 1 2
3
3
4
4
готовность
исполнение
P2013
P0
P1
P2
P3
26.
Алгоритмы планированияSJF (Shortest Job First) приближение
τ(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), нет учета предыстории
27.
Алгоритмы планированияГарантированное планирование
В системе разделения времени N пользователей:
Ti – время нахождения i-го пользователя в системе
τi – суммарное процессорное время процессов i-го пользователя
τi ‹‹ Ti /N – пользователь обделен
τi ›› Ti /N – пользователю благоволят
(τi N) / Ti – коэффициент справедливости
На исполнение выбираются готовые процессы пользователя с
наименьшим коэффициентом справедливости
28.
Алгоритмы планированияПриоритетное планирование
Каждому процессу процессор выделяется в соответствии с
приписанным к нему числовым значением - приоритетом
Параметры для назначения приоритета бывают:
• внешние
• внутренние
Политика изменения приоритета:
• статический приоритет
• динамический приоритет
29.
Алгоритмы планированияПриоритетное планирование невытесняющее
Процессы
P0
P1
P2
P3
Продолжительность CPU burst
6
2
5
5
Момент появления в очереди
0
2
6
0
Приоритет
4
3
2
1
время
1
2
3
4
5
6
7
8
9
10
11
12
P0
Г
Г
Г
Г
Г
Г
Г
Г
Г
Г
Г
Г И И И И И И
Г
Г
Г И И
P1
14
15
16
17
18
Г И И И И И
P2
P3
13
И И И И И
18 5 6 5
1
tt
8
4
2
12 3 1 0
wt
4
4
исполнение
P2013
готовность
P0
P1
P2
P3
30.
Алгоритмы планированияПриоритетное планирование вытесняющее
Процессы
P0
P1
P2
P3
Продолжительность CPU burst
6
2
5
5
Момент появления в очереди
0
2
6
0
Приоритет
4
3
2
1
время
1
2
3
4
5
6
7
8
9
10
11
12
P0
Г
Г
Г
Г
Г
Г
Г
Г
Г
Г
Г
Г И И И И И И
Г
Г
Г И Г Г
Г
Г
Г
И
P1
14
15
16
17
18
И И И И И
P2
P3
13
И И И И И
18 10 5 5
1
tt
9
4
2
12 8 0 0
wt
5
4
исполнение
P2013
готовность
P0
P1
P2
P3
31.
Алгоритмы планированияМногоуровневые очереди
(Multilevel Queue)
Системные процессы приоритет 0
RR
Процессы ректората приоритет 1
RR
Процессы преподавателей приоритет 2
RR
Процессы студентов приоритет 3
RR
Фоновые процессы приоритет 4
FCFS
32.
Алгоритмы планированияМногоуровневые очереди с обратной связью
(Multilevel Feedback Queue)
Клавиатурный
ввод
Очередь 0 – Приоритет 0
RR с квантом времени 8
Очередь 1 – Приоритет 1
RR с квантом времени 16
Очередь 2 – Приоритет 2
RR с квантом времени 32
Дисковый I/O
Очередь 3 – Приоритет 3
FCFS
33.
Алгоритмы планированияМногоуровневые очереди с обратной связью
(Multilevel Feedback Queue)
Для полного описания необходимо задать:
количество очередей в состоянии готовность
алгоритм планирования между очередями
алгоритмы планирования внутри очередей
куда помещается родившийся процесс
правила перевода процессов из одной очереди в другую