Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 99

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 93 94 95 96 97 98 < 99 > 100 101 102 103 104 105 .. 528 >> Следующая

процедуру формирования физического адреса с помощью каталога разделов и
таблицы страниц, затрачивая на это значительное время. Полученный базовый
адрес страницы заносится в строку одного из блоков TLB.
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
С помощью команды INVLPG производится очистка (аннулирование содержимого)
строк TLB. При этом очищается строка, содержащая базовый адрес страницы,
на которой размещается адресованная командой ячейка памяти. Одновременная
очистка всех строк TLB производится при записи в регистр CR3 нового
значения базового адреса каталога разделов, а также при переключении
задач.
Можно предохранить от аннулирования в TLB базовые адреса страниц, задав
для них в указателе страницы (см. рис. 2.45, б, в, 2.47, в, г) значение
бита глобальности G = 1. Если в регистре CR4 (см. рис. 2.7) установлен
бит разрешения глобальности PGE = 1, то базовые адреса этих страниц в TLB
не будут аннулироваться при переключении задач или перезагрузке
содержимого CR3. Таким образом, можно избежать потерь времени на
трансляцию базового адреса для страниц, используемых в процессе
выполнения различных задач (например, для страниц, содержащих ядро
операционной системы).
2.7.3. ЗАЩИТА ПАМЯТИ
Процессоры Р6 имеют специальные средства, обеспечивающие в защищенном
режиме защиту от случайного (непредусмотренного решаемой задачей)
обращения к сегментам и страницам, хранящимся в памяти. Система защиты
предусматривает различные виды контроля, которые реализуются процессором:
• контроль доступа к сегментам и страницам, который обеспечивается
описанной ниже системой привилегий;
• контроль использования сегментов и страниц, который вводит ряд
ограничений на возможные виды обращения к ним: запрещение записи в
сегменты данных (страницы), разрешенные только для чтения, запрещение
чтения сегментов программ (страниц), разрешенных только для выполнения,
запрещение обращения к незагруженным (отсутствующим) сегментам и
страницам и ряд других;
• ограничение набора выполняемых команд в зависимости от уровня
привилегий выполняемой программы (выделение привилегированных команд).
Для защиты информации, хранящейся в сегментах памяти, используется
система привилегий, которая регулирует доступ к тому или иному сегменту в
зависимости от уровня его защищенности и от степени важности
(привилегированности) запроса. В процессорах Р6, также как в более раних
моделях 80286, 80386, 80486, Pentium, установлены четыре уровня
привилегий PL (privilege level), которые задаются номерами от 0 до 3.
Наиболее привилегированным является уровень с меньшим номером. Степень
защищенности сегмента также имеет четыре уровня, которые схематически
представляются в виде вложенных колец защиты (рис. 2.48).
Соответствующие уровни защищенности иллюстрируются на примере сегментов
программ. Наименее защищенными (привилегированными) являются прикладные
программы пользователя, для которых выделяется уровень с номером PL = 3.
Уровни с номерами PL = 0,1,2 отводятся для системных программ
(супервизора), которые можно разделить на три уровня в зависимости от
требований к их защищенности. Наиболее защищенная часть - ядро
операционной системы (ОС) имеет уровень PL = 0. В ядро входит часть ОС,
обеспечивающая инициализацию работы, управление доступом к памяти, защиту
и ряд других жизненно важных функций, нарушение которых полностью выводит
систему из строя. Основная часть программ ОС (утилиты) должна иметь
уровень PL = 1. К уровню PL = 2 обычно относят ряд служебных программ ОС,
например, драйверы внешних устройств, системы управления базами данных,
специализированные подсистемы программирования и другие.
РАБОТА ПРОЦЕССОРА В ЗАЩИЩЕННОМ И РЕАЛЬНОМ РЕЖИМАХ
Для программ с различными уровнями привилегий организованы отдельные
стеки. Таким образом, в системе, использующей все четыре уровня
привилегий, функционируют четыре различных стека, каждый из которых
обслуживает только программы соответствующего уровня. При передаче
управления программе другого уровня производится переключение стеков.
В соответствии с уровнями привилегий и защищенности установлены следующие
правила доступа для сегментов программ и данных:
• данные из сегмента, имеющего уровень защиты PL, могут быть выбраны
программой, имеющей такой же или более высокий уровень привилегий;
• сегмент программ (процедура), имеющий уровень защиты PL, может быть
вызван программой, имеющей такой же или более низкий уровень привилегий;
различные варианты вызова сегментов программ описаны ниже.
Уровни защиты и привилегий определяются двумя битами, значение которых
указывает номер кольца защиты или уровня. В зависимости от места
размещения эти биты имеют различное назначение.
Уровень привилегий дескриптора DPL задается битами 5, 6 в байте доступа
дескриптора (см. рис. 2.43). Указывает уровень защищенности сегмента, т.
е. номер кольца защиты, к которому он относится.
Уровень привилегий запроса RPL задается битами 0,1 селектора,
Предыдущая << 1 .. 93 94 95 96 97 98 < 99 > 100 101 102 103 104 105 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed