Защищенная плоская модель


Защищенная плоская модель аналогична плоской модели, за исключением того, что границы сегментов устанавливаются равными таким диапазонам адресов, которым соответствует фактически существующая оперативная память. Общее исключение защиты генерируется при любой попытке доступа к несуществующей памяти.

Многосегментная модель


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

Сегментная организация памяти, селекторы, дескрипторы


Сегментация метод управления памятью, на котором основано построение защиты. Сегмент является средством объединения областей памяти с общими атрибутами. Информация о свойствах сегмента хранится в 8-байтной структуре данных, называемой дескриптором. Все дескрипторы хранятся в таблицах, обращение к которым аппаратно поддерживается процессором. Процессор может обращаться только к тем сегментам памяти, для которых имеются дескрипторы в таблицах.

ТАБЛИЦЫ ДЕСКРИПТОРА


Таблицы дескриптора определяют все сегменты, которые используются в 80386. В 80386 имеются три типа таблиц, которые содержат дескрипторы: — Таблица Глобального Дескриптора(GDT) — Таблица Локального Дескриптора(LDT) — Таблица Дескриптора Прерывания(IDT)

Страничная организация памяти, таблица страниц, каталог страниц


Линейный адрес представляет собой 32-битовый адрес в однородном, несегментированном адресном пространстве. Это адресное пространство может являться большим физическим адресным пространством (т.е. адресным пространством, состоящим из 4 гигабайт оперативной памяти), либо может использоваться средство подкачки страниц, моделирующее это адресное пространство при помощи небольшой области оперативной памяти и некоторого количесства дисковой памяти.

Отображение сегментов на страницы


1) Сегменты, занимающие несколько страниц Архитектура процессора допускает существование сегментов, превышающих по размеру одну страницу (4К). Например, большие структуры данных могут занимать тысячи страниц. Если подкачка страниц не используется, то для доступа к любой части структуры данных требуется присутствие в физической памяти всей структуры данных.

Установка, сброс защиты


В защищенном режиме процессор поддерживает 2 уровня защиты: сегментная и страничная. Установка механизма защиты происходит при переходе процессора в защищенный режим при установке флага РЕ в регистре флагов CR 0. Включение страничного механизма защиты происходит при установлении флага PG в регистре CR 0.

Виды защит(алгоритмы проверок)


Во время вычисления физического адреса происходит проверка лигитивности (разрешения) доступа к ячейке памяти. Проверка по 6 пунктам: 1. Проверка границы 2. Проверка типа

Дескриптор сегмента и защита


На Рисунке показаны поля дескриптора сегмента, используемые механизмом защиты. Отдельные биты поля Типа именуются по выполняемым ими функциям. Параметры защиты помещаются в дескриптор при его создании. В целом, прикладным программистам эти параметры знать не требуется.

Уровни привилегий


Механизм защиты распознает четыре уровня привилегированности, нумеруемые от 0 до 3. Чем больше номер, тем ниже уровень привилегированности. Уровни привилегированности могут использоваться для повышения надежности операционной системы. Прикладным программам присваивается самый низкий уровень привилегированности. На Рисунке показано, как эти уровни привилегированности могут быть интерпретированы в качестве колец защиты.

ОГРАНИЧЕНИЕ ДОСТУПА К ДАННЫМ


Для адресации операнда в памяти селектор сегмента данных должен быть загружен в регистр сегмента данных (регистры DS, ES, FS, GS или SS). Процессор проверяет уровни привилегированности сегментов. Проверка выполняется при загрузке селектора сегмента.

ОГРАНИЧЕНИЕ ПРИ ПЕРЕДАЧИ УПРАВЛЕНИЯ МЕЖДУ СЕГМЕНТАМИ КОДА КОНФОРМНЫЙ, НЕКОНФОРМНЫЙ СЕГМЕНТ


В процессоре i486 передача управления выполняется командами JMP, CALL, RET, INT и IRET, а также механизмами исключений и прерываний. «Ближние» формы команд JMP, CALL и RET передают управление в пределах содержащего их кодового сегмента, и следовательно, подлежат только проверки границы перехода.

Шлюзы


Шлюзовой дескриптор — это дескриптор, который используется для передачи управления между кодовыми сегментами разных уровней привилегий: 4 вида. шлюз вызова, шлюз ловушки, *шлюз прерывания, *шлюз задач (*- используется в исключительных случаях).

Защита страниц


Защита работает как на уровне сегментов, так и на уровне страниц. При использовании плоской модели сегментации памяти защита на уровне страниц также предотвращает недопустимое взаимное влияние между программами. Каждая ссылка к памяти контролируется на удовлетворение проверок защиты.

Переключение стека.


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

Возврат из процедуры


«Ближние» формы команды RET выполняют передачу управления только в пределах текущего кодового сегмента, и следовательно, для них выполняется только контроль границ. Смещение для команды, следующей после команды вызова CALL, извлекается из стека и помещается в регистр EIP.

Стек


Стек – это одна из форм представления очереди. Стек – это массив памяти. Доступ: последним вошел – первым вышел. Для доступа используются регистры: SS – 16-битный в реальном режиме работы хранит адрес начала сегмента, в защищенном режиме – индекс в таблицу, LDT (локальный дескриптор), GDT (глобальный дескриптор).;

Сегмент состояния задачи


Информация о состоянии процессора, необходимая для восстановления контекста задачи, хранится в типе сегмента, называемом сегментом состояния задачи, или TSS. Поля TSS делятся на две основные категории: 

Дескриптор задачи


AVL Доступно для использования системным программным обеспечением B Бит «Занятости» BASE Базовый адрес сегмента DPL Уровень привилегированности дескриптора

Регистр задачи


Регистр задачи (TR) используется для поиска текущего TSS. На Рисунке 7-3 показан путь, по которому процессор выполняет доступ к TSS.

Шлюз дескриптора задачи


Дескриптор шлюза задачи обеспечивает косвенные, защищенные ссылки к задаче. Формат шлюза задачи показан на Рисунке 7-4. DPL Уровень привилегированности дескриптора P Присутствие сегмента

Переключение задачи


Процессор i486 передает управление другой задаче в одном из следующих четырех случаев: 1. Текущая задача выполняет команду JMP или CALL для дескриптора TSS. 2. Текущая задача выполняет команду JMP или CALL для шлюза задачи.

Компановка задач


Для возврата выполнения на предыдущую задачу используются поле Компоновки в TSS и флаг NT. Флаг NT указывает на то, является ли текущая выполняемая задача вложенной в выполнение другой задачи, а поле Компоновки в TSS текущей задачи содержит селектор TSS для задачи более старшего уровня, если таковая имеется (см. Рисунок 7-6).

Адресное пространство задачи


Для того, чтобы каждая задача имела собственную LDT и собственные таблицы страниц, могут быть использованы селектор LDT и поле PDBR (в CR3) TSS. Поскольку дескрипторы сегментов в LDT представляют собой связки между задачами и сегментами, для установки индивидуального управления этими связками для каждой задачи могут использоваться отдельные LDT.

ОС КАК СИСТЕМА УПРАВЛЕНИЯ РЕСУРСАМИ


Управление ресурсами включает решение двух общих, не зависящих от типа ресурса задач: — планирование ресурса — то есть определение, кому, когда, а для делимых ресурсов и в каком количестве, необходимо выделить данный ресурс; 

ОСОБЕННОСТИ АППАРАТНЫХ ПЛАТФОРМ


На свойства операционной системы непосредственное влияние оказывают аппаратные средства, на которые она ориентирована. По типу аппаратуры различают операционные системы персональных компьютеров, мини-компьютеров, мейнфреймов, кластеров и сетей ЭВМ.

Особенности областей использования


Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности: — системы пакетной обработки (например, OC EC), — системы разделения времени (UNIX, VMS), — системы реального времени (QNX, RT/11). 

ОСОБЕННОСТИ МЕТОДОВ ПОСТРОЕНИЯ


При описании операционной системы часто указываются особенности ее структурной организации и основные концепции, положенные в ее основу. К таким базовым концепциям относятся: — Способы построения ядра системы — монолитное ядро или микроядерный подход.

Основные принципы построения ОС


1. Частотный – основан на выделении в алгоритмах программ и обработках массивов действий и данных по частотет использования.