з

К предыдущей странице

л

К предыдущей главе

о

К следующей главе

и

К следующей странице


2.4. Управление памятью (MEMORY MANAGER)

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

2.5. Управление файлами (File System). Семафорные операции

File System содержит двоичные семафоры для обеспечения взаимоисключения процессов при использовании устройств ввода/вывода.

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

Когда процесс освобождает ресурс (например, при завершении операции ввода/вывода), то, если есть ожидающие ресурса процессы, один из них получает доступ к ресурсу, иначе (если их нет), семафор устанавливается (операция V(S). Операция V увеличивает S на 1).

Временная диаграмма выполнения P,V операций над семафорами (S) приведена на рис.4, где A,B,C - обозначен критический участок (CS). Под CS подразумевается часть процесса, в течение которого некоторый общий ресурс должен монополизироваться.


рис.4. Временная диаграмма двоичного семафора.

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

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

При появлении окна, описывающего состояние семафора, работа системы останавливается. Для продолжения работы нужно нажать любую клавишу.

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

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


з

К предыдущей странице

л

К предыдущей главе

о

К следующей главе

и

К следующей странице