50.13. ЗАЩИТА



          +------------------+
	  |                  |
	  |	+-------+    |
	  |	|  User |    |
	  |	+-------+    |
          |     Supervisor   |
	  +------------------+

Надо защитить операционную систему от прикладных программ
(и программы друг от друга).

Объекты памяти
	Сегменты
	Страницы
		Доступ на чтение
		Доступ на запись
		Доступ на выполнение
			Соответственно кольцу защиты
	Порты ввода/вывода


Привелигированные инструкции
	Ввод Вывод
	Остановка процессора
	Работа с системными регистрами

	
Обьекты выполнения
	Задачи
	Прерывания
	Шлюзы 
		уровень привелегий для доступа
		правила

Реализация правил возлагается на архитектуру.
Например в HP PA часть адрессных пространств доступна USER программам
по определению, а остальные только SUPERVISORу.


RULE #1: Должно быть невозможно передать управление OS, кроме как в
	 предопределенной точке входа.


	User Frame      Supervisor frame

	|     |		|      |
	|     |         +------+
	+-----+    +--->|  P   |
	| P   |----+    +------+     
	+-----+         |RetAdr|
	|     |         +------+
	|     |         |      |


С целью повышения надежности разные кольца используют разные stacks.
Потому что USER задача может испортить stack.
И при переключение контекста часть стека копируется в stack другово кольца.


Кольца защиты i286 Кольца защиты:



Правила доступа:

Шлюзы:


Capacity-based systems


THIS SECTION IS UNDER CONSTRUCTION


iAPX432 Все защищено на аппаратном уровне. Подпрограмма может обратиться к только тем объектам на которые есть права (т.е. она не видит объекты вызывающей подпрограммы, только если ей явно не передали их дескрипторы доступа с соответствующими правами). TODO: Схема дескрипторного доступа в iAPX 432 Segment:

Segment Descriptor:



Access Descriptor:



Call:


Index Prev Next