- •Лабораторная работа № 5 моделирование процессов в операционной системе
- •1. Управление процессами
- •2. Синхронизация процессов
- •3. Планирование процессов
- •4. Вталкивание-выталкивание
- •5. Конфигурация вычислительной системы
- •6. Состояние процесса
- •7. Взаимодействие процессов в системе
- •8. Управление памятью (memory manager)
- •9. Управление файлами (File System). Семафорные операции
- •10. Пользовательские процессы
- •Порядок использования модели
- •1. Цель
- •2. Порядок использования модели
- •3. Общая организация моделируемой вычислительной системы
- •Общее задание для выполнения
- •Зависимость числа страничных сбоев от кванта процессорного времени
- •Оценка зависимости загрузки процессора от величины кванта времени
- •Индивидуальные задания для выполнения
4. Вталкивание-выталкивание
Процесс может выталкиваться во вторичную память и вталкиваться обратно, при этом применяется стратегия "первый подходящий". Если процесс запрашивает дополнительную память, то ему выделятся новая секция памяти достаточного размера и туда копируется содержимое старой памяти. Старая память освобождается. Если в момент расширения процесса в первичной памяти не оказывается в наличии свободного куска, процессу отводится нужное место во вторичной памяти, он выталкивается и будет втолкнут снова в первичную память (уже учитывая его новый размер), когда в ней появится достаточный по размерам свободный кусок. Вталкиванием и выталкиванием руководит специальный процесс подкачек.
5. Конфигурация вычислительной системы
Любую вычислительную систему можно охарактеризовать, описав ее составляющие, а именно центральный процессор (ЦП), оперативная память (ОП) и устройства ввода/вывода.
Центральный процессор - любой, способный обеспечить одновременное выполнение нескольких процессов в реальном времени.
Оперативная память - имеет двухпортовую организацию для обеспечения параллельной работы ЦП и каналов ввода/вывода.
Устройства ввода/вывода (УВВ) составляют необходимый минимальный набор:
терминал (TTY);
жесткий диск (Winchester);
Flash-привод (Flash);
принтер (Printer).
Модель в своем функционировании имеет именно такую конфигурацию.
6. Состояние процесса
Пользовательский процесс в данной модели может находиться в одном из трех состояний:
активный - ему в данный момент предоставлен ЦП;
готовый (ready) - не обладает ЦП, но в любой момент времени может стать активным;
блокированный (unready) - не обладает ЦП, и не может стать активным, поскольку ожидает какого либо события (например, завершения операции ввода/вывода). При наступлении этого события процесс переходит в одно из первых двух состояний. На рис.3 представлен переход из одного состояния в другое.
Рис. 3. Состояния процесса
7. Взаимодействие процессов в системе
В данной модели пользовательские процессы взаимодействуют с системными задачами не непосредственно, а через обращения к серверным процессам (Memory Manager & File System). Эти два процесса являются суть независимыми от ядра ОС (настолько, что возможны несколько вариантов реализации этих процессов). Их отличия от пользовательских процессов в следующем:
серверные процессы обладают более высоким приоритетом;
серверные процессы могут непосредственно взаимодействовать с системами;
работают с реальным адресным пространством.
Такая иерархическая структура позволяет реализовать различные способы защиты как пользовательских программ друг от друга, так и операционной системы от несанкционированного доступа.
Поскольку Memory Manager и File System выполняют в данной модели исключительно важную и сложную роль, целесообразно рассмотреть их подробнее.
8. Управление памятью (memory manager)
В данной модели Memory Manager выполняет функцию динамического преобразования адресов при адресации виртуальной памяти (в UNIX трансляция адресов осуществляется непосредственно ядром, a Memory Manager контролирует динамическое использование памяти). Во время исполнения Memory Manager на экране появляется окно с картой ОП. При возникновении страничного сбоя Memory Manager производит загрузку требуемой страницы, используя текущую стратегию замещения (выбирается пользователем). Возможно также динамическое изменение размера ОП в процессе моделирования.