- •Механизмы и политика
- •Ядро системы. Привилегированный режим и режим пользователя.
- •Системное программное обеспечение
- •2. Реализация архитектуры операционных систем
- •2.1 Монолитные системы
- •2.2 Многоуровневые системы
- •2.3 Системы с микроядром
- •2.4 Системы с гибридным ядром
- •2.3 Особенности архитектуры: unix и Linux
- •2.3.1 Базовая архитектура unix
- •2.5 Концепция виртуальных машин
- •2.3.2 Архитектура Linux
- •2.4 Особенности архитектуры: Windows xp
- •2.4.1 Компоненты режима ядра
- •Уровень абстрагирования от оборудования
- •2.4.2 Компоненты режима пользователя
- •Понятия файла и файловой системы
- •2. Архитектура файловой системы
- •Организация информации в файловой системе
- •1.1 Организация хранения информации на накопителях
- •1.3 Физическая организация и адресация файла
- •1.4 Физическая организация файловой системы fat
- •1.6 Физическая организация файловой системы ntfs
- •1.7 Физическая организация файловых систем ext2, ext3, ext4
2.5 Концепция виртуальных машин
В системах виртуальных машин программным путем создают копии аппаратного обеспечения (происходит его эмуляция). Эти копии (виртуальные машины) работают параллельно, на каждой из них функционирует ПО, с которым взаимодействуют прикладный программы и пользователи.
Рисунок 2.4 – Архитектура ВМ
См рисунок 2.4. Ядро системы, называемое монитором виртуальных машин (МВМ), выполняется на физической машине, непосредственно взаимодействуя с ее аппаратным обеспечением. Монитор реализует набор виртуальных машин (ВМ). Каждая ВМ является точной копией аппаратного обеспечения, на ней может быть запущена любая ОС, разработанная для данной архитектуры. На разных ВМ одновременно могут функционировать разные ОС.
Когда программа из под ОС ВМ выполняет системный вызов, его перехватывает соответствующая ВМ, и выполняет соответствующие аппаратные инструкции (например, ввод-вывод для чтения диска). Эти аппаратные инструкции перехватывает монитор (МВМ) и преобразовывает их на аппаратные инструкции физической машины.
ВМ совмесно используют ресурсы реального компьютера (например, дисковое пространство разделяется между ними в виде виртуальных дисков).
2.3 Особенности архитектуры: unix и Linux
2.3.1 Базовая архитектура unix
UNIX является примером довольно простой архитектуры ОС. Большая часть функциональности этой системы находится в ядре, ядро общается с прикладными программами с помощью системных вызовов (см рис 2.5).
Рисунок 2.5 – Базовая архитектура UNIX
Система состоит из трех основных компонентов: подсистемы управления процессами, файловой подсистемы и подсистемы ввода-вывода.
Подсистема управления процессами контролирует создание и удаление процессов, распределение системных ресурсов между ними, межпроцессовое взаимодействие, управление памятью.
Файловая подсистема обеспечивает единый интерфейс доступа к данным, размещенных на дисковых накопителях и к периферийным устройствам. Такой интерфейс является одной из важнейших особенностей UNIX. Одни и те же системные вызовы используют как для обмена данными с диском, так и для вывода на терминал или принтер (программа работает с принтером так же, как и с файлом). При этом файловая система переадресовывает вызовы соответствующим модулям подсистемы ввода-вывода, и те – непосредственно периферийным устройствам. Кроме того, файловая подсистема контролирует права доступа к файлам, которые в значительной степени определяет привилегии пользователя в системе.
Подсистема ввода-вывода выполняет запросы файловой подсистемы, взаимодействуя с драйверами устройств. В UNIX различают два типа устройств: символьные (например, принтер) и блоковые (например, жесткий диск). Основное их отличие в том, что блоковое устройство допускает прямой доступ. Для повышения продуктивности работы с блоковыми устройствами используют буферный кэш – область памяти, в которой сохраняются данные, считанные с диска последними. Во время следующих обращений к этим данным, они могут быть получены из кэша.
Современные UNIX-системы несколько отличаются по своей архитектуре.
В них выделен отдельный менеджер памяти, отвечающий за поддержку виртуальной памяти.
Стандартом для реализации интерфейса файловой подсистемы является виртуальная файловая система, которая абстрагирует этот интерфейс и дает возможность организовать поддержку разных типов файловых систем.
В этих системах поддерживается многопроцессорная обработка, а так же многопотоковость.
Базовые архитектурные решения, такие как доступ ко всем устройств ввода-вывода через интерфейс файловой системы или организация системных вызовов, остаются неизменными во всех реализациях UNIX.
