- •Лабораторная работа № 5 моделирование процессов в операционной системе
- •1. Управление процессами
- •2. Синхронизация процессов
- •3. Планирование процессов
- •4. Вталкивание-выталкивание
- •5. Конфигурация вычислительной системы
- •6. Состояние процесса
- •7. Взаимодействие процессов в системе
- •8. Управление памятью (memory manager)
- •9. Управление файлами (File System). Семафорные операции
- •10. Пользовательские процессы
- •Порядок использования модели
- •1. Цель
- •2. Порядок использования модели
- •3. Общая организация моделируемой вычислительной системы
- •Общее задание для выполнения
- •Зависимость числа страничных сбоев от кванта процессорного времени
- •Оценка зависимости загрузки процессора от величины кванта времени
- •Индивидуальные задания для выполнения
Лабораторная работа № 5 моделирование процессов в операционной системе
Цель работы: Ознакомление с основными принципами моделирования и исследования функционирования операционных систем (ОС). Получение практических навыков моделирования процессов в ОС, добиваясь достижения максимальной её производительности.
Указания по подготовке к выполнению лабораторной работы.
Необходимо изучить алгоритмы планирования выполнения процессов на процессоре, стратегии замены страниц (FIFO, LFU, NUR). Научится выполнять вычисления в табличном процессоре Excel. Особое внимание уделить вопросам синхронизации процессов с использованием механизма семафоров.
Дополнительную информацию при подготовке к работе можно получить в:
Таненбаум Э. Современные операционные системы. – СПб.: Питер, 2010.
Шеховцов В.А. Операційні системи. – К.: Видавнича група BHV, 2005.
Теоретические сведения.
В лабораторной работе моделируются некоторые аспекты функционирования ОС при обработке пользовательских и системных процессов.
В работе используется программная модель, отображающая следующие аспекты функционирования ОС:
Представление процесса в системе
Взаимодействие процессов в системе
Выделение страниц памяти по запросам, с помощью использования алгоритмов замещения страниц
Распределение ресурсов вычислительной системы между несколькими процессами с помощью механизма семафоров
Модель обладает следующими параметрами, значения которых можно менять в зависимости от заданного варианта:
1. Три фиксированных приоритета процессов -пользовательские, серверные и системные задачи (задачи ядра).
2. Максимальное количество пользовательских процессов - 10.
3. Количество серверных процессов операционной системы - 9. В их числе:
менеджер памяти, осуществляющий динамическое преобразование адресов;
менеджер ФС, обслуживающий соответствующие системные вызовы.
4. Количество системных задач - 7. В их числе:
задача, обслуживающая принтер;
задача, обслуживающая терминал;
задача, обслуживающая жесткий диск (винчестер);
задача, обслуживающая Flash-диск (дисковод);
системные часы;
задача, обслуживающая системные вызовы (System Task) (для простоты взаимодействия пользовательских процессов с ядром осуществляется без ее участия);
процесс "аппаратуры", "пустой процесс" -протекающий во время простоя процессора.
Взаимодействие процессов в системе происходит при помощи механизма сообщений. Процесс, пославший сообщение, становится блокированным, процесс, получивший сообщение -готовым к выполнению. Системные задачи имеют наибольший приоритет, затем идут соответственно серверные и пользовательские процессы.
Планировщик по умолчанию использует дисциплину планирования RR, при этом процессы разных приоритетов образуют разные циклические очереди, и диспетчер каждый раз выбирает наиболее приоритетный процесс.
Все процессы имеют виртуальное адресное пространство от 0 до некоторого N (старший виртуальный адрес), произвольным образом разбитое на сегменты кода, данных и стека.
Распределение ресурсов в системе происходит при помощи семафоров, причем терминал и принтер процесс использует безраздельно, но все процессы могут совместно использовать flash и жесткий диски.