Организация ввода-вывода. Часть 2. Драйверы для WINDOWS NT. Рощин А.В. - 25 стр.

UptoLike

Составители: 

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