Основы современных операционных систем Лекция 11

advertisement
Основы современных
операционных систем
Лекция 11
vosafonov@gmail.com
http://polyhimnie.math.spbu.ru/jtl
Планирование и диспетчеризация
процессора
(C) В.О. Сафонов, 2010
Основные понятия
(C) В.О. Сафонов, 2010
Последовательность активных фаз (bursts)
процессора и ввода-вывода
(C) В.О. Сафонов, 2010
Гистограмма периодов активности
процессора
(C) В.О. Сафонов, 2010
Планировщик процессора
(scheduler)
(C) В.О. Сафонов, 2010
Собственно диспетчер
•
(C) В.О. Сафонов, 2010
Критерии диспетчеризации
(C) В.О. Сафонов, 2010
Критерии оптимизации
(C) В.О. Сафонов, 2010
Стратегия диспетчеризации
First-Come-First-Served (FCFS)
P1
0
P2
24
P3
27
30
nВремя ожидания для P1 = 0; P2 = 24; P3 = 27
nСреднее время ожидания: (0 + 24 + 27)/3 = 17
(C) В.О. Сафонов, 2010
Стратегия FCFS (продолжение)
P2
0
P3
3
P1
6
30
nВремя ожидания: P1 = 6; P2 = 0; P3 = 3
nСреднее время ожидания: (6 + 0 + 3)/3 = 3
nМного лучше, чем в предыдущем случае.
n Эффект сопровождения (convoy effect) - короткий
процесс после долгого процесса
(C) В.О. Сафонов, 2010
Стратегия Shortest-Job-First (SJF)
(C) В.О. Сафонов, 2010
Пример: SJF без опережения
P1
0
3
P3
7
P2
8
(C) В.О. Сафонов, 2010
P4
12
16
Пример: SJF с опережением
P1
0
P2
2
P3
4
P2
5
P4
7
P1
11
(C) В.О. Сафонов, 2010
16
Определение длины следующего
периода активности
1. t n  actual length of n thCPU burst
2.  n 1  predicted value for the next CPU burst
3.  , 0    1
4. Define :
 n1   tn  1    n .
(C) В.О. Сафонов, 2010
Предсказание длины следующего
периода активности
(C) В.О. Сафонов, 2010
Примеры экспоненциального усреднения
(C) В.О. Сафонов, 2010
Диспетчеризация по приоритетам
(C) В.О. Сафонов, 2010
Стратегия Round Robin (RR) –
“круговая система”
(C) В.О. Сафонов, 2010
Пример RR (квант времени = 20)
P1
0
P2
20
37
P3
P4
57
P1
77
P3
97 117
P4
P1
P3
P3
121 134 154 162
(C) В.О. Сафонов, 2010
Квант времени ЦП и время
переключения контекста
(C) В.О. Сафонов, 2010
Изменение времени оборота, в
зависимости от кванта времени
(C) В.О. Сафонов, 2010
Многоуровневая очередь
(C) В.О. Сафонов, 2010
Диспетчеризация по принципу
многоуровневой очереди
(C) В.О. Сафонов, 2010
Многоуровневая аналитическая очередь
(multi-level feedback queue)
(C) В.О. Сафонов, 2010
25
Пример многоуровневой
аналитической очереди
(C) В.О. Сафонов, 2010
26
Многоуровневые аналитические очереди
(C) В.О. Сафонов, 2010
27
Планирование загрузки
многопроцессорных систем
(C) В.О. Сафонов, 2010
28
Планирование загрузки процессоров в
реальном времени
(C) В.О. Сафонов, 2010
29
Латентность диспетчера
(dispatch latency)
(C) В.О. Сафонов, 2010
30
Планирование в Solaris
(C) В.О. Сафонов, 2010
31
Приоритеты в Windows 2000
(C) В.О. Сафонов, 2010
32
Q&A
(C) В.О. Сафонов, 2010
Download