ВУЗ:
Составители:
24
привилегий из предыдущего стека в новый копируется фиксированное
число слов, заданное в вентиле. Команда межсегментного возврата RET с
выравниванием указателя стека при возврате корректно восстановит
значение предыдущего указателя.
Привилегии и битовая карта разрешения ввода/вывода
контролируют возможность выполнения операций ввода/вывода и
управления флагом разрешения прерываний IF. Уровень привилегий
ввода/вывода
определяется полем IOPL (Input/Output Privilege Level)
регистра флагов. Значение IOPL можно изменять только при CPL= 0.
При CPL
≤
IOPL на операции ввода/вывода и управление флагом
разрешения прерываний IF никаких ограничений не накладывается. При
CPL > IOPL попытка ввода/вывода, выполненная с TSS класса 80286,
вызывает исключение #GP (отказ). Если CPL > IOPL, а с задачей связан
TSS класса 386+, инструкции ввода/вывода могут выполняться только по
адресам портов, для которых установлены нулевые биты в
карте
разрешения ввода/вывода, имеющейся в TSS. Попытки обращения к
портам, которым соответствуют единичные биты карты или которые не
попали в карту (ее размер может усекаться), вызывают исключение #GP.
При CPL
≤
IOPL попытка выполнения команд CLI или STI вызывает
исключение #GP. Неявное управление флагом разрешения прерываний
инструкциями загрузки или восстановления регистра флагов блокируется
без генерации исключений.
привилегий из предыдущего стека в новый копируется фиксированное
число слов, заданное в вентиле. Команда межсегментного возврата RET с
выравниванием указателя стека при возврате корректно восстановит
значение предыдущего указателя.
Привилегии и битовая карта разрешения ввода/вывода
контролируют возможность выполнения операций ввода/вывода и
управления флагом разрешения прерываний IF. Уровень привилегий
ввода/вывода определяется полем IOPL (Input/Output Privilege Level)
регистра флагов. Значение IOPL можно изменять только при CPL= 0.
При CPL ≤ IOPL на операции ввода/вывода и управление флагом
разрешения прерываний IF никаких ограничений не накладывается. При
CPL > IOPL попытка ввода/вывода, выполненная с TSS класса 80286,
вызывает исключение #GP (отказ). Если CPL > IOPL, а с задачей связан
TSS класса 386+, инструкции ввода/вывода могут выполняться только по
адресам портов, для которых установлены нулевые биты в карте
разрешения ввода/вывода, имеющейся в TSS. Попытки обращения к
портам, которым соответствуют единичные биты карты или которые не
попали в карту (ее размер может усекаться), вызывают исключение #GP.
При CPL ≤ IOPL попытка выполнения команд CLI или STI вызывает
исключение #GP. Неявное управление флагом разрешения прерываний
инструкциями загрузки или восстановления регистра флагов блокируется
без генерации исключений.
24
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »
