- •Лабораторная работа № 5 моделирование процессов в операционной системе
- •1. Управление процессами
- •2. Синхронизация процессов
- •3. Планирование процессов
- •4. Вталкивание-выталкивание
- •5. Конфигурация вычислительной системы
- •6. Состояние процесса
- •7. Взаимодействие процессов в системе
- •8. Управление памятью (memory manager)
- •9. Управление файлами (File System). Семафорные операции
- •10. Пользовательские процессы
- •Порядок использования модели
- •1. Цель
- •2. Порядок использования модели
- •3. Общая организация моделируемой вычислительной системы
- •Общее задание для выполнения
- •Зависимость числа страничных сбоев от кванта процессорного времени
- •Оценка зависимости загрузки процессора от величины кванта времени
- •Индивидуальные задания для выполнения
Оценка зависимости загрузки процессора от величины кванта времени
Для оценки этой зависимости построим в одних осях графики зависимости загрузки процессора от времени при различных значениях кванта времени. Конфигурация системы при тестировании: 5 пользовательских процессов, ДО = FIFO, объем памяти 5 страниц. (табл. 4.)
Таблица 4
Результаты тестирования зависимости загрузки процессора от величины кванта времени
ТМ |
Загрузка CPU, % |
|||
Квант = 1 |
Квант = 7 |
Квант = 14 |
Квант = 20 |
|
30 |
16 |
16 |
16 |
16 |
60 |
43 |
41 |
41 |
41 |
100 |
42 |
41 |
40 |
40 |
200 |
34 |
35 |
36 |
36 |
400 |
42 |
47 |
49 |
42 |
600 |
44 |
47 |
52 |
46 |
800 |
46 |
49 |
54 |
49 |
1000 |
46 |
46 |
49 |
46 |
1200 |
46 |
49 |
51 |
48 |
1400 |
47 |
48 |
48 |
48 |
1600 |
46 |
47 |
47 |
46 |
1800 |
42 |
42 |
42 |
42 |
2000 |
38 |
38 |
38 |
38 |
Средняя загрузка |
40,92 |
42,00 |
43,31 |
41,38 |
Рис. 11. Зависимость загрузки CPU от модельного времени
На графике (рис. 11) видны области нарастания, максимума и спада загрузки процессора, однако зависимость загрузки процессора от кванта времени не наглядна.
Для наглядности вычислим среднюю загрузку процессора за время работы системы для каждого значения кванта времени (табл. 4), и построим график зависимости средней загрузки процессора от длительности кванта (рис. 12).
Рис. 12. Зависимость загрузки CPU от длительности кванта времени
Из графика можно сделать следующие выводы:
При небольшой длительности кванта с ее возрастанием возрастает и загрузка процессора. Это может объясняться тем, что чем больше время непрерывного использования процессом CPU, тем большее число запросов может сформировать процесс, и в результате с большей вероятностью не будет ожидать в системной очереди очередного кванта процессорного времени, а займет какой-нибудь ресурс. Кроме того, с увеличением кванта времени система реже будет исполнять собственные задачи, например - системные часы.
При большой длительности кванта загрузка процессора падает. Это связанно с тем, что система менее оперативно отвечает на запросы процессов.
Индивидуальные задания для выполнения
Разработать модель функционирования ОС при обработке системных и пользовательских процессов и провести исследование ее параметров по заданному варианту.
Таблица 5
№ варианта |
Размер кванта |
Объем оперативной памяти |
Количество пользовательских процессов |
Стратегия замещения (K) |
Длительность моделирования |
1. |
1 |
18 |
1 |
FIFO, LFU |
100 + №журн |
2. |
2 |
19 |
2 |
FIFO, NUR |
110 + №журн |
3. |
3 |
20 |
3 |
NUR, LFU |
120 + №журн |
4. |
4 |
7 |
4 |
FIFO, LFU |
130 + №журн |
5. |
5 |
8 |
5 |
FIFO, NUR |
140 + №журн |
6. |
6 |
9 |
6 |
NUR, LFU |
150 + №журн |
7. |
7 |
10 |
7 |
FIFO, LFU |
160 + №журн |
8. |
8 |
11 |
8 |
FIFO, NUR |
170 + №журн |
9. |
9 |
12 |
9 |
NUR, LFU |
180 + №журн |
10. |
10 |
13 |
10 |
FIFO, LFU |
190 + №журн |
11. |
11 |
14 |
4 |
FIFO, NUR |
200 + №журн |
12. |
12 |
15 |
5 |
NUR, LFU |
150 + №журн |
13. |
13 |
16 |
6 |
FIFO, LFU |
160 + №журн |
14. |
14 |
1 |
7 |
FIFO, NUR |
170 + №журн |
15. |
15 |
2 |
8 |
NUR, LFU |
180 + №журн |
16. |
16 |
3 |
9 |
FIFO, LFU |
190 + №журн |
17. |
17 |
4 |
1 |
FIFO, NUR |
200 + №журн |
18. |
18 |
5 |
2 |
NUR, LFU |
100 + №журн |
19. |
19 |
6 |
3 |
FIFO, LFU |
110 + №журн |
20. |
20 |
7 |
10 |
FIFO, NUR |
120 + №журн |
21. |
7 |
8 |
10 |
NUR, LFU |
130 + №журн |
22. |
8 |
9 |
4 |
FIFO, LFU |
140 + №журн |
23. |
9 |
10 |
5 |
FIFO, NUR |
170 + №журн |
24. |
10 |
11 |
6 |
NUR, LFU |
180 + №журн |
25. |
11 |
12 |
7 |
FIFO, LFU |
190 + №журн |
26. |
12 |
13 |
8 |
FIFO, NUR |
200 + №журн |
27. |
13 |
14 |
9 |
NUR, LFU |
110 + №журн |
28. |
14 |
15 |
1 |
FIFO, LFU |
120 + №журн |
29. |
15 |
16 |
2 |
FIFO, NUR |
130 + №журн |
30. |
16 |
17 |
3 |
NUR, LFU |
140 + №журн |
№журн - номер студента по журналу группы.
Кроме того, обязательными параметрами для модели являются:
Использование случайных запросов;
Ручная трассировка.
Имена пользовательских процессов задаются в формате: XX_YY_ZZ_#, где XX - первые две буквы фамилии студента, YY - инициалы студента, ZZ – две цифры месяца рождения студента, # - порядковый номер самого процесса. При этом, все имена процесса задаются заглавными символами английского алфавита.
Заданные по варианту параметры и начальные состояния модели перед стартом (началом моделирования) представляются в отчет.
В процессе моделирования необходимо получить и представить в отчетах (в виде графиков, таблиц) следующую информацию:
Количество вызовов системных часов, шт.
Количество вызовов задач, обслуживающих ресурсы (Принтер, Терминал, Винчестер, Дисковод) - по каждому ресурсу отдельно.
Количество вызовов System Task, шт.
Количество простоев и их общая длительность в квантах.
Количество операций P(S) и V(S), семафор какого устройства при этом сработал, кто был владельцем ресурса, какой процесс ожидал и какой процесс освободил ресурс (в виде табл.6).
Таблица 6
№ п/п |
P(S) |
V(S) |
Семафор |
Владелец |
Ожидающий процесс |
Освобождающий процесс |
1. |
+ |
|
Винчестер |
-1 |
№12 |
№10 |
2. |
+ |
|
Дисковод |
-1 |
№12 |
№10 |
3. |
|
+ |
Винчестер |
-1 |
№11 |
№10 |
6. В диапазонах времени квантов 0..10, 50..60, 100..110, 150..160 необходимо зарегистрировать все параметры пользовательских процессов, активных в данный момент, как показано на рис. 13 (в виде таблицы).
Р ис. 13. Параметры активного пользовательского процесса
№ п/п |
Имя |
PC |
SP |
DP |
CodeSize |
DataSize |
StackSize |
PID |
1. |
Процесс 1 |
269 |
199 |
243 |
4011 |
3942 |
2261 |
11 |
2. |
Процесс 2 |
290 |
200 |
243 |
4016 |
3972 |
5261 |
12 |
Результаты моделирования (график зависимости работы процессора от модельного времени из программы с его описанием) без масштабирования - склеенный по всей длине длительности эксперимента представить в отчет.
Зависимости загрузки процессора от алгоритма замещения страниц (в виде таблиц и соответствующих графиков), как показано в примерах на рис. 10 и табл. 3 - представить в отчет. Данные, при этом, обрабатывать для количества квантов времени X + 50, где X - заданное по варианту количество квантов времени; объем ОП - фиксирован. Выводы по данным зависимостям.
Количество страничных сбоев.
Зависимость числа страничных сбоев от числа страниц ОП и алгоритма замещения страниц (в виде таблиц и соответствующих графиков),как показано в примерах на рис. 8 и табл. 1 - представить в отчет. Данные, при этом, обрабатывать для количества квантов времени X + 50, где X - заданное по варианту количество квантов времени; и числа пользовательских процессов - М + 2, где М - заданное по варианту количество пользовательских процессов. Выводы по данным зависимостям.
Зависимость числа страничных сбоев от квантов процессорного времени (в виде таблицы и соответствующего графика), как показано в примерах на рис. 9 и табл. 2 - представить в отчет. Выводы по данной зависимости.
Зависимость загрузки процессора от величины кванта времени (в виде таблиц и соответствующих графиков), как показано в примерах на рис. 11 и табл. 4 - представить в отчет. Данные, при этом, обрабатывать для количества квантов времени с шагом 50. Выводы по данной зависимости.
График зависимости средней загрузки процессора от длительности кванта на основе примера на рис. 12 и данных, полученных в п. 12 - представить в отчет. Выводы по данной зависимости.
Содержание отчета.
Отчет должен содержать:
Название, дату выполнения, тему, цель, описание задания, материальное обеспечение, ход выполнения и результаты лабораторной работы.
Общие выводы по пп.1 – 13 и общие выводы по работе.
Контрольные вопросы.
Каким образом взаимодействуют процессы при моделировании?
В чем заключаются алгоритмы замещения страниц?
Как взаимодействуют резидентная и нерезидентная часть таблицы управления процессами?
Каким образом осуществляется синхронизация процессов?
Поясните особенности планирования процессов?