- •Лабораторная работа № 5 моделирование процессов в операционной системе
- •1. Управление процессами
- •2. Синхронизация процессов
- •3. Планирование процессов
- •4. Вталкивание-выталкивание
- •5. Конфигурация вычислительной системы
- •6. Состояние процесса
- •7. Взаимодействие процессов в системе
- •8. Управление памятью (memory manager)
- •9. Управление файлами (File System). Семафорные операции
- •10. Пользовательские процессы
- •Порядок использования модели
- •1. Цель
- •2. Порядок использования модели
- •3. Общая организация моделируемой вычислительной системы
- •Общее задание для выполнения
- •Зависимость числа страничных сбоев от кванта процессорного времени
- •Оценка зависимости загрузки процессора от величины кванта времени
- •Индивидуальные задания для выполнения
Зависимость числа страничных сбоев от кванта процессорного времени
Предположительно число страничных сбоев не зависит от кванта времени, однако эту гипотезу необходимо проверить. Была оценена зависимость числа страничных сбоев от параметра моделирования квант времени при установках системы: 5 пользовательских процессов (табл. 2)
Таблица. 2
Результаты тестирования зависимости числа сбоев от кванта
времени (объем ОП = 10, ДО - LFU)
Квант времени |
Процент сбоев |
1 |
27 |
5 |
28 |
8 |
28 |
10 |
25 |
15 |
25 |
20 |
25 |
|
|
Выявилось слабое уменьшение числа страничных сбоев при больших значениях кванта времени (рис. 9).
Рис. 9. Зависимость числа сбоев от кванта времени
Видимо, это связано с увеличением времени непрерывного нахождения каждого процесса на процессоре, сопровождающегося обращениями к одним и тем же страницам памяти, и как следствие - некоторым уменьшением хаотичности запросов к страницам памяти, что приводит к уменьшению числа страничных сбоев.
Загрузка процессора
Загрузка процессора - параметр, изменяющийся во времени, поэтому оценивалась зависимость Z=CPU(TM). Это очень важный показатель, характеризующий качество работы системы в целом.
Оценка зависимости загрузки процессора от алгоритма замещения страниц
Для оценки этой зависимости построим в одних осях графики зависимости загрузки процессора от времени при использовании различных ДО, на которых предполагается зафиксировать три интервала.
- Интервал нарастания загрузки. В это время пользовательские процессы представляются системе и начинают формировать запросы. Процессор постепенно загружается до возможного максимума
- Интервал максимума. В течение этого интервала происходит основная работа. Процессор предоставляется процессам по очереди. Загрузка процессора на этом этапе максимальна
- Интервал убывания. Убывание происходит, запросы пользовательских процессов уже обработаны, и процессы не нуждаются более в процессоре. Чем раньше наступает этот этап, тем лучше работает система.
Для объективности выполним тестирование при разных значениях числа пользовательских процессов (табл. 3а, b)
Таблица. За
Результаты тестирования загрузки процессора во времени
(квант времени = 8, число процессов = 8, Объем ОП= 10)
ТМ |
Загрузка CPU |
||
FIFO |
LFU |
NUR |
|
50 |
16 |
16 |
16 |
100 |
36 |
36 |
42 |
200 |
39 |
39 |
50 |
400 |
45 |
46 |
51 |
600 |
45 |
45 |
54 |
800 |
47 |
46 |
54 |
1000 |
46 |
46 |
49 |
1200 |
45 |
45 |
50 |
1400 |
46 |
45 |
52 |
1600 |
47 |
47 |
48 |
1800 |
43 |
43 |
43 |
2000 |
38 |
38 |
38 |
2200 |
35 |
35 |
35 |
2400 |
32 |
32 |
32 |
2600 |
29 |
29 |
28 |
Таблица Зb.
Результаты тестирования загрузки процессора во времени
(квант времени = 8, число процессов = 3, Объем ОП= 10)
ТМ |
Загрузка CPU |
||
FIFO |
LFU |
NUR |
|
20 |
20 |
20 |
20 |
50 |
46 |
46 |
46 |
100 |
56 |
56 |
56 |
200 |
36 |
36 |
36 |
400 |
44 |
46 |
47 |
600 |
42 |
48 |
42 |
800 |
45 |
46 |
49 |
1000 |
42 |
42 |
42 |
1200 |
35 |
35 |
35 |
1400 |
30 |
30 |
30 |
1600 |
26 |
26 |
26 |
Рис. 10а. Зависимость загрузки CPU от модельного времени. Параметры тестирования: квант времени = 8, число процессов = 8, Объем ОП= 10
Рис. 10b. Зависимость загрузки CPU от модельного времени. Параметры тестирования: квант времени = 8, число процессов = 3, Объем ОП= 10
Из графиков зависимостей можно сделать следующие выводы:
На графиках достаточно точно прослеживаются интервалы возрастания, максимума и убывания
Для восьми процессов (рис. 10а) дисциплина NUR дает большую загрузку процессора, чем LFU и FIFO. Это связано с меньшим числом страничных сбоев, даваемых ДО = NUR. Для трех пользовательских процессов(рис. 10b) разные ДО дают сходные результаты. Это объясняется тем, что системе удалось целиком, или почти целиком, разместить процессы в ОП (в связи с малым их количеством), и число страничных сбоев мало независимо от алгоритма замены страниц.
Для восьми процессов интервал убывания для дисциплины NUR начался раньше. Это означает, что системе удалось быстрее удовлетворить запросы пользовательских процессов, и еще раз подтверждает высокую эффективность дисциплины NUR.
Дисциплины LFU и FIFO дали сходные результаты. Следовательно, некоторое преимущество LFU перед FIFO не сказывается значительным образом на загрузке процессора.