7.4.6.1.2. Уровни и правила привилегий

 

Микропроцессор 80386 имеет четыре уровня защиты для оптимизации поддержки многозадачности. Привилегии реализуются путем присвоения значения от нуля до трех ключевым объектам, которые опознаются процессором. Это значение называется уровнем привилегий. Значение нуль соответствует наибольшим привилегиям, тогда как значение три - наименьшим. Ниже перечислены эти ключевые объекты.

Уровень привилегий дескриптора DPL. Дескрипторы содержат поле, называемое DPL. Это наименьшие привилегии, которые должна иметь задача для доступа к дескриптору.

Уровень привилегий инициатора запроса RPL. Уровень RPL представляет собой уровень привилегий, запрашиваемый процедурой, которая является источником селектора.

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

Рис. 6.1. Уровни привилегий.

На рис. 6.1 показано, как четыре уровня привилегий интерпретируются в виде колец защиты. Центр-уровень 0 - предназначен для сегментов, содержащих наиболее критичные программы (обычно ядро операционной системы). Внешние кольца предназначены для сегментов с менее критичными программами или данными. Использование всех четырех уровней привилегий не является необходимым. Существующие программы, спроектированные с меньшим количеством уровней, могут просто игнорировать другие допустимые уровни. Рекомендуется, чтобы одноуровневая система использовала нулевой уровень привилегий. Двухуровневой системе следует использовать уровни привилегий нуль и три. Если у вас появятся

новые соображения, то вы сможете перемещаться вверх на уровень ядра или вниз на уровень прикладных программ, расширяя проект до трех или четырех уровней.

Микропроцессор 80386 автоматически проверяет право процедуры на доступ к другому сегменту путем сравнения уровня CPL процедуры с одним или более уровнями привилегий. Эта проверка выполняется во время загрузки селектора дескриптора в регистр сегмента.

 

 

HotLog

Заказчику web дизайна и программирования - каталог сайтов, обзор дизайн студий