- 5.1. Контроль предела и выравнивания
- 5.2. Контроль типа
- 5.3. Уровни привилегий
- 5.4. Привилегированные команды
- 5.5. Защита на уровне страниц
В защищенном режиме процессор обеспечивает определенные механизмы защиты на основе сегментации и на основе страничного преобразования. Механизмы защиты позволяют ограничивать доступ к определенным сегментам или страницам при помощи уровней привилегий (4 для сегментов и 2 для страниц). Например, критические код и данные операционной системы могут быть расположены на более привилегированном уровне, чем прикладные программы. Это позволит ограничить и контролировать доступ прикладных программ к функциям и данным операционной системы.
Механизм защиты обеспечивает соответствие любой ссылки на ячейки памяти определенным условиям. Все проверки выполняются до начала цикла обращения к памяти. Нарушение любого условия приводит к генерации исключения. Проверки выполняются параллельно с формированием адреса, и поэтому не ухудшают производительность процессора. Все ссылки должны пройти следующие проверки:
- контроль предела;
- контроль типа;
- контроль уровня привилегий;
- контроль выравнивания;
- ограничение адресного пространства;
- ограничение точек входа в процедуры (для шлюзов);
- ограничение набора команд (привилегированные инструкции);
В защищенном режиме нет способа отключить механизм защиты. Даже если назначить всем сегментам и задачам нулевой (самый высший) уровень привилегий, все равно будут выполняться проверки контроля предела и типа.
В то же время механизм защиты на уровне страниц можно подавить, если назначить всем страницам уровень привилегий пользователя и обеспечить доступ на чтение и запись.