Четырехуровневая иерархическая система привилегий предназначена для управления использованием привилегированных инструкций и доступом к дескрипторам. Уровни привилегий нумеруются от 0 до 3, нулевой уровень соответствует максимальным (неограниченным) возможностям доступа и отводится для ядра операционной системы. Уровень 3 имеет самые ограниченные права и обычно предоставляется прикладным задачам.. Сервисы, предоставляемые задачам, могут находиться в разных кольцах защиты. Передача управления между задачами контролируется вентилями (Gate), проверяющими правила использования уровней привилегий. Через вентили задачи могут получить доступ только к разрешенным им сервисам других сегментов.
Уровни привилегий относятся к дескрипторам, селекторам и задачам. Кроме того, в регистре флагов имеется поле привилегий ввода-вывода, с помощью которого обеспечивается управление доступом к инструкциям ввода-вывода и управление флагом прерываний.
Дескрипторы и привилегии являются основой системы защиты: дескрипторы определяют структуры элементов (без которых невозможно их использование), а привилегии определяют возможность доступа к дескрипторам и выполнения привилегированных инструкций. Любое нарушение защиты приводит к возникновению специальных исключений, обрабатываемых ядром операционной системы.Механизм виртуальной памяти позволяет любой задаче использовать логическое адресное пространство размером до 64 Тб (16К сегментов по 4 Гб). Процессор предоставляет только необходимые аппаратные средства поддержки защиты и виртуальной памяти, а их реальное использование и устойчивость работы программ и самой операционной системы защищенного режима, конечно же, зависят от корректности построения ОС и предусмотрительности ее разработчиков. Хорошо спроектированная операционная система защищенного режима может обеспечить живучесть ОС даже при некорректном поведении прикладных задач.
Сегментация
Сегментация — метод управления памятью, на котором основано построение защиты. Сегмент является средством объединения областей памяти с общими атрибутами. Информация о свойствах сегмента хранится в 8-байтной структуре данных, называемой дескриптором. Все дескрипторы хранятся в таблицах, обращение к которым аппаратно поддерживается процессором. Процессор можетобращаться только к тем сегментам памяти, для которых имеются дескрипторы в таблицах.
