Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПиП МПС(Ассемблер Левицкий экт 4) / MProc / M9 / Системная архитектура часть 4..doc
Скачиваний:
70
Добавлен:
16.04.2013
Размер:
751.1 Кб
Скачать

4.1.1.6. Права доступа к странице

Постранично гранулированные средства управления доступом используют 4 уровня привилегий. Уровень привилегий 0 является наиболее привилегированным и имеет доступ ко всем привилегированным командам, а уровень привилегий 3 является наименее привилегированным. Доступ (включая IA-32) к странице задается полямиTLB.arиTLB.pl, а также уровнем привилегий доступа так, как это определено в табл. 4.3. Заливания и сливанияRSEполучают свой уровень привилегий изRSC.pl, все другие обращения (включаяIA-32) получают свой уровень привилегий изPSR.cpl. В ячейках имеются значки: «–» обозначает нет доступа, «R» - доступно для чтения, «W» - доступно для записи, «X» - доступно для выполнения, а «P» - повышаетPSR.cplдо уровня привилегий «n» при выполнении инструкцииepc(EnterPrivilegedCode– войти в привилегированный код).

Табл. 4.3. Права доступа к странице

TLB.ar

TLB.pl

Уровень привилегийA

Описание

3

2

1

0

0

3

R

R

R

R

Только чтение

2

––

R

R

R

1

––

––

R

R

0

––

––

––

R

1

3

RX

RX

RX

RX

Чтение, выполнение

2

––

RX

RX

RX

1

––

––

RX

RX

0

––

––

––

RX

2

3

RW

RW

RW

RW

Чтение, запись

2

––

RW

RW

RW

1

––

––

RW

RW

0

––

––

––

RW

3

3

RWX

RWX

RWX

RWX

Чтение, запись, выполнение

2

––

RWX

RWX

RWX

1

––

––

RWX

RWX

0

––

––

––

RWX

4

3

R

RW

RW

RW

Только чтение / Чтение, запись

2

––

R

RW

RW

1

––

––

R

RW

0

––

––

––

RW

5

3

RX

RX

RX

RWX

Чтение, выполнение /

Чтение, запись, выполнение

2

––

RX

RX

RWX

1

––

––

RX

RWX

0

––

––

––

RWX

6

3

RWX

RW

RW

RW

Чтение, запись, выполнение /

Чтение, запись

2

––

RWX

RW

RW

1

––

RWX

RW

0

––

RW

7

3

X

X

X

RX

Выполнение, повышениеB/

Чтение, выполнение

2

XP2

X

X

RX

1

XP1

XP1

X

RX

0

XP0

XP0

XP0

RX

  1. Для заполнений и сливаний RSE– этоRSC.pl, а для всех остальных обращений – этоPSR.cpl.

  2. Пользователь может выполнять только те страницы, для которых задан уровень привилегий равный 3.

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

Страницы, предназначенные только для выполнения (TLB.ar=7), могут быть использованы для повышения уровня привилегий при входе в операционную систему. Код уровня пользователя для перехода на повышенную страницу (управляемую операционной системой), обычно выполняет инструкциюepc(EnterPrivilegedCode). Еслиepcуспешно повысила уровень, то следующая группа инструкций выполняется на том уровне привилегий, который был задан повышенной страницей. Переход типа возврата из процедуры (br.ret) может понизить текущий уровень привилегий.