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

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

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 153 154 155 156 157 158 < 159 > 160 161 162 163 164 165 .. 528 >> Следующая

обнаруживаются в момент их возникновения, поэтому легко найти их причину.
Без проверки границы такие ошибки могут испортить другие модули. Наличие
их невозможно обнаружить позднее, когда испорченные модули ведут себя
некорректно и когда установление причины ошибки затруднено.
Уровни привилегий. Концепция привилегий реализуется посредством задания
ключа, принимающего значения от 0 до 3, объектам, распознаваемым
процессором. Это значение называется уровнем привилегий. Значение "О"
представляет самые большие привилегии, а значение "3" - самые малые. К
числу объектов с распознаваемым процессором уровнем привилегий относятся;
• дескрипторы - они содержат поле, называемое уровнем привилегий
дескриптора (DPL);
• селекторы - они содержат поле, называемое запрашиваемым уровнем
привилегий (RPL),
RPL предназначен для задания уровня привилегий процедуры, которая
вызывает (загружает) селектор;
• скрытый в процессоре регистр сегмента хранит текущий уровень привилегий
(CPL),
обычно CPL равен DPL сегмента, который процессор выполняет в данный
момент.
Процессор автоматически реализует право процедуры на доступ к другому
сегменту
путем сравнения CPL с одним или большим числом (из перечисленных выше)
других указателей уровня привилегий. Оценивание происходит во время
загрузки селектора дескриптора в сегментный регистр. Критерий,
используемый для оценки обращений к данным, отличается от критериев
оценки передач управления кодовому сегменту, поэтому эти два типа
обращений рассматриваются в дальнейшем отдельно.
На рис. 3.25 показано, как уровни привилегий могут интерпретироваться
кольцами защиты. Центральное кольцо содержит сегменты части ПО, наиболее
критичной с позиций защиты, обычно ядра операционной системы. Другие
кольца используются под сегменты, менее критичные с точки зрения защиты.
Можно и не использовать все четыре уровня привилегий. Существующие
системы ПО спроектированы как одно- или двухуровневые. Такие системы
просто игнорируют другие уровни.
Одноуровневая система должна использовать уровень "О". Двухуровневая
система должна использовать уровни "О" и "3".
274
w
ЗАЩИТА ПАМЯТИ
Задача С
Задача А
Рис. 3.25. Уровни привилегий
Ограничение доступа к данным.Прежде чем программа сможет обратиться к
операндам, она должна загрузить селектор соответствующего сегмента данных
в сегментный регистр данных (DS, ES, FS, GS, SS). Процессор автоматически
оценивает обращение к сегменту данных путем сравнения уровней привилегий.
Эта оценка обращения происходит в момент загрузки селектора для
дескриптора сегмента назначения в сегментный регистр данных. Как следует
из рис. 3.26, в проверке привилегий участвуют три значения уровня
привилегий:
1) CPL (текущий уровень привилегий);
2) RPL (уровень привилегий источника обращений к сегменту) из селектора,
используемый для спецификации сегмента назначения;
3) DPL дескриптора сегмента назначения.
Команды могут загрузить сегментный регистр данных (и затем использовать
целевой сегмент), лишь если DPL целевого сегмента численно больше или
равен максимальному из значений CPL и RPL селектора. Другими словами,
процедура может иметь доступ к данным того же самого или менее
привилегированного уровня.
Разрешенная для адресации область задачи изменяется, когда изменяется
CPL. Если CPL - нулевое, сегменты данных всех уровней привилегий
доступны. Когда CPL = 1, доступны только данные с уровнями привилегий от
1 до 3. Когда CPL равно 3, доступны только сегменты данных с уровнем
привилегий 3. Это свойство может быть использовано, например, чтобы
предотвратить возможность чтения или изменения таблиц операционной
системы прикладной программой.
275
ИСПОЛЬЗОВАНИЕ КЭШ-ПАМЯТИ И ОРГАНИЗАЦИЯ ОСНОВНОЙ ПАМЯТИ
16-разрядный видимый селектор
Скрытый дескриптор (КЭШ-дескриптор)
CS CPL
Селектор сегмента назначения
Индекс
RPL
Проверка
привилегий
31
23
15
База 31-24 G В 0 AVL Предел 19-16 Р DPL Тип 10EWA
База 23-16
Е аза сегмента 15-0 Предел сегмента 15-0

Рис. 3.26. Проверка привилегий доступа к данным (CPL - текущий уровень
привилегий;
RPL - запрашиваемый уровень привилегий; DPL - уровень привилегий
дескриптора)
Доступность данных в кодовых сегментах. Менее общий характер, чем
использование сегментов данных, носит работа с данными, сохраняемыми в
кодовых сегментах. Кодовые сегменты могут на совершенно законном
основании содержать константы, нельзя только что-либо писать в кодовый
сегмент. Возможны следующие варианты доступа к данным в кодовом сегменте:
1) загрузить регистр сегмента данных селектором несогласованного, с
разрешением чтения кодового сегмента;
2) загрузить регистр сегмента данных селектором кодового сегмента,
который является согласованным и разрешенным для чтения;
3) использовать префикс переопределения CS, чтобы прочитать разрешенный
для чтения кодовый сегмент, селектор которого уже загружен в CS регистр.
В 1 -м случае используются те же самые правила доступа, как и для доступа
Предыдущая << 1 .. 153 154 155 156 157 158 < 159 > 160 161 162 163 164 165 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed