- •[2.2] Некоторые понятия защищенного режима
- •[2.3] Основные характеристики Windows nt
- •[2.3.1] Многопоточность
- •[2.3.2] Вытесняющая многозадачность
- •[2.3.3] Виртуальная память с подкачкой страниц по требованию [2.3.4] Мультипроцессорная обработка
- •[2.3.5] Модель модифицированного микроядра
- •[2.3.6] Независимость от архитектуры процессора
- •[2.4] Исполнительная Система (The Executive)
- •[2.4.1] Диспетчер Объектов.
- •[2.4.2] Справочный монитор защиты (security reference monitor).
- •[2.4.3] Диспетчер процессов (process manager).
- •[2.4.4] Средство локального вызова процедур (lpc).
- •[2.4.5] Диспетчер памяти и Диспетчер кэша (memory manager и cache manager).
- •[2.4.6] Поддержка среды Win32 (Win32 support)
- •[2.4.7] Диспетчер Конфигурации (configuration manager)
- •[2.4.8] Диспетчер ввода-вывода (I/o manager).
- •[2.4.9] Микроядро [2.4.10] Слой Абстрагирования от Оборудования
Лекция № 2. Общая архитектура ОС NT. Архитектура ядра. Основные компоненты ядра и предоставляемые ими сервисы.
[2.1] Понятия «пользовательский режим» и «режим ядра» (Некоторые сведения о работе процессора в защищенном режиме)
Начнем наш обзор архитектуры NT с обсуждения разницы между пользовательским режимом и режимом ядра (user mode/kernel mode).
Пользовательский режим– наименее привилегированный режим, поддерживаемый NT; он не имеет прямого доступа к оборудованию и у него ограниченный доступ к памяти.
Режим ядра – привилегированный режим. Те части NT, которые исполняются в режиме ядра, такие как драйверы устройств и подсистемы типа Диспетчера Виртуальной Памяти, имеют прямой доступ ко всей аппаратуре и памяти.
Различия в работе программ пользовательского режима и режима ядра поддерживаются аппаратными средствами компьютера (а именно - процессором), поэтому нельзя не сказать несколько слов о работе процессора.
[2.2] Некоторые понятия защищенного режима
Защищенный режим является основным и наиболее естественным режимом работы 32-разрядных процессоров. Этот режим был в полной мере реализован в процессорах серии i386 и с тех пор существенных изменений не претерпел.
Защищенный режим 32-разрядных процессоров реализует поддержку следующих механизмов:
Организация памяти, при которой используются 2 механизма преобразования памяти: сегментация и разбиение на страницы
Четырехуровневая система защиты пространства памяти и ввода/вывода
Переключение задач
Сегмент – блок пространства памяти определенного назначения, внутри которого применяется линейная адресация, т.е. байты пронумерованы как 0, 1… . Максимальный размер сегмента при 32-разрядной адресации составляет 4 Гб (232 байт). Максимальное число таких сегментов составляет 213 (8192). Сегмент может быть произвольной длины в допустимых границах.
Каждый сегмент характеризуется 8-байтной структурой данных – дескриптором сегмента, в котором в числе прочего указаны:
Права доступа. Среди прочего, права доступа определяют возможность чтения, записи и исполнения сегмента.
Уровень привилегий (относится к четырехуровневой системе защиты)
На сегментации основана защита памяти. При этом не позволяется:
Использовать сегменты не по назначению (нарушение прав доступа)
Обращаться к сегменту, не имея достаточных привилегий
Адресоваться к элементам, выходящим за границы сегмента
Страничная организация памяти позволяет использовать большее пространство памяти, чем физическая основная память. При этом базовым объектом памяти служит блок фиксированного размера 4 Кб.
Физический адрес памяти, получаемый на выходе сегментного и страничного преобразования памяти, является 32-разрядным, позволяя адресовать таким образом до 4 Гб реально доступной физической памяти.
Четырехуровневая система привилегий предназначена для управления использованием привилегированных инструкций и для защиты пространства памяти и ввода/вывода.
Уровни привилегий нумеруются от 0 до 3, нулевой уровень соответствует максимальным (неограниченным) возможностям доступа и отводится для ядра ОС. Уровень 3 имеет самые ограниченные права и обычно предоставляется прикладным задачам.
Систему защиты обычно изображают в виде колец, соответствующих уровням привилегий, а сами уровни привилегий иногда называют кольцами защиты.
В зависимости от уровня привилегии осуществляется защита по доступу к привилегированным командам, по доступу к данным с более высоким уровнем привилегий и по передаче управления коду с уровнем привилегий, отличным от текущего.
Защищенный режим предоставляет средства переключения задач. Состояние каждой задачи – значения всех связанных с ней регистров процессора – может быть сохранено в специальном сегменте состояния задачи. Там же хранится карта разрешения ввода/вывода, указывающая для каждого из 64К адресов портов в/в возможность обращения к нему.
ОС NT использует 2 кольца защиты – 0 и 3, называя соответственно режим работы в 0 кольце – kernel mode, в 3 кольце – user mode.
[2.3] Основные характеристики Windows nt
ОС NT характеризуется поддержкой следующих механизмов:
Многопоточность
Вытесняющая многозадачность
Виртуальная память с подкачкой страниц по требованию
Мультипроцессорная обработка
Модель модифицированного микроядра
Независимость от архитектуры процессора
Эмуляция нескольких ОС
Интегрированная поддержка сети