Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС-ЛР-05-2012.doc
Скачиваний:
6
Добавлен:
15.08.2019
Размер:
1.09 Mб
Скачать

29

Лабораторная работа № 5 моделирование процессов в операционной системе

Цель работы: Ознаком­ление с основными принципами моделирования и исследования функционирования операционных систем (ОС). Получение практических навыков моделирования процессов в ОС, добиваясь достижения максимальной её производительности.

Указания по подготовке к выполнению лабораторной работы.

Необходимо изучить алгоритмы планирования выполнения процессов на процессоре, стратегии замены страниц (FIFO, LFU, NUR). Научится выполнять вычисления в табличном процессоре Excel. Особое внимание уделить вопросам синхронизации процессов с использованием механизма семафоров.

Дополнительную информацию при подготовке к работе можно получить в:

  1. Таненбаум Э. Современные операционные системы. – СПб.: Питер, 2010.

  2. Шеховцов В.А. Операційні системи. – К.: Видавнича група BHV, 2005.

Теоретические сведения.

В лабораторной работе моделируются некоторые аспекты функциони­рования ОС при обработке пользовательских и системных процессов.

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

  • Представление процесса в системе

  • Взаимодействие процессов в системе

  • Выделение страниц памяти по запросам, с помощью использова­ния алгоритмов замещения страниц

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

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

1. Три фиксированных приоритета процессов -пользовательские, серверные и системные задачи (задачи ядра).

2. Максимальное количество пользовательских процессов - 10.

3. Количество серверных процессов операционной системы - 9. В их числе:

  • менеджер памяти, осуществляющий динамическое преобразование адресов;

  • менеджер ФС, обслуживающий соответствующие системные вызо­вы.

4. Количество системных задач - 7. В их числе:

  • задача, обслуживающая принтер;

  • задача, обслуживающая терминал;

  • задача, обслуживающая жесткий диск (винчестер);

  • задача, обслуживающая Flash-диск (дисковод);

  • системные часы;

  • задача, обслуживающая системные вызовы (System Task) (для простоты взаимодействия пользовательских процессов с ядром осуще­ствляется без ее участия);

  • процесс "аппаратуры", "пустой процесс" -протекающий во время простоя процессора.

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

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

Все процессы имеют виртуальное адресное пространство от 0 до неко­торого N (старший виртуальный адрес), произвольным образом разбитое на сегменты кода, данных и стека.

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