Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lectures / 21-22

.pdf
Скачиваний:
44
Добавлен:
16.04.2013
Размер:
360.88 Кб
Скачать

Преобразование линейного адреса в

физический

Линейный адрес

10 10 12

Таблица

страниц

Директория

страниц

Адр.таблицы страниц

Адр.страничного кадра

DIR

cr3

Страничный

кадр

Физ.адрес

OFF-

SET

TABLE

Формирование физического адреса

Логический адрес

Линейный

адрес

Физический адрес

Сегментированная модель памяти

Операнд

Селектор сегмента

Смещение в сегменте

Сегменты в защищенном режиме

СЕГМЕНТНЫЕ

 

Дескрипторы

 

ФИЗИЧЕСКАЯ

РЕГИСТРЫ

 

сегментов

 

ПАМЯТЬ

Плоская модель памяти

СЕГМЕНТНЫЕ

Дескрипторы

ФИЗИЧЕСКАЯ

РЕГИСТРЫ

сегментов кода

ПАМЯТЬ

CS

и данных

 

SS

Атриб. Лимит=MAX

4G

 

 

Атриб. Лимит=MAX

 

 

База = 0

 

DS

Атриб. Лимит=MAX

 

База = 0

 

 

База = 0

 

ES

 

 

FS

 

 

GS

 

0

Уровни сегментной защиты

Ядро ОС

Службы ОС (драйверы,…)

Уровень 0

Приложения

Уровень 1

Уровень 2

Уровень 3

Типы уровней привилегий

CPL (Current Privilege Level) текущий уровень привилегий. Хранится в битах 0-1 регистра CS, уровень привилегий исполняющегося кода.

DPL (Descriptor’s Privilege Level) уровень привилегий сегмента. Хранится в дескрипторе каждого сегмента.

RPL (Requestor Privilege Level) уровень привилегий запроса. Хранится в битах 0-1 каждого сегментного регистра.

Доступ к данным

Текущий сегментный регистр кода

Селектор сегмента операнда

DPL <= min (CPL, RPL)

Для сегмента стека: CPL = DPL = RPL

ПРОВЕРКА

ПРИВИЛЕГИЙ

Передача управления без шлюза

Дескриптор целевого сегмента кода

Текущий сегментный регистр кода

DPL = CPL

 

 

 

 

 

ПРОВЕРКА

 

или

 

 

 

 

 

 

 

(бит С=1) и (DPL < CPL)

 

 

ПРИВИЛЕГИЙ

 

 

 

 

 

 

 

 

 

 

 

Дескриптор шлюза вызова

Соседние файлы в папке Lectures