5. Защита    
 СОДЕРЖАНИЕ
 Введение
 1. Развитие архитектуры
 2. Структура МП
 3. Ресурсы МП
 4. Управление памятью
 5. Защита
 6. Многозадачность
 7. Прерывания и исключения
 8. Инициализация МП
 9. Эмуляция 8086
 Глоссарий
 ПРАКТИКА
 1. Семантический разрыв
 2. CPUID
 3. Защищенный режим
 Вопросы и задания

Радиоэлектроника

iq.karelia.ru

5.4. Привилегированные команды

Привилегированные команды, которые влияют на системные структуры данных, могут использоваться, только когда СPL=0. Если процессор обнаруживает одну из этих команд в то время, когда уровень СPL больше нуля, то он вызывает обработку нарушения общей защиты (исключение #13). Такими командами являются:

Кроме привилегированных, существуют инструкции, результат выполнения которых зависит от поля IOPL в регистре флагов (I/O Privilege Level - уровень привилегий ввода-вывода): IN, INS, OUT, OUTS, CLI, STI. Механизм защиты процессора позволяет выполнять эти инструкции, только если задача обладает достаточными привилегиями, т.е.

CPL<=IOPL.

В противном случае выполнение инструкций CLI и STI вызывает исключение #13, а возможность выполнения инструкций обращений к портам зависит от битовой карты разрешения ввода-вывода.

Следует отметить, что биты IF и IOPL не могут быть изменены с помощью команды POPF, если она выполняется на уровне привилегий отличном от нуля, но при этом нарушения общей защиты не возникает.