Отчет по лабораторному практикуму




Кафедра №29 “Управляющие интеллектуальные системы”.

 

Отчет по лабораторному практикуму

“Основы построения операционных систем”.

 

Отчет выполнили студенты группы К4-292

Павлов Н.

Кургинян Э.

Румянцева М.

Зайнулина Е.

Кондрашов А.

Водолажская Е.

Работу проверил старший преподаватель

Шевченко Н.А.

Результат работы

Москва

Содержание

1. Текст задания ………………………………………………………………………..………3

2. План работ……………………………………………………………………………………..

3. Анализ предметной области…………………………………………………………

 

Текст задания

Построить модель мультипрограммной ОС на универсальном языке программирования для исследования временных характеристик вычислительного процесса для однопроцессорной ЭВМ представленной конфигурации:

 
 

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

Работа активных устройств синхронизируется состоянием соответствующих регистров, представляемых в программе булевскими переменными (устоявшийся термин - “флаг”):

- флаги готовности единицы информации на устройствах ввода\вывода (для синхронизации работы устройств ввода\вывода и каналов);

- флаги завершения ввода\вывода задания в\из памяти (освобождение соответствующего подканала).

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

Алгоритм обработки заявки в модели:

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

- заявка ожидает своей очереди обработки в процессоре, в соответствии с его алгоритмом работы, после чего обрабатывается в процессоре, возможно прерывается в процессе обработки;

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

Объем памяти ограничивается количеством заявок, одновременно находящихся на обработке (независимо от фазы: ввод – счет – вывод).

Алгоритм работы процессора под управлением ОС:

- ОС работает с тремя очередями заказов, составленных из разделов памяти, находящихся в трех возможных состояниях (для получения максимально возможного количество разделов к этим разделам необходимо добавить разделы, которые в текущий момент заполняются данными с устройств ввода):

очередь свободных областей памяти, готовых к вводу очередной заявки (ОСОП),

очередь областей памяти с программами, готовыми к счету (ООПСч),

очередь областей памяти с программами, готовыми к выводу (ООПВыв).

- процесс процессора в бесконечном цикле анализирует состояние очередей, флагов готовности каналов ввода\вывода и выполняет программы из ООПСч:

- если подканал ввода завершил ввод, перевести заявку из ОСОП в ООПСч;

- если подканал ввода свободен и ОСОП не пуста, активизировать подканал ввода для записи заявки в область памяти, указанную первым элементом из ОСОП;

- если подканал вывода завершил работу, перевести соответствующий элемент из ООПВыв в ОСОП;

- если подканал вывода свободен и ООПВыв не пуста, активизировать подканал вывода для сответствующего элемента ООПВыв;

- если ООПСч не пуста, выполнять заявку из первого элемента ООПСч в соответствии с заданным алгоритмом - до завершения времени обработки, до завершения кванта времени или до прерывания заявкой с большим приоритетом - и размещение заявки либо в очереди ожидания, либо в ООПВыв.

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

Рекомендуемый алгоритм работы монитора моделирования:

- из сообщений, которые могут произойти в текущий момент модельного времени, формируется очередь текущих событий (ОТС),

- из сообщений, которые произойдут в будущий момент модельного времени, формируется очередь будущих событий (ОБС),

- ОТС просматривается в мониторе сначала и каждое сообщение в очереди активизирует соответствующий процесс в модели и, в зависимости от результатов работы процесса, сообщение либо остается на своем месте, либо переводится в ОБС, и, в зависимости от изменения флагов, просмотр ОТС либо продолжается последовательно, либо переходит к началу ОТС,

- после просмотра последнего сообщения в ОТС, в ней еще могут находится сообщения, задержанные флагами, и ни одно из них не может изменить состояния этих флагов, поэтому начинается просмотр ОБС.

- в ОБС выбирается одно или несколько сообщений, которые должны произойти в ближайший будущий момент времени, и переводятся в ОТС в начало очереди, при этом текущее модельное время соответственно увеличивается.

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

 

Исходные данные для работы программы:

- количество разделов оперативной памяти;

- время считывания единицы информации на i-том устройстве ввода tiвв и количество таких единиц в заявке niвв

- количество единиц вывода в заявке с i-го устройства ввода niвыв и номер устройства для вывода j

- время вывода единицы информации на j -ом устройстве вывода tjвыв

- время выполнения заявки с i-го устройства ввода в процессоре при условии отсутствия прерываний ticpu;

- приоритет заявки, связанный либо с устройством ввода, откуда поступает заявка, либо со значением среднего времени обработки в процессоре.

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

i tiвв niвв ticpu Приоритетi jвыв niвыв
             
           
k            

 

j tjвыв
   
 
m  

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

Для оценки качества функционирования ОС программа должна подсчитывать следующие значения:

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

- загрузку всех активных устройств ЭВМ(устройств ввода\вывода, каналов, процессора),

- среднее время нахождения в системе всех заявок и среднее время нахождения в системе заявок с каждого устройства ввода.

При необходимости количество выводимых результатов может быть расширено:

- среднее время ожидания подготовленной единицы информации на устройствах ввода;

- среднее время ожидания готовой к счету заявки в процессоре;

- и т.п.

Возможные тестовые испытания:

1. Исходные данные: одно устройстве ввода, одно устройство вывода, три раздела памяти, время передачи по каналам не учитывается (считается пренебрежимо малым), одинаковое и постоянное (без распределения) время на ввод, вывод и счет заявки (tввод=tвывод=tсчет=Т). Результаты: Загрузка устройств ввода, вывода и процессора – 100%. Время нахождения заявок в системе совпадает со временем фаз ввода, вывода и счета.

2. Исходные данные: одно устройстве ввода, одно устройство вывода, три раздела памяти, время передачи по каналам не учитывается (считается пренебрежимо малым), постоянное (без распределения) время на ввод, вывод и счет заявки. Суммарное время на ввод, вывод и счет заявки совпадает со значениеми в предыдущем эксперименте (tввод+tвывод+tсчет=Т), но доля времени на ввод и вывод пропорционально уменьшена, а на счет увеличена (tввод=tвывод, tввод<tсчет и 0<tвывод<tсчет). Построить графики зависимости загрузки устройств ввода, вывода и процессора, а также времени нахождения заявок в системе при 0< tввод;tвывод<tсчет. Результаты: Загрузка процессора < 100%, загрузка устройств ввода и вывода возрастает от 0%, но не достигает 100%. Время нахождения в системе увеличивается по сравнению со временем фаз ввода, вывода и счета (tввод+tвывод+tсчет<Т).

3. Исходные данные: средние значения совпадают со вторым экспериментом. Задано распределение для времени на ввод, вывод и счет заявки. Построить графики второго эксперимента для сравнения влияния на результаты факторов случайности при нормальном, равномерном и экспоненциальном распределении. Какое из распределений ухудшает результаты в наибольшей степени?

4. Исходные данные: пять устройстве ввода, одно устройство вывода, десять разделов памяти, время передачи по каналам не учитывается (считается пренебрежимо малым), одинаковое и постоянное (без распределения) время на ввод, вывод и счет заявки (tввод=tвывод=tсчет=Т), приоритет заявок со всех устройств ввода одинаков. Результаты: Загрузка устройств вывода и процессора – 100%. Загрузка устройств ввода < 100%. Время нахождения заявок в системе одинаковое для всех устройств ввода и совпадает со временем нахождения всех заявок в системе.

5. Исходные данные: пять устройстве ввода, пять устройств вывода, десять разделов памяти, время передачи по каналам не учитывается (считается пренебрежимо малым), одинаковое и постоянное (без распределения) время на ввод, вывод и счет заявки (tввод=tвывод=tсчет=Т), приоритет заявок со всех устройств ввода одинаков. Определить минимальное количество разделов памяти, обеспечивающих максимально возможную для данной рабочей нагрузки загрузку процессора и минимально возможное время нахождения заявок в системе.

6. И т.п.

 

Работа выполняется в течении семестра бригадой студентов не более 5 человек и завершается отчетом, содержащим следующие разделы:

- постановка задачи,

- способ задания исходных данных для работы модели (интерфейс с пользователем),

- вид получаемых результатов,

- временные диаграммы и результаты тестовых прогонов для подтверждения работоспособности модели,

- результаты работы модели для заданных исходных данных,

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

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-26 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: