49780

Анализ межпроцессных взаимодействий

Лабораторная работа

Информатика, кибернетика и программирование

Длительность работы обслуживающих задач составляет один квант модельного времени. Система вызывает эту задачу каждые 10 квант модельного времени. Длительность замещения одной страницы составляет четыре кванта модельного времени.

Русский

2014-01-08

645 KB

2 чел.

Лабораторная работа №6

Анализ межпроцессных взаимодействий


Содержание

  1.  Введение ________________________________________________________
  2.  Теоретические основы функционирования модели _____________________
    1.  Общая организация моделируемой вычислительной системы _____
    2.  Задачи ядра _______________________________________________
    3.  Серверные процессы _______________________________________
      1.  Менеджер памяти __________________________________
      2.  Файловая система __________________________________
    4.  Пользовательские процессы_________________________________
  3.  Порядок использования модели______________________________________
    1.  Аппаратные требования_____________________________________
    2.  Необходимые файлы_______________________________________
    3.  Запуск модели_____________________________________________
    4.  Работа с моделью__________________________________________
      1.  Диалог параметров моделирования____________________
      2.  Режим моделирования______________________________
      3.  Режим просмотра результатов________________________
  4.  Тестирование программы___________________________________________
    1.  Исследование результирующей временной диаграммы___________
    2.  Оценка качества модели ____________________________________
    3.  Число страничных сбоев ____________________________________
      1.  Зависимость числа страничных сбоев от числа страниц и алгоритма замещения страниц _______________________
      2.  Зависимость числа страничных сбоев откванта процессорного времени ___________________________________
    4.  Загрузка процессора _______________________________________
      1.  Оценка зависимости загрузки процессора от алгоритма замещения страниц _____________________________________________
      2.  Оценка зависимости загрузки процессора от величины кванта времени ________________________________________________
  5.  Выводы _________________________________________________________

6. Литература ________________________________________________________

2

2

2

2

3

3

3

4

4

4

4

4

5

5

6

7

8

8

10

10

10

12

13

13

15

17

17


1. Введение

Разработка WinMOS представляет собой программную модель, отображающую собой следующие аспекты функционирования операционной системы:

  •  Представление процесса в системе
  •  Взаимодействие процессов в системе
  •  Выделение страниц памяти по запросам, с помощью использования алгоритмов замещения страниц
  •  Распределение ресурсов вычислительной системы  между несколькими процессами с помощью механизма семафоров

2 Теоретические основы функционирования модели

2.1 Общая организация моделируемой вычислительной системы

В ходе функционирования модели в системе выполняются процессы трех классов, обладающих фиксированным приоритетом: системные задачи (задачи ядра), серверные процессы и пользовательские процессы. Выделение процессам ресурса CPU осуществляется путем формирования циклических очередей (дисциплина RR) запросов. При этом процессы разных классов образуют различные очереди и планировщик каждый раз выбирает наиболее приоритетный процесс. Процессы, в ходе работы, формируют запросы к ресурсам. Взаимоисключение процессов при обращении к ресурсам осуществляется с помощью механизма семафоров. Для работы процессам также необходим ресурс Оперативной памяти. Оперативная память в модели имеет страничную организацию. При нехватке первичной памяти для размещения всех процессов разделение происходит путем выталкивания не используемых страниц во вторичную память.

2.2 Задачи ядра.

Процессы этого класса являются составной частью ядра системы и обладают наивысшим приоритетом. Данная модель включает следующие задачи ядра:

  •  Задачи, обслуживающие ресурсы. (Принтер, Терминал, Винчестер, Дисковод). Когда происходит занятие или освобождение какого-либо  ресурса систем вызывает соответствующую обслуживающую задачу. Длительность работы обслуживающих задач составляет один квант модельного времени.
  •  Системные часы. Это задача, поддерживающая системное время. Система вызывает эту задачу каждые 10 квант модельного времени. Длительность работы системных часов составляет один квант.
  •  System Task. Эта задача в реальной ОС обслуживает системные вызовы, то есть осуществляет взаимодействие между пользовательскими процессами и ядром. Однако в данной модели, для упрощения, взаимодействие осуществляется без ее участия
  •  Процесс аппаратуры. Этот процесс протекает во время простоя процессора.

2.3 Серверные процессы.

Эти процессы являются посредниками, осуществляющими взаимодействие между пользовательскими процессами и задачами ядра. Эти процессы также как и пользовательские независимы от ядра системы, однако обладают преимуществами перед пользовательскими процессами. Серверные процессы могут непосредственно взаимодействовать с системой и работают с реальным адресным пространством. Серверные процессы имеют больший приоритет, чем пользовательские. В данной модели к серверным процессам относятся Менеджер памяти, осуществляющий вталкивание/выталкивание страниц памяти и Файловая система, обслуживающая доступ к ресурсам. Рассмотрим их подробнее.

2.3.1 Менеджер памяти.

Если объем оперативной памяти, необходимой процессам больше, чем имеющейся в вычислительной системе, необходимо иметь механизмы логического расширения физической памяти. В данной модели реализовано выделение страниц процессам по запросам. Пользовательские программы работают с логической памятью, которая отображается на физическую постранично. Физическая память разделена на страницы одинакового размера, и каждой из страниц может соответствовать любая страница логической памяти. Физически процесс не обязательно работает с непрерывным блоком памяти, однако логически страницы памяти, с которыми работает процесс остаются смежными. То есть такая форма замещения не оказывает влияния на адресное пространство программ. Логические страницы процессов, не поместившиеся в основную память, находятся во вторичной памяти, имеющей, как правило, значительно больший объем и меньшее быстродействие. Изначально в оперативную память загружаются только первые страницы процессов. Все остальные страницы загружаются впоследствии по запросам. В данной модели используется стратегия глобального вытеснения, то есть любой странице физической памяти может соответствовать любая страница любой задачи.

Страничным сбоем называется ситуация, когда процесс обращается к странице, находящейся во вторичной памяти.  В этом случае выполняется загрузка этой страницы в основную оперативную память. Если оперативная память заполнена, необходимо выгрузить одну из страниц во внешнюю память. Заменяемая страница выбирается по одному из алгоритмов:

FIFO – заменяется страница, ранее всех загруженная в оперативную память.

LFU – заменяется страница, к которой за время ее нахождения в ОП было меньше всего обращений.

NUR – эталонная стратегия замещения, основанная на предсказании запросов процессов. Происходит замещение страницы памяти, к которой дольше всего не будет происходить обращений.

Менеджер памяти в данной модели вызывается при возникновении страничного сбоя и производит замену страницы согласно выбранному алгоритму. Длительность замещения одной страницы составляет четыре кванта модельного времени.

2.3.2 Файловая система.

 В ходе работы пользовательские процессы формируют запросу к ресурсам. Для взаимоисключения при доступе к ресурсам в данной модели файловая система использует двоичные семафоры (в реальных ОС семафорные операции выполняются непосредственно ядром). Процесс файловой системы запускается на два кванта времени каждый раз, когда какой-либо процесс выполняет обращение к ресурсу. Каждый ресурс имеет свой семафор S, характеризующий его доступность следующим образом:  S = 1 – ресурс свободен, S = 0 – ресурс занят процессом, S=-1 – ресурс занят процессом и в системе есть процесс(ы), блокированные в ожидании доступа к ресурсу (файловая система содержит для этой цели очереди процессов, ожидающих ресурсов).

Если процесс обращается к какому-либо ресурсу, выполняется операция P(S) над соответствующим семафором, уменьшающая S на 1. Если при этом значение S=1, процесс получает доступ к ресурсу, иначе – переводится в состояние ожидания.

При освобождении процессом ресурса выполняется операция V(S). Если при этом есть ожидающий освобождения ресурса процесс, то он получает доступ к ресурсу, в противном случае семафор устанавливается в 1.

Принтер и терминал являются неразделяемыми ресурсами. Такой ресурс процесс занимает на длительное время, при этом использует процессор и может занимать другие ресурсы. Дисковод и винчестер – неразделяемые ресурсы. Процесс занимает их на короткое время, и во время работы с ними не обращается к процессору и другим ресурсам. Наличие в системе неразделяемых ресурсов делает возможным возникновение ткпиковой ситуации.

2.4 Пользовательские процессы

В данной модели может существовать до десяти пользовательских процессов.
Пользовательские процессы – некоторые программы, не имеющие отношения системы, и запускаемые ее пользователем в своих целях (прикладные программы). Эти процессы имеют наименьший приоритет.

Адресное пространство каждого процесса состоит из трех сегментов: Сегмент кода, сегмент данных и сегмент стека. Каждый пользовательский процесс характеризуется своим уникальным описателем – дескриптором. Дескриптор содержит следующие поля:

  •  PC – указатель на операцию, выполняемую процессом в данный момент
  •  SP – указатель на вершину стека
  •  DP – указатель на данные
  •  CodeSize – размер сегмента кода
  •  DataSize – размер сегмента данных
  •  StackSize – размер сегмента стека

В ходе работы процесса значения PС и SP изменяются.

Пользовательские процессы, при помощи генератора случайных чисел, формируют системные вызовы: запросы к памяти и ресурсам. В задачи операционной системы входит обслуживание этих запросов.

3. Порядок использования модели

3.1 Аппаратные требования

  •  Персональный компьютер, совместимый с IBM PC
  •  Операционная система Windows 95-2000, XP.
  •  Разрешение экрана не менее 800x600
  •  60 Kb свободного места на диске

3.2 Необходимые файлы

Для функционирования программы достаточно файла WinMOS.exe

3.3 Запуск модели

Для запуска модели необходимо запустить на исполнение файл WinMOS.exe

3.4 Работа с моделью

При запуске модели на экране появляется заставка. Для начала работы необходимо В главном меню выбрать пункт Моделирование\Моделирование… При этом на экране появляется диалог параметров моделирования.

3.4.1 Диалог параметров моделирования

Диалог параметров моделирования изображен на рис. 1

.

Рис. 1. Диалог параметров моделирования

С помощью диалога можно выполнять следующие действия:

  •  Изменение параметров функционирования модели

- Размер кванта времени – максимальное время, отводимое процессу на использование CPU. По истечении кванта времени CPU отдается другому процессу. Мин. значение =1. Значение по умолчанию =8. Макс. значение =20.

- Объем оперативной памяти -  измеряется в страницах. Мин. значение =1. Значение по умолчанию =10. Макс. значение =20 .

- Стратегия замещения страниц – алгоритм, используемый менеджером памяти для выбора замещаемой страницы. Доступные значения: FIFO,LFU, NUR. Значение по умолчанию =FIFO.

  •  Изменение параметров трассировки

- Вид трассировки. При ручной трассировке работа системы выполняется по шагам. Для продвижения модельного времени на единицу вперед пользователь должен нажать клавишу пробел. При автоматической трассировке остановка моделирования происходит только при возникновении семафорной операции. Значение по умолчанию: ручная

- Задержка автоматической трассировки – интервал времени в мс, через который происходит увеличение модельного времени при автоматической трассировке. Мин. значение =1. Значение по умолчанию =1. Макс. значение =5000.

  •  Пользовательские процессы

- Добавление процесса. Для добавления пользовательского процесса в систему необходимо нажать кнопку “добавить”. При нажатии этой кнопки появляется диалог, позволяющий задать имя добавляемого процесса. По умолчанию процессам даются имена вида “Процесс X”.

- Удаление процесса. Для удаления процесса необходимо выделить его в списке процессов и нажать кнопку удалить

- Случайные запросы процессов. При установке этого флажка процессы будут заново формировать случайным образом список запросов к системе при каждом перезапуске моделирования. При снятии флажка список сформируется только один раз при запуске программы, и процессы каждый раз будут формировать одни и те же запросы. Это позволяет ставить чистые эксперименты, не делая скидку на случайность запросов процессов. По умолчанию флажок снят. Проверить одинаковость запросов процессов можно многократно запуская моделирование, и наблюдая состояние системы в фиксированный момент времени. (состояние системы должно быть одинаковым.)

- Увеличить вероятность тупика. При установке этого флажка список запросов процессов будет сформирован таким образом, что с большой вероятностью в системе возникнет тупиковая ситуация. По умолчанию флажок снят.

  •  Начать моделирование/Продолжить моделирование/Отмена
  •  Начать моделирование. При нажатии этой кнопки запускается процесс моделирования с нулевого момента времени.
  •  Продолжить моделирование. При нажатии этой кнопки моделирование продолжается с точки приостановки. Таким образом, возможно динамическое изменение параметров моделирования. В реальных системах параметры не меняются динамически, и данная возможность носит чисто академический характер.
  •  Отмена. При нажатии этой кнопки происходит закрытие диалога без применения сделанных изменений.

После нажатия кнопки “Начать моделирование” система переходит в режим моделирования.

3.4.2 Режим моделирования

Внешний вид программы в режиме моделирования изображен на рис. 2.

Рис. 2. Режим моделирования

Для удобства представления рабочая область программы разбита на окна, ограниченные синими прямоугольниками. Рассмотрим назначение и свойства каждого из них.

Окно “Процессы”

В этом окне отображается список процессов, выполняющихся в системе. Процесс, выполняющийся в данный момент на процессоре, выделен красным цветом. Активный процесс (процесс, состояние которого отображается в окне “Активный процесс”) выделен темно – синей рамкой. Процессы можно активизировать путем нажатия мышкой на их названия в списке. Это позволяет в любой момент видеть состояние любого процесса. (по отношению к пользовательским процессам - дескриптор).

Окно Активный процесс

В этом окне отображается статус активного процесса (выделенного синей рамкой в окне “Процессы”). Статус включает в себя идентификатор (PID) процесса а также специфическую для процесса информацию. Для пользовательских процессов – дескриптор, для менеджера памяти – карту памяти. Для файловой системы- очереди к ресурсам.

Окно Системная очередь

В этом окне отображаются очереди процессов, ожидающих выделения им кванта CPU.

Окно Состояние системы

Это окно содержит информацию о загрузке процессора и текущем модельном времени.

Окно Параметры модели

Это окно содержит информацию о текущих параметрах модели.

Главное меню рабочего окна программы содержит пункты “Файл”, ”Моделирование” и ”Помощь”. В Подменю “Файл” содержится команда Выход, позволяющая выйти из системы. С помощью подменю “Помощь” можно узнать информацию о программе.

Подменю “Моделирование” содержит следующие пункты:

  •  Моделирование… Выбор этого пункта приводит к появлению диалога параметров моделирования (см 3.4.1). С его помощью можно динамически изменить настройки моделирования или перезапустить модель.
  •  Результаты. Выбор этого пункта приводит к появлению на экране окна с результирующим графиком (см 3.4.3)
  •  Пауза. Выбор этого пункта позволяет приостановить ход моделирования
  •  Продолжить. Выбор этого пункта позволяет возобновить приостановленное моделирование

3.4.3 Режим просмотра результатов.

Внешний вид программы в режиме просмотра результатов изображен на рис. 3.

Рис. 3. Временная диаграмма режима просмотра результатов

В режиме результатов программа отображает график зависимости работы процессора от модельного времени, иными словами – какой процесс использовал CPU в каждый конкретный момент времени. По оси x отложено модельное время. По оси y – все находящиеся в системе процессы. С помощью кнопок “+” и “-” пользователь может осуществлять масштабирование графика. С помощью бегунка осуществляется навигация по графику. При закрытии диалога программа возвращается в режим моделирования.

4. Тестирование программы

Для проверки адекватности и надежности функционирования программы с ней был проведен ряд тестов.

4.1. Исследование результирующей временной диаграммы

Для оценки точности результирующей временной диаграммы сформируем таблицу событий происходящих в системе, и сравним ее с диаграммой. Для тестирования возьмем следующие параметры системы: Число пользовательских процессов =3. Объем ОП = 10 страниц. Длительность кванта: 5. ДО = NUR.

TM

Событие

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 передает ресурc “Дисковод” процессу 11

125

В очереди появился процесс “Системные часы”

129

Процесс 10 обратился к занятому ресурсу “Винчестер”

4.2 Оценка качества модели

 Для оценки качества модели необходимо выяснить зависимость выходных параметров от входных и сопоставить полученные результаты с теоретическими положениями. Входными параметрами в данной модели являются: число пользовательских процессов, объем оперативной памяти, стратегия замещения страниц и длительность кванта времени. Выходные параметры: количество страничных сбоев, загрузка процессора и время завершения. Получим зависимости выходных параметров от входных и попытаемся объяснить полученные результаты.

4.3 Число страничных сбоев

4.3.1 Зависимость числа страничных сбоев от числа страниц ОП и алгоритма замещения страниц

Для оценки этой зависимости построим в одних осях графики зависимости числа страничных сбоев от числа страниц при использовании различных ДО. Для объективности выполним тестирование при разных значениях числа пользовательских процессов

(Табл. 1 а, b, c)

Табл. 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

Табл. 1c Результаты тестирования числа страничных сбоев

(квант времени = 8, число процессов =10)

Число страниц

Процент сбоев

FIFO

LFU

NUR

5

80

79

44

10

52

47

26

15

35

34

17

20

25

25

12

Рис. 4а.  Зависимость числа страничных сбоев от объема ОП. Параметры тестирования: квант времени = 8, число процессов =2

Рис. 4b. Зависимость числа страничных сбоев от объема ОП. Параметры тестирования: квант времени = 8, число процессов =6

Рис. 4c. Зависимость числа страничных сбоев от объема ОП. Параметры тестирования: квант времени = 8, число процессов =6

Из графиков (рис. 4 а,b,c) можно сделать следующие выводы:

  •  C увеличением ОП число страничных сбоев уменьшается. Это связано с тем, что увеличение ОП позволяет разместить больше страниц и реже возникает необходимость в операции вталкивания-выталкивания
  •   Дисциплина LFU дает несколько лучшие результаты чем FIFO. Дисциплина NUR дает почти в два раза меньше страничных сбоев, чем FIFO и LFU. Это ДО основана на предугадывании запросов процессов и является эталонной
  •  На рис 4а при числе страниц 15 и 20 все три ДО дают одинаковые результаты. Это означает, что системе удалось разместить все процессы в ОП и операций замещения страниц не происходит. Предпосылки к возникновению такой ситуации дает большой объем ОП и малое число процессов
  •  C увеличением числа процессов возрастает число страничных сбоев. Это результат дефицита ресурса память для большого количества процессов.

4.3.2 Зависимость числа страничных сбоев от кванта процессорного времени

Предположительно число страничных сбоев не зависит от кванта времени, однако эту гипотезу необходимо проверить. Была оценена зависимость числа страничных сбоев от параметра моделирования квант времени при установках системы: 5 пользовательских процессов. (табл. 2) 

Табл. 2. Результаты тестировния зависимости числа сбоев от кванта времени

(объем ОП = 10, ДО – LFU.)

Квант времени

Процент сбоев

1

27

5

28

8

28

10

25

15

25

20

25

Рис. 5. Зависимость числа сбоев от кванта времени

Выявилось слабое уменьшение числа страничных сбоев при больших значениях кванта времени. (рис. 5). Видимо, это связано с увеличением времени непрерывного нахождения каждого процесса на процессоре, сопровождающегося обращениями к одним и тем же страницам памяти, и как следствие – некоторым уменьшением хаотичности запросов к страницам памяти, что приводит к уменьшению числа страничных сбоев.

4.4 Загрузка процессора

Загрузка процессора – параметр, изменяющийся во времени, поэтому оценивалась зависимость ZCPU(TM). Это очень важный показатель, характеризующий качество работы системы в целом.

4.4.1 Оценка зависимости загрузки процессора от алгоритма замещения страниц

Для оценки этой зависимости построим в одних осях графики зависимости загрузки процессора от времени при использовании различных ДО, на которых предполагается зафиксировать три интервала.

1 – Интервал нарастания загрузки. В это время пользовательские процессы представляются системе и начинают формировать запросы. Процессор постепенно загружается до возможного максимума

2 – Интервал максимума. В течение этого интервала происходит основная работа. Процессор предоставляется процессам по очереди. Загрузка процессора на этом этапе максимальна

3 – Интервал убывания. Убывание происходит, запросы пользовательских процессов уже обработаны, и процессы не нуждаются более в процессоре. Чем раньше наступает этот этап, тем лучше работает система.

Для объективности выполним тестирование при разных значениях числа пользовательских процессов (Табл. 3 а,b,c)

Табл. 3а. Результаты тестирования загрузки процессора во времени

(квант времени = 8, число процессов= 8, Объем ОП= 10)

TM

Загрузка 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

Табл. 3b. Результаты тестирования загрузки процессора во времени

(квант времени = 8, число процессов= 3, Объем ОП= 10)

TM

Загрузка 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

Рис. 6а. Зависимость загрузки CPU от модельного времени. Параметры тестирования: квант времени = 8, число процессов= 8,

Объем ОП= 10

Рис. 6б. Зависимость загрузки CPU от модельного времени. Параметры тестирования: квант времени = 8, число процессов= 3,

Объем ОП= 10

Из графиков зависимостей можно сделать следующие выводы:

  •  На графиках достаточно точно прослеживаются интервалы возрастания, максимума и убывания
  •  Для восьми процессов (Рис. 6а) дисциплина NUR дает бОльшую загрузку процессора, чем LFU и FIFO. Это связано с меньшим числом страничных сбоев, даваемых ДО NUR. Для трех пользовательских процессов (Рис. 6b) разные ДО дают сходные результаты. Это объясняется тем, что системе удалось целиком, или почти целиком, разместить процессы в ОП (в связи с малым их количеством), и число страничных сбоев мало независимо от алгоритма замены страниц.
  •  Для восьми процессов интервал убывания для дисциплины NUR начался раньше. Это означает, что системе удалось быстрее удовлетворить запросы пользовательских процессов, и еще раз подтверждает высокую эффективность дисциплины NUR.
  •  Дисциплины LFU и FIFO дали сходные результаты. Следовательно, некоторое преимущество LFU перед FIFO не сказывается значительным образом на загрузке процессора.

4.4.2 Оценка зависимости загрузки процессора от величины кванта времени

Для оценки этой зависимости построим в одних осях графики зависимости загрузки процессора от времени при различных значениях кванта времени. Конфигурация системы при тестировании: 5 пользовательских процессов, ДО FIFO, объем памяти 5 страниц. (Табл. 4.)

Табл. 4. Результаты тестирования зависимости загрузки процессора

от величины кванта времени

TM

Загрузка

K=1

K=7

K=14

K=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

Средняя загрузка

Рис. 7. Зависимость загрузки CPU от модельного времени

 

На графике (рис. 7) видны области нарастания, максимума и спада загрузки процессора, однако зависимость загрузки процессора от кванта времени не наглядна. Для наглядности вычислим среднюю загрузку процессора за время работы системы для каждого значения кванта времени (см. табл. 4), и построим график зависимости средней загрузки процессора от длительности кванта. (рис. 8)

Рис. 8. Зависимость загрузки CPU от длительности кванта времени

Из графика можно сделать следующие выводы:

  •  При небольшой длительности кванта с ее возрастанием возрастает и загрузка процессора. Это может объясняться тем, что чем больше время непрерывного использования процессом CPU, тем большее число запросов может сформировать процесс, и в результате с большей вероятностью не будет ожидать в системной очереди очередного кванта процессорного времени, а займет какой-нибудь ресурс. Кроме того, с увеличением кванта времени система реже будет исполнять собственные задачи, например – системные часы.
  •  При большой длительности кванта загрузка процессора падает. Это связанно с тем, что система менее оперативно отвечает на запросы процессов.

5. Выводы

В результате работы была спроектирована и реализована модель многозадачной операционной системы WinMOS, основанная на прототипе CoolMOS разработчика Zha. Новая программа обладает следующими преимуществами перед своим предшественником:

  •  Современный и эргономичный Windows интерфейс
  •  Возможность в любой момент видеть состояние любого процесса
  •  Возможность создавать до 10 пользовательских процессов
  •  Возможность перезапускать модель  не выходя из программы
  •  Возможность видеть результаты не завершая процесс моделирования
  •  Возможность перезапускать  модель с теми же запросами процессов
  •  Возможность принудительного создания тупиков

Тестирование программы дало хорошие результаты, сочетающиеся с теоретическими предположениями, что дает возможность использовать ее при выполнении лабораторных работ.

6. Литература

1. Многозадачная операционная система. Моделирование функций. Методические указания.  / Л. А. Коршикова, В. В. Спицына. – Новосибирск: НГТУ, 1997.

2. Многозадачные операционные системы управления памятью. Методические
указания.  /Л. А. Коршикова. – Новосибирск: НГТУ, 2001.

3. Проблема тупиков и методы борьбы с ними. Реферат. / Т. В. Одинцова - Новосибирск: НГТУ, 2002.


 

А также другие работы, которые могут Вас заинтересовать

70520. Теоретическое объяснение действия коммуникационных мероприятий на потребителей. Роль эмоциональной составляющей в рекламе товаров потребительского и промышленного назначения 20.79 KB
  В рамках коммуникационного сопровождения уже сложился традиционный инструментарий, который используется для воздействия на сознание и поведение целевых групп. В этот комплекс обычно включают: Паблисити, рекламу, специальное событие, спонсорство (меценатство и благотворительность), лоббирование...
70521. Основные коммуникационные мероприятия и их задачи 27.7 KB
  Маркетинговая коммуникация предприятия комплексное воздействие на внутреннюю и внешнюю среду с целью создания благоприятных условий для стабильной прибыльной деятельности предприятия на рынке. Комплекс коммуникативных средств неразрывно связан с маркетинговой деятельностью...
70522. Стратегии жизненного цикла продукта 58.92 KB
  Выпустив новый продукт, руководство желает ему долгой и прибыльной жизни. Хотя никто и не ожидает, что продукт будет продаваться вечно, все же менеджеры хотят получить достаточно большую прибыль, чтобы компенсировать свои усилия и риск.
70523. Производственная программа и ассортимент 18.19 KB
  Производственная программа план производства и реализации продукции это комплексное задание по выпуску и реализации продукции определенного ассортимента и качества в натуральных и стоимостных показателях ориентированных на достижение целей организации предприятия.
70524. Синхронизация генератора развертки 593 KB
  Поскольку сигнал и напряжение развертки поступают от разных источников через некоторое время изза нестабильности генераторов установленная кратность периодов будет нарушена. Решение задачи возможно лишь при синхронизации генератора развертки осциллографа исследуемым сигналом...
70526. Добавочные сопротивления 87.5 KB
  Добавочные сопротивления являются измерительными преобразователями напряжения в ток. Добавочные сопротивления могут состоять из одного или нескольких резисторов и служат для расширения пределов измерения по напряжению вольтметров и других приборов имеющих параллельные цепи как например...
70527. Классификация приборов непосредственной оценки 829.5 KB
  В зависимости от возможных значений токов и напряжений в измеряемых цепях приборы непосредственной оценки подразделяют на микроамперметры, миллиампер метры, амперметры, килоамперметры, милливольтметры, вольтметры и киловольтметры.
70528. Калибратор 23 KB
  Калибратор предназначен для проверки (и при необходимости установки) правильности цены деления по оси Y и длительности развертки (цены деления по оси Х). Калибраторы могут быть раздельными по амплитуде и по длительности или объединенными.