- •Лабораторная работа № 5 моделирование процессов в операционной системе
- •1. Управление процессами
- •2. Синхронизация процессов
- •3. Планирование процессов
- •4. Вталкивание-выталкивание
- •5. Конфигурация вычислительной системы
- •6. Состояние процесса
- •7. Взаимодействие процессов в системе
- •8. Управление памятью (memory manager)
- •9. Управление файлами (File System). Семафорные операции
- •10. Пользовательские процессы
- •Порядок использования модели
- •1. Цель
- •2. Порядок использования модели
- •3. Общая организация моделируемой вычислительной системы
- •Общее задание для выполнения
- •Зависимость числа страничных сбоев от кванта процессорного времени
- •Оценка зависимости загрузки процессора от величины кванта времени
- •Индивидуальные задания для выполнения
Общее задание для выполнения
Работа с моделью
При запуске модели на экране появляется заставка. Для начала работы необходимо в главном меню выбрать пункт Моделирование → Моделирование... При этом на экране появляется диалог параметров моделирования.
Диалог параметров моделирования
Диалог параметров моделирования изображен на рис. 5. С помощью диалога можно выполнять следующие действия:
Изменение параметров функционирования модели
Размер кванта времени - максимальное время, отводимое процессу на использование CPU. По истечении кванта времени CPU отдается другому процессу. Минимальное значение 1. Значение по умолчанию 8. Максимальное значение 20.
Объем оперативной памяти - измеряется в страницах. Минимальное значение 1. Значение по умолчанию 10. Максимальное значение 20 .
Стратегия замещения страниц - алгоритм, используемый менеджером памяти для выбора замещаемой страницы. Доступные значения: FIFO,LFU, NUR. Значение по умолчанию FIFO.
Рис. 5. Диалог параметров моделирования
Изменение параметров трассировки:
Вид трассировки. При ручной трассировке работа системы выполняется по шагам. Для продвижения модельного времени на единицу вперед пользователь должен нажать клавишу пробел. При автоматической трассировке остановка моделирования происходит только при возникновении семафорной операции. Значение по умолчанию - ручная.
Задержка автоматической трассировки - интервал времени в мс, через который происходит увеличение модельного времени при автоматической трассировке. Минимальное значение 1. Значение по умолчанию 1. Максимальное значение 5000.
Пользовательские процессы:
- Добавление процесса. Для добавления пользовательского процесса в систему необходимо нажать кнопку "добавить". При нажатии этой кнопки появляется диалог, позволяющий задать имя добавляемого процесса. По умолчанию процессам даются имена вида "Процесс X".
Удаление процесса. Для удаления процесса необходимо выделить его в списке процессов и нажать кнопку удалить
Случайные запросы процессов. При установке этого флажка процессы будут заново формировать случайным образом список запросов к системе при каждом перезапуске моделирования. При снятии флажка список сформируется только один раз при запуске программы, и процессы каждый раз будут формировать одни и те же запросы. Это позволяет ставить чистые эксперименты, не делая скидку на случайность запросов процессов. По умолчанию флажок снят. Проверить одинаковость запросов процессов можно многократно запуская моделирование, и наблюдая состояние системы в фиксированный момент времени (состояние системы должно быть одинаковым).
Увеличить вероятность тупика. При установке этого флажка список запросов процессов будет сформирован таким образом, что с большой вероятностью в системе возникнет тупиковая ситуация. По умолчанию флажок снят.
Начать моделирование/Продолжить моделирование/Отмена:
Начать моделирование. При нажатии этой кнопки запускается процесс моделирования с нулевого момента времени.
Продолжить моделирование. При нажатии этой кнопки моделирование продолжается с точки приостановки. Таким образом, возможно динамическое изменение параметров моделирования. В реальных системах параметры не меняются динамически, и данная возможность носит чисто академический характер.
- Отмена. При нажатии этой кнопки происходит закрытие диалога без применения сделанных изменений.
После нажатия кнопки "Начать моделирование" система переходит в режим моделирования.
Режим моделирования
Внешний вид программы в режиме моделирования изображен на рис. 6.
Рис. 6 Режим моделирования
Для удобства представления рабочая область программы разбита на окна, ограниченные синими прямоугольниками. Рассмотрим назначение и свойства каждого из них.
Окно "Процессы"
В этом окне отображается список процессов, выполняющихся в системе. Процесс, выполняющийся в данный момент на процессоре, выделен красным цветом. Активный процесс (процесс, состояние которого отображается в окне "Активный процесс") выделен темно - синей рамкой. Процессы можно активизировать путем нажатия мышкой на их названия в списке. Это позволяет в любой момент видеть состояние любого процесса (по отношению к пользовательским процессам - дескриптор).
Окно "Активный процесс"
В этом окне отображается статус активного процесса (выделенного синей рамкой в окне "Процессы"). Статус включает в себя идентификатор (PID) процесса, а также специфическую для процесса информацию. Для пользовательских процессов - дескриптор, для менеджера памяти - карту памяти. Для файловой системы - очереди к ресурсам.
Окно "Системная очередь"
В этом окне отображаются очереди процессов, ожидающих выделения им кванта CPU.
Окно "Состояние системы"
Это окно содержит информацию о загрузке процессора и текущем модельном времени.
Окно "Параметры модели"
Это окно содержит информацию о текущих параметрах модели.
Главное меню рабочего окна программы содержит пункты "Файл", "Моделирование" и "Помощь". В Подменю "Файл" содержится команда Выход, позволяющая выйти из системы. С помощью подменю "Помощь" можно узнать информацию о программе.
Подменю "Моделирование" содержит следующие пункты:
Моделирование. Выбор этого пункта приводит к появлению диалога параметров моделирования. С его помощью можно динамически изменить настройки моделирования или перезапустить модель.
Результаты. Выбор этого пункта приводит к появлению на экране окна с результирующим графиком.
Пауза. Выбор этого пункта позволяет приостановить ход моделирования
Продолжить. Выбор этого пункта позволяет возобновить приостановленное моделирование
Режим просмотра результатов.
Внешний вид программы в режиме просмотра результатов изображен на рис. 7.
Рис. 7. Временная диаграмма режима просмотра результатов
В режиме результатов программа отображает график зависимости работы процессора от модельного времени, иными словами, какой процесс использовал CPU в каждый конкретный момент времени.
По оси X отложено модельное время.
По оси Y - все находящиеся в системе процессы.
С помощью кнопок "+" и "-" пользователь может осуществлять масштабирование графика. С помощью бегунка осуществляется навигация по графику. При закрытии диалога программа возвращается в режим моделирования.
Исследование результирующей временной диаграммы
Для оценки точности результирующей временной диаграммы сформируем таблицу событий происходящих в системе, и сравним ее с диаграммой. Для тестирования возьмем следующие параметры системы: Число пользовательских процессов 3. Объем ОП 10 страниц. Длительность кванта: 5. Дисциплина обслуживания NUR (рис.8).
Рис. 8. Результирующая временная диаграмма
Событие
1 - Процесс 10 вызвал страничный сбой
10 - В очереди появился процесс "Системные часы"
21 - В очереди появился процесс "Системные часы"
22 - Процесс 10 вызвал страничный сбой
32 - В очереди появился процесс "Системные часы"
33 - Процесс 11 вызвал страничный сбой
40 - Процесс 12 вызвал страничный сбой
45 - В очереди появился процесс "Системные часы"
48 - Процесс 10 вызвал страничный сбой
56 - В очереди появился процесс "Системные часы"
69 - В очереди появился процесс "Системные часы"
69 - Процесс 10 обратился к ресурсу Дисковод
76 - Процесс 11 обратился к занятому ресурсу Дисковод
80 - В очереди появился процесс "Системные часы"
89 - Процесс 12 вызвал страничный сбой
94 - В очереди появился процесс "Системные часы"
99 - Процесс 12 обратился к ресурсу "Винчестер"
105 - В очереди появился процесс "Системные часы"
115 - В очереди появился процесс "Системные часы"
122 - Процесс 10 передает ресурс "Дисковод" процессу 11
125 - В очереди появился процесс "Системные часы"
129 - Процесс 10 обратился к занятому ресурсу "Винчестер"
Оценка качества модели
Для оценки качества модели необходимо выяснить зависимость выходных параметров от входных и сопоставить полученные результаты с теоретическими положениями. Входными параметрами в данной модели являются: число пользовательских процессов, объем оперативной памяти, стратегия замещения страниц и длительность кванта времени. Выходные параметры: количество страничных сбоев, загрузка процессора и время завершения. Получим зависимости выходных параметров от входных и попытаемся объяснить полученные результаты.
Число страничных сбоев
Зависимость числа страничных сбоев от числа страниц ОП и алгоритма замещения страниц
Для оценки этой зависимости построим в одних осях графики зависимости числа страничных сбоев от числа страниц при использовании различных дисциплин обслуживания (ДО). Для объективности выполним тестирование при разных значениях числа пользовательских процессов (Табл. 1 а, b, с)
Таблица. 1а
Результаты тестирования числа страничных сбоев
(квант времени = 8,число процессов = 2)
Число страниц |
Процент сбоев |
||
FIFO |
LFU |
NUR |
|
5 |
27 |
31 |
17 |
10 |
11 |
9 |
8 |
15 |
7 |
7 |
7 |
20 |
7 |
7 |
7 |
Таблица. 1b
Результаты тестирования числа страничных сбоев
(квант времени = 8, число процессов =6)
Число страниц |
Процент сбоев |
||
FIFO |
LFU |
NUR |
|
5 |
56 |
57 |
35 |
10 |
39 |
34 |
16 |
15 |
21 |
20 |
11 |
20 |
12 |
12 |
7 |
Таблица. 1с
Результаты тестирования числа страничных сбоев
(квант времени = 8, число процессов =10)
Число страниц |
Процент сбоев |
||
FIFO |
LFU |
NUR |
|
5 |
80 |
79 |
44 |
10 |
52 |
47 |
26 |
15 |
35 |
34 |
17 |
20 |
25 |
25 |
12 |
Рис. 8а. Зависимость числа страничных сбоев от объема ОП. Параметры тестирования: квант времени = 8, число процессов =2
Рис. 8b. Зависимость числа страничных сбоев от объема ОП. Параметры тестирования: квант времени = 8, число процессов =6
Рис. 8с. Зависимость числа страничных сбоев от объема ОП. Параметры тестирования: квант времени = 8, число процессов =6
Из графиков (рис. 8а, b, с) можно сделать следующие выводы:
С увеличением ОП число страничных сбоев уменьшается. Это связано с тем, что увеличение ОП позволяет разместить больше страниц и реже возникает необходимость в операции вталкивания-выталкивания
Дисциплина LFU дает несколько лучшие результаты, чем FIFO.Дисциплина NUR дает почти в два раза меньше страничных сбоев, чем FIFOи LFU. Это ДО основана на предугадывании запросов процессов и является эталонной
На рис. 8а при числе страниц 15 и 20 все три ДО дают одинаковые результаты. Это означает, что системе удалось разместить все процессы в ОП и операций замещения страниц не происходит. Предпосылки к возникновению такой ситуации дает большой объем ОП и малое число процессов
С увеличением числа процессов возрастает число страничных сбоев. Это результат дефицита ресурса память для большого количества процессов.