Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
асвт, никитин сука.docx
Скачиваний:
11
Добавлен:
25.09.2019
Размер:
266.34 Кб
Скачать
  1. Адресация в защищённом режиме

Для обращения к памяти используется логический адрес , состоящий из 16 битового селектора, который определяет сегменты и 32х или 16и битового смещения.

Уровень привилегий запроса — это число от 0 до 3, указывающее уровень защиты сегмента, для доступа к которому используется данный селектор. Если программа имеет более высокий уровень привилегий, при использовании этого сегмента привилегии понизятся до RPL. Уровни привилегий и весь механизм защиты в защищенном режиме нам пока не потребуется.

GDT и LDT — таблицы глобальных и локальных дескрипторов соответственно. Это таблицы восьмибайтных структур, называемых дескрипторами сегментов, в которых и находится начальный адрес сегмента вместе с другой важной информацией:

Базовые адреса сегментов хранятся в таблицах дескрипторов (GDT, LDT, IDT)

Селектор:

0-1: уровень привилегий

2: индикатор таблицы 0/1 – GDT / LDT

3-15: номер дескриптора

Дескриптор

8и байтовая структура, в которой находятся начальный адрес сегмента и др. важная информация

Регистры управления памятью:

  1. GDTR

6-и байтовый регистр, в котором содержится 32х битный линейный адрес начала GDT и её 16и битный размер

  1. IDTR

6-и байтовый регистр, в котором содержится 32-х битный линейный адрес начала IDT и её 16-и битный размер

  1. LDTR

10-и байтный регистр, в котором содержится 16-и битный селектор, для GDT и весь 8-и байтный дескриптор из GDT, описывающий таблицу LDT

  1. TR

10-и байтный регистр, в котором содержится 16-и битный селектор, для GDT и весь 8-и байтный дескриптор из GDT, описывающий сегмент состояния текущей задачи TSS

  1. Страничная адресация

Виртуальное адресное пространство и оперативная память делятся на страницы и кратен степени 2. Для каждого процесса ОС создает таблицу страниц, т.е информационную структуру, в которой находятся записи о всех виртуальных страницах. Дескриптор страницы, это отдельная запись таблицы. Дескриптор содержит:

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

  2. Признак присутствия

  3. Признак модификации

  4. Признак обращения

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

Адрес этих таблиц включается в контекст процесса.

Преобразование логических адресов в физические адреса.

  1. Преобразование логического адреса в линейный адрес (трансляция адресов)

  2. Преобразование линейного адреса в физический адрес (трансляция страниц). Не обязателен, если отключен режим трансляции страничной адресации

К адр страницы – блок в 4 Кб физической памяти

Страницы начинаются на границе 4-х Кбайтных областей памяти и не имеют непосредственного отношения к структуре программы. Младшие 12 битов начала страницы всего равны 0.

Таблицы и каталоги страниц, это массивы 32-х битных чисел (структур)

Формат элементов каталога и таблиц страниц:

31

12

11-9

0

G

PS

D

A

PCD

PWT

U

W

P

P – таблица (страниц) присутствует

W – таблица (страниц) доступна для записи

U – страница доступна для программ с 3-м уровнем привилегии

PWT – бит разрешения сквозной памяти

PCD – бит запрещения кэширования

A – бит доступа, устанавливается при любом обращении к странице

D – устанавливается в 1 при записи в страницу

PS – размер страницы

G – глобальная страница: страница не удаляется и буфера TLB при выполнении задачи

9-11 – доступны для использования операционной системой

12-31 – биты физического адреса страницы или таблицы страниц

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]