презентация "Планирование процессов"

advertisement
Учебный курс
Основы операционных
систем
Лекция 3
кандидат физико-математических наук, доцент
Карпов Владимир Ефимович
40
Константин Коньков
http://www.intuit.ru/studies/courses/1089/217/info
Основы организации операционных систем Microsoft Windows
Академия Microsoft



Обычно в состоянии "Готовности" имеется очередь готовых к выполнению (running)
потоков. В данном случае это состояние распадается на три составляющих. Это,
собственно, состояние "Готовности (Ready)"; состояние "Готов. Отложен (Deferred
Ready)", что означает, что поток выбран для выполнения на конкретном
процессоре, но пока не запланирован к выполнению; и, наконец, состояние
"Простаивает (Standby)", в котором может находиться только один выбранный к
выполнению поток для каждого процессора в системе.
В состоянии "Ожидания (Waiting)" поток блокирован и ждет какого-либо события,
например, завершения операции ввода-вывода. При наступлении этого события
поток переходит в состояние "Готовности". Этот путь может проходить через
промежуточное "Переходное (Transition)" состояние в том случае, если стек ядра
потока выгружен из памяти.
Код ядра выполняется в контексте текущего потока. Это означает, что при
прерывании, системном вызове и т д., то есть когда процессор переходит в режим
ядра и управление передается ОС, переключения на другой поток (например,
системный) не происходит. Контекст потока при этом сохраняется, поскольку
операционная система все же может принять решение о смене характера
деятельности и переключении на другой поток. Вследствие этого в некоторых
курсах по операционным системам состояние "Выполнение" разделяют на
"Выполнение в режиме пользователя" и "Выполнение в режиме ядра".
2
3
Уровни планирования процессов
 Долгосрочное планирование – планирование
заданий.
 Среднесрочное планирование – swapping.
 Краткосрочное планирование – планирование
использования процессора.
4
Цели планирования
 Справедливость
 Эффективность
 Сокращение полного времени выполнения
(turnaround time)
 Сокращение времени ожидания (waiting time)
 Сокращение времени отклика (response time)
5
Желаемые свойства
алгоритмов планирования




Предсказуемость
Минимизация накладных расходов.
Равномерность загрузки вычислительной системы.
Масштабируемость.
6
Параметры планирования
 Статические параметры вычислительной системы –
например, предельные значения ее ресурсов.
 Статические параметры процесса – кем запущен,
степень важности, запрошенное процессорное время,
какие требуются ресурсы и т.д.
статические
 Динамические параметры вычислительной системы –
например, количество свободных ресурсов в данный
момент.
 Динамические параметры процесса – текущий
приоритет, размер занимаемой оперативной памяти,
использованное процессорное время и т.д.
динамические
7
CPU burst и I/O burst
Важные динамические параметры процесса
a=1
b=2
read c
Ожидание окончания
ввода
a=a+c∗b
print a
Ожидание окончания
вывода
CPU burst
I/O burst
CPU burst
I/O burst
8
Вытесняющее и невытесняющее
планирование
1.
2.
Перевод процесса из состояния исполнение в состояние
закончил исполнение
Перевод процесса из состояния исполнение в состояние
ожидание
Вынужденное принятие решения
Принятие только вынужденных решений –
невытесняющее планирование
3.
4.
Перевод процесса из состояния исполнение в состояние
готовность
Перевод процесса из состояния ожидание в состояние
готовность
Невынужденное принятие решения
Принятие вынужденных и невынужденных решений –
вытесняющее планирование
9
Алгоритмы планирования
FCFS (First Come – First Served)
Процессы
Продолжительность CPU burst
P0
13
P1
4
P2
1
исполнение
P0
готовность
P1
исполнение
исполнение
готовность
P2
0
1
5
13
17
18
t
Алгоритмы планирования
FCFS (First Come – First Served)
Процессы
Продолжительность CPU burst
готовность
P0
P2
1
P1
4
P0
13
исполнение
готовность
исполнение
P1
P2
исполнение
0
1
5
18
t
Алгоритмы планирования
RR (Round Robin)
готовность
Процесс 1
готовность
готовность
Процесс 4
Процесс 2
исполнение
исполнение
Процесс 3
2
Процессор
12
Алгоритмы планирования
RR (Round Robin)
готовность
Процесс 1
4
готовность
готовность
Процесс 3
Процесс 1
исполнение
Процесс 3
2
Процессор
13
Алгоритмы планирования
RR (Round Robin)
 Остаток времени CPU burst <= кванта времени:
– процесс освобождает процессор до истечения
кванта;
– на исполнение выбираем новый процесс из начала
очереди готовых;
 Остаток времени CPU burst >= кванта времени:
– По окончании кванта процесс помещается в конец
очереди готовых к исполнению процессов;
– на исполнение выбираем новый процесс из начала
очереди готовых.
14
Алгоритмы планирования
RR (Round Robin)
Процессы
Продолжительность CPU burst
P0
13
P1
4
P2
1
Величина кванта времени – 4
время 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
И И И И Г Г Г Г Г И И И И И И И И И
P0
P1
P2
Г
Г
Г
Г
И И И И
Г
Г
Г
Г Г
Г
исполнение
P1
Г
Г И
Очередь готовых
P0
P1
P2
15
Алгоритмы планирования
RR (Round Robin)
Процессы
Продолжительность CPU burst
P0
13
P1
4
P2
1
Величина кванта времени – 1
время 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
И Г Г И Г И Г И Г И И И И И И И И И
P0
P1
P2
Г
И Г
Г
Г
Г
И Г
И Г
И
И
исполнение
P102
Очередь готовых
P102
P102
P102
16
Алгоритмы планирования
SJF (Shortest Job First)
невытесняющий
Процессы
Продолжительность CPU
burst
P0
5
время
1
2
3
4
5
6
P0
Г
Г
Г
Г
И
И И
P1
P2
Г
Г
И И
Г Г
P3
И
И
Г Г
Г
7
Г
8
9
P1
3
P3
1
10 11 12 13 14 15 16
И И
Г
Г
И И
И
И И
И
И
готовность
исполнение
P2013
P2
7
P0
P1
P2
P3
17
Алгоритмы планирования
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
Г
Г
Г
Г
Г
Г
Г
Г
Г
Г
Г
Г И И И И И И
P1
14
15
16
17
18
И И
Г И И И И И
P2
P3
13
И И Г
Г
И И И
готовность
исполнение
P2013
P0
P1
P2
P3
18
Download