Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[IA32] conforming 14.04.04 11:27 Число просмотров: 1540
Автор: amirul <Serge> Статус: The Elderman
|
[moved from beginners] > 7) Я до конца не разобрался, для чего нужен флаг conforming > для описателя сегмента. Кто знает, расскажите, зачем он.
Code segments can be either conforming or nonconforming. A transfer of execution into a moreprivileged
conforming segment allows execution to continue at the current privilege level. A
transfer into a nonconforming segment at a different privilege level results in a general-protection
exception (#GP), unless a call gate or task gate is used
Другими словами:
When accessing nonconforming code segments, the CPL of the calling procedure must be equal
to the DPL of the destination code segment; otherwise, the processor generates a general-protection
exception (#GP).
When accessing conforming code segments, the CPL of the calling procedure may be numerically
equal to or greater than (less privileged) the DPL of the destination code segment; the
processor generates a general-protection exception (#GP) only if the CPL is less than the DPL.
CPL - current privilege level, DPL - destination privilege level
Ядро PL==0 может исполнять куски кода в сегментах с PL==3 (например) только если у сегмента третьего кольца есть флаг C (conforming)
|
|
|