ВУЗ:
Составители:
112
вень привилегий EPL (Effective Privilege Level), который опре-
деляется как максимальное арифметическое из значений CPL и
RPL. Селектор с RPL = 0 не вводит дополнительных ограниче-
ний.
Контроль доступа к сегментам данных производится при
исполнении команд, загружающих селекторы в сегментные ре-
гистры SS, DS, ES, FS и GS. Команды загрузки DS, ES, FS и GS
должны ссылаться на дескрипторы сегментов данных или сег-
ментов кодов, допускающих чтение. Для получения доступа эф-
фективный уровень привилегий EPL должен быть равным или
меньшим (арифметически) уровня привилегий DPL дескрипто-
ра. Если эффективный уровень привилегий не разрешает доступ,
ссылка идет на некорректный тип дескриптора (на дескриптор
вентиля или на дескриптор только исполняемого кодового сег-
мента) или на несуществующий дескриптор вырабатываются
соответствующие исключения.
Команды загрузки SS должны ссылаться на дескриптор
сегмента данных, допускающий запись. При этом DPL и RPL
должны быть равны CPL.
Контроль типов привилегий при передаче управления про-
изводится при загрузке селектора в регистр CS. Тип дескрипто-
ра, на который ссылается данный селектор, должен соответство-
вать выполняемой инструкции. Нарушение типа (например,
ссылка инструкции JMP на вентиль вызова) порождает исклю-
чение. При передаче управления действуют следующие правила
привилегий, нарушение которых также приводит к исключению:
– команды JMP или CALL могут ссылаться на сегмент с
DPL, равным CPL;
– прерывания внутри задачи или вызовы, которые могут
изменить уровень привилегий, могут передавать управление ко-
довому сегменту с уровнем привилегий, равным или больше
уровня привилегий CPL, только через вентили с тем же или
меньшим уровнем привилегий, чем CPL;
– инструкции возврата, которые не переключают задачи,
могут передать управление только кодовому сегменту с таким
же или меньшим уровнем привилегий;
вень привилегий EPL (Effective Privilege Level), который опре-
деляется как максимальное арифметическое из значений CPL и
RPL. Селектор с RPL = 0 не вводит дополнительных ограниче-
ний.
Контроль доступа к сегментам данных производится при
исполнении команд, загружающих селекторы в сегментные ре-
гистры SS, DS, ES, FS и GS. Команды загрузки DS, ES, FS и GS
должны ссылаться на дескрипторы сегментов данных или сег-
ментов кодов, допускающих чтение. Для получения доступа эф-
фективный уровень привилегий EPL должен быть равным или
меньшим (арифметически) уровня привилегий DPL дескрипто-
ра. Если эффективный уровень привилегий не разрешает доступ,
ссылка идет на некорректный тип дескриптора (на дескриптор
вентиля или на дескриптор только исполняемого кодового сег-
мента) или на несуществующий дескриптор вырабатываются
соответствующие исключения.
Команды загрузки SS должны ссылаться на дескриптор
сегмента данных, допускающий запись. При этом DPL и RPL
должны быть равны CPL.
Контроль типов привилегий при передаче управления про-
изводится при загрузке селектора в регистр CS. Тип дескрипто-
ра, на который ссылается данный селектор, должен соответство-
вать выполняемой инструкции. Нарушение типа (например,
ссылка инструкции JMP на вентиль вызова) порождает исклю-
чение. При передаче управления действуют следующие правила
привилегий, нарушение которых также приводит к исключению:
– команды JMP или CALL могут ссылаться на сегмент с
DPL, равным CPL;
– прерывания внутри задачи или вызовы, которые могут
изменить уровень привилегий, могут передавать управление ко-
довому сегменту с уровнем привилегий, равным или больше
уровня привилегий CPL, только через вентили с тем же или
меньшим уровнем привилегий, чем CPL;
– инструкции возврата, которые не переключают задачи,
могут передать управление только кодовому сегменту с таким
же или меньшим уровнем привилегий;
112
Страницы
- « первая
- ‹ предыдущая
- …
- 110
- 111
- 112
- 113
- 114
- …
- следующая ›
- последняя »
