Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материал / ZIBBEN-I.doc
Скачиваний:
62
Добавлен:
30.04.2013
Размер:
1.04 Mб
Скачать

16.Страничная и сегментная организация виртуальной памяти. Схемы преобразования адресов.

Структоризация адресного пространства.

Когда мы говорили о оператив-ой памяти, то физич. адрес – одномерный(число из диапазона 0-Афмах)

Имеется 2 осн. класса в зав-ти от того постоянен или нет размер блока.

Если блоки памяти имеют фиксированный размер, то вирт-ая память наз. страничной, а блоки – это страницы.

Если блоки различ. Размеров, то вирт-ая память – сегментная, блоки – сегменты. Есть сегментно – странич-ая вирт-ая память, это когда сегменты формируются из разного кол-ва страниц.

Страничная вирт-ая память.

ВАП кажд. процесса делится на страницы фиксировю размера, к-рые наз. Вирт-ми страницами. ОП т.ж. делится на блоки такого же размера, называемыми физическими страницами, Причем это деление не зависит от программ.

Страницы (физич.) располаг-ся последовательно и имеют свой номер. Вирт-ый адрес становится двумерным: р-номер страницы в ВАП, d-смещение в странице.(p,d).

Схема страничного преобр-ния.

При загрузке процесса часть вирт. страниц м.б. помещена на диск.

Смежные вирт. страницы необяз-но распологаются смежно в ФП.

При загрузке ОС создает таблицу страниц для процесса. В кажд. эл-те хранится базовый адрес, соответствующий физ-кой странице (р') или отметка о том что соотв-щая страница выгружена на диск. Т.ж. в эл-те хранится управляющая инф-ция, напр-мер, признаки модификации, невыгружаемости, кол-во обращений и т.д.

Если Вирт-ая страница выгружена на диск, то возникает так назыв-ое аппаратное прер-е по отсутствию страницы (страничное прер-е). При обработке странич. прер-я выполняющийся процесс переводится в соот-е ожидание и активизир-ся друг. Процесс из очереди готовых. //-но системная пр-ма обработки странич. прер-я находит на диске требуемую страницу и пытается загрузить ее в ОП. При доступе к табл. страниц исп-ся КЭШ – память проц-ра

Сегментная организация.

Сегменты тоже имеют свои уникальные номера (иден-ры), причем их упорядочивание необязательно. Сегменты выгружаются во внеш-юю память целиком и подгружаются по опред. стратегии управления памятью с перемещаемыми разделами.

Схема преобр-ния вирт. адреса при сегментном преобрнии не отлич-ся от страничного преобр-ния.

Схема странично-сегментного преобр-ния адреса.

Ассоц. памяти(быстродействующ.) в ней сохр-ся последние обращения к таблице страниц. При преобр-нии адреса сначала делается попытка обращ-я к ассоциативной памяти. Если ассоц. поиск неудачен, то вып-ся полная схема 2-х –этапного преобрния.

Сравнение сегментной и страничной виртуальной памяти.

Осн. отличие заключается в самих понятиях: сегмент и страница.

СТРАНИЦА – физическ. единица инф-ции. Исп-ся системой для более эффективного распределения ОП.

СЕГМЕНТ – логическ. единица, связанная со структурой пр-мы и данных. Выгрузка из памяти……..

17.Сегментный уровень виртуальной памяти в процессорах Intel x86.

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

Чтобы реализация виртуальной памяти имела смысл, отображение выполняется блоками элементов, которые называются страницами или сегментами.

Сегментная организация памяти: Схема преобразования адреса (вирт. адр. на сегм. уровне)

ВА состоит из селектора в сегм. регистре и смещения. Сегменты памяти описаны в дескрипторных таблицах. Существует одна глобальная дескрипторная таблица, ее адрес хранится в спец. регистре процессора.

У каждого процесса существует одна собственная дескрипторная таблица, ее адрес определяется с помощью регистра LDTR. GDTR – не меняет своего значения. Содержимое LDTR меняется при переключении задачи.

Селектор ВА состоит из 3х полей:

1.индекс(13битов)-определяет номер дескриптора сегмента в таблице.

2.TI(1бит)-индикатор таблицы-переключает локальную/глобальную таблицу.

3.RPL (Request Privilege Level)-уровень запрашиваемых привелегий (деление на разные привелег-ные уровни)

При обращении к памяти процессор по индексу селектора находит дескриптор сегмента соответствующей таблицы. Из дескриптора извлекается базовый адрес сегмента; и сумма базового адреса со смещением дает Аф, или линейный (действует ли дальше механизм страничного пребразования).

Формат дескриптора: 8байтов БА + описание дескрипторов(их св-ва)

Процессор определяет правильность адреса, сравнивая смещение и размер сегмента; проверяет права доступа по уровню привилегий.

DPL (Descriptor Privilege Level)

При нарушении доступа происходит прерывание по защите памяти. Затем проверяется наличие сегмента физической памяти по значению бита Р (бит присутствия)(Р-present).

Т – тип дескриптора(type)

Типы дескрипторов:

1.системный дескриптор: S=0

2.дескр-р. сегмента данных: S=1 E=0 ED W A

3.дескр-р. сегмента кода: S=1 E=1 C R a

Поле направления определяет направление распределения сегмента:

ED = 0 – растет по увеличению адресов; 1– признак стекового сегмента (сегм. распр-ся в сторону младших адресов)

А – поле доступа указывает, что к сегменту будет обращение по чтению и записи.

W – разрешение записи (0/1-запретить/разрешить запись в данный сегмент).

С – для дескриптора сегмента кода – бит подчинения; управляет вызовом данного кодового сегмента из другого кодового сегмента с более низкими привилегиями. Тип конформности. Конформный сегмент.

R – признак разрешения/запрета чтения из сегмента кода.

G – определяет единицу измерения сегмента (в байтах – сегмент≤64Кв; при G=1 сегмент задается в страницах)

D – определяет тип сегмента (16 или 32-битный сегмент).

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

Если не используется сегментный уровень, ОС достаточно создать таблицу дескрипторов из 1го дескриптора -> ВАП будет состоять из одного сегмента размером 4кбайт.

Соседние файлы в папке Материал