Оглавление Об учебном пособии
Использованные источники1 Использованные источники2 Использованные источники3 Использованные источники4 Использованные источники5 Использованные источники6

4.2. Защита данных.


4.2.1. Стратегия защиты данных.

Все прикладные программы в многопрограммном режиме выполняются на одном (нижнем) уровне привилегий. Механизм виртуальной памяти обеспечивает их защиту от взаимных помех.

Для сегментов данных системных программ, дескрипторы которых размещены в глобальной таблице дескрипторов, также возможно разделение адресных пространств, но только за счет механизма трансляции страниц. Поэтому всем программам разрешено обращаться к любым данным на своем уровне привилегий.

Логика сервисных функций современных операционных систем предусматривает работу с данными программ менее защищенных режимов. Поэтому программам разрешено обращаться к данным и на менее привилегированных уровнях.

Защита программ от взаимных помех здесь определяется только корректностью написания системных программ

Программам не разрешается считывание/запись элементов данных, которые имеют более высокий уровень привилегий, т.е. "движение" к данным внутрь колец защиты запрещается. Любая такая попытка приводит к фиксации нарушения общей защиты.

Это общее правило защиты доступа к данным можно записать в виде условия: CPL (т.е. PL программы) <= DPL (т.е. PL данных) или представить графически в виде допустимых схем обращения к данным (рис. 6.).

На рис. 6 уровни привилегий представлены в виде горизонтальных "этажей", сегменты программ - в виде треугольников, данных - в виде квадратов. Стрелками без перекрещивания указаны разрешенные схемы доступа.


Рис. 6. Схемы допустимых обращений к данным.

Представленное общее правило защиты доступа к данным является "рамочным", отражающим только максимальные возможности доступа. Полное правило доступа несколько сложнее. В условие проверки вводится параметр "эффективный уровень" привилегий (Effective Privilege Level - EPL) как функция уровня привилегий запросчика RPL:

EPL = max [CPL, RPL]

Параметр EPL используется в условии проверки разрешения доступа к сегментам вместо CPL.

С учетом RPL условие проверки разрешения доступа к данным приобретает вид:

EPL <= DPL                            или

max [CPL,RPL] <= DPL        или

(CPL <= DPL) & (RPL <= DPL)

Защита данных различных программ на одном уровне привилегий производится на основе разделения адресных пространств механизмом виртуальной памяти.

Кроме проверок на соответствие уровней привилегий при обращении к данным производятся и общие проверки:

  • на выход за пределы сегмента и таблиц,
  • соответствие типа сегмента,
  • прав использования содержимого сегмента или страницы.

 


Вопросы для самопроверки:

  1. В чем заключается общее правило обращения к данным.
  2. Для каких целей используется уровень привилегии запроса.
  3. Как производится разделение адресных пространств программ одного уровня привилегий при сегментной организации памяти.
  4. Как производится разделение адресных пространств программ одного уровня привилегий при страничной организации памяти.
<< Предыдущая страница Следущая страница >>