ВУЗ:
Составители:
25
1.4 Защита
Для обеспечения надежной работы многозадачных операционных
систем необходимо защищать задачи друг от друга. Защита предназначена
для предотвращения несанкционированного доступа к памяти и
выполнения критических (опасных для системы) инструкций – команды
HLT, которая останавливает процессор, команд ввода/вывода, управления
флагом разрешения прерываний и команд, влияющих на сегменты кода и
данных. Механизмы
защиты вводят следующие ограничения:
− ограничение использования сегментов (например, запрет записи в
только читаемые сегменты данных или попытка исполнения
данных, как кода); для использования доступны только сегменты,
дескрипторы которых описаны в GDT и LDT,
− ограничение доступа к сегментам через правила привилегий,
− ограничение набора выполняемых инструкций – выделение
привилегированных инструкций
или операций, которые можно
выполнять только при определенных уровнях CPL и IOPL,
− ограничение возможности межсегментных вызовов и передачи
управления.
В защищенном режиме при выполнении команд процессор
выполняет проверку условий, порождающих исключения.
Проверка при загрузке сегментных регистров:
− превышение лимита таблицы дескрипторов – #GP,
− несуществующий дескриптор сегмента – #NP или #SS,
−
нарушение привилегий – #GP,
− загрузка неверного дескриптора или типа сегмента – #GP:
o загрузка в SS сегмента кода или сегмента данных только для
чтения,
o загрузка управляющих дескрипторов в DS, ES или SS,
1.4 Защита
Для обеспечения надежной работы многозадачных операционных
систем необходимо защищать задачи друг от друга. Защита предназначена
для предотвращения несанкционированного доступа к памяти и
выполнения критических (опасных для системы) инструкций – команды
HLT, которая останавливает процессор, команд ввода/вывода, управления
флагом разрешения прерываний и команд, влияющих на сегменты кода и
данных. Механизмы защиты вводят следующие ограничения:
− ограничение использования сегментов (например, запрет записи в
только читаемые сегменты данных или попытка исполнения
данных, как кода); для использования доступны только сегменты,
дескрипторы которых описаны в GDT и LDT,
− ограничение доступа к сегментам через правила привилегий,
− ограничение набора выполняемых инструкций – выделение
привилегированных инструкций или операций, которые можно
выполнять только при определенных уровнях CPL и IOPL,
− ограничение возможности межсегментных вызовов и передачи
управления.
В защищенном режиме при выполнении команд процессор
выполняет проверку условий, порождающих исключения.
Проверка при загрузке сегментных регистров:
− превышение лимита таблицы дескрипторов – #GP,
− несуществующий дескриптор сегмента – #NP или #SS,
− нарушение привилегий – #GP,
− загрузка неверного дескриптора или типа сегмента – #GP:
o загрузка в SS сегмента кода или сегмента данных только для
чтения,
o загрузка управляющих дескрипторов в DS, ES или SS,
25
Страницы
- « первая
- ‹ предыдущая
- …
- 23
- 24
- 25
- 26
- 27
- …
- следующая ›
- последняя »
