Организация ввода-вывода. Часть 2. Драйверы для WINDOWS NT. Рощин А.В. - 22 стр.

UptoLike

Составители: 

22
Привилегии дескриптора (Descriptor Privilege) задаются полем DPL
байта управления доступом. DPL определяет наибольший номер уровня
привилегий (наименьшие привилегии), с которыми возможен доступ к
данному дескриптору. Самый защищенный дескриптор имеет DPL= 0, к
нему имеют доступ только задачи с CPL= 0. Самый беззащитный
дескриптор имеет DPL= 3, его могут использовать задачи с CPL= 0, 1, 2, 3.
Это правило применимо ко
всем дескрипторам, за исключением
дескриптора LDT.
Привилегии селектора (Selector Privilege) задаются полем RPL
(Requested Privilege Level) – двумя младшими битами селектора. С
помощью RPL можно редуцировать эффективный уровень привилегий EPL
(Effective Privilege Level), который определяется, как максимальное из
значение CPL и RPL. Селектор с RPL = 0 не вводит дополнительных
ограничений.
Контроль доступа к сегментам данных производится при
выполнении команд, загружающих селекторы
SS, DS, ES, FS и GS.
Команды загрузки DS, ES, FS и GS должны ссылаться на дескрипторы
сегментов данных или сегментов кодов, допускающих чтение. Для
получения доступа эффективный уровень привилегий EPL должен быть
равным или меньшим (по значению) уровня привилегий DPL дескриптора.
Исключением из этого правила является читаемый подчиненный сегмент
кода, который может быть прочитан с любым
CPL. Если эффективный
уровень привилегий не разрешает доступ, или ссылка производится на
некорректный тип дескриптора (на дескриптор вентиля или на дескриптор
только выполняемого сегмента), генерируется исключение #GP. При
ссылке на несуществующий дескриптор вырабатывается исключение #NP.
Контроль типов и привилегий при передаче управления производится
при загрузке селектора в регистр CS. Тип
селектора, на который ссылается
     Привилегии дескриптора (Descriptor Privilege) задаются полем DPL
байта управления доступом. DPL определяет наибольший номер уровня
привилегий (наименьшие привилегии), с которыми возможен доступ к
данному дескриптору. Самый защищенный дескриптор имеет DPL= 0, к
нему имеют доступ только задачи с CPL= 0. Самый беззащитный
дескриптор имеет DPL= 3, его могут использовать задачи с CPL= 0, 1, 2, 3.
Это правило применимо ко всем дескрипторам, за исключением
дескриптора LDT.
     Привилегии селектора (Selector Privilege) задаются полем RPL
(Requested Privilege Level) – двумя младшими битами селектора. С
помощью RPL можно редуцировать эффективный уровень привилегий EPL
(Effective Privilege Level), который определяется, как максимальное из
значение CPL и RPL. Селектор с RPL = 0 не вводит дополнительных
ограничений.
     Контроль      доступа   к   сегментам   данных   производится   при
выполнении команд, загружающих селекторы SS, DS, ES, FS и GS.
Команды загрузки DS, ES, FS и GS должны ссылаться на дескрипторы
сегментов данных или сегментов кодов, допускающих чтение. Для
получения доступа эффективный уровень привилегий EPL должен быть
равным или меньшим (по значению) уровня привилегий DPL дескриптора.
Исключением из этого правила является читаемый подчиненный сегмент
кода, который может быть прочитан с любым CPL. Если эффективный
уровень привилегий не разрешает доступ, или ссылка производится на
некорректный тип дескриптора (на дескриптор вентиля или на дескриптор
только выполняемого сегмента), генерируется исключение #GP. При
ссылке на несуществующий дескриптор вырабатывается исключение #NP.
     Контроль типов и привилегий при передаче управления производится
при загрузке селектора в регистр CS. Тип селектора, на который ссылается



                                    22