1.2. Компоненты защищенного режима.Механизм защиты процессора Intel можно подразделить на две части: схемы управления памятью и защита по привилегиям (рис. 1). Схемы управления памятью включают механизм управления виртуальной памятью и контроль обращений к объектам памяти. Схемы управления памятью обнаруживают большинство программных ошибок, например, формирование неверных адресов, нахождение индекса за пределами массива и т.п. Защита по привилегиям фиксирует более тонкие ошибки и попытки нарушить целостность функционирования системы.
Схемы управления памятью реализуют разделение адресных пространств различных объектов (программ, данных, таблиц и т.д.), расположенных в оперативной памяти и осуществляют проверку корректности обращения к этим объектам. Разделение адресных пространств объектов в памяти является одной из основных штатных функций механизма трансляции сегментов и страниц. Дополнительной надстройкой для механизма защиты являются проверки, выполняемые при обращении к памяти, такие как проверка выхода за пределы границ объекта, проверка типа объекта и прав доступа к объекту. Информационной основой механизма защиты является дескриптор. Дескриптор содержит ссылку на расположение объекта в памяти и описание его свойств (мандатная часть). В поле прав доступа мандатной части содержится основная информация, используемая механизмом защиты. Объектом для дескриптора может служить сегмент (данных, кода, системный и т.д.) или точка входа в сегмент программного кода (шлюз). Проверки механизма защиты по привилегиям производятся при каждой активизации сегмента. Это или выборка дескриптора сегмента из таблицы дескрипторов при смене сегмента данных, или выборка дескриптора кодового сегмента или шлюза при выполнении межсегментных программных переходов. Проверяется корректность обращений к данным и межсегментных передач управления. Кроме этого, проверяется корректность использования команд. Корректность использования команд проверяется непрерывно. Как элемент защиты используются локальные аппаратные стеки для каждого уровня привилегий. При передачах управления с изменением уровня привилегий применяются процедуры переключения стеков. Микропроцессоры Intel х86 имеют два режима работы: реальный и защищенный. Трансляция страниц, использование дескрипторов и защита по привилегиям производятся только в защищенном режиме.
|