Безопасность операционных систем. Безбогов А.А - 46 стр.

UptoLike

Рис. 4.6. Преобразование виртуального адреса
Таблицы отображения блоков содержат по одной строке для каждого блока процесса, причем эти блоки идут последо-
вательно: сначала блок 0, затем блок 1 и т.д. Номер блока b суммируется с начальным адресом а таблицы, образуя реальный
адрес строки таблицы для блока b. Найденная строка содержит реальный адрес b начала блока b в реальной памяти. К этому
начальному адресу b прибавляется смещение d, так что образуется искомый реальный адрес r = b + d.
Все методы поблочного отображения, применяемые в системах с сегментной, страничной и комбинированной странич-
но-сегментной организациями, подобные рассмотренной схеме отображения, называемой схемой прямого отображения.
4.3.3. Отображения адресов при страничной организации
виртуальной памяти
Виртуальный адрес при чисто страничной организации памятиэто упорядоченная пара (p, d), где pномер страницы
в виртуальной памяти, а dсмещение в рамках страницы p. Процесс может выполняться, если его текущая страница нахо-
дится в первичной памяти. Страницы переписываются из внешней памяти в первичную и размещаются в ней в блоках, назы-
ваемых страничными кадрами и имеющих точно такой же размер, как у поступающих страниц. Страничные кадры начина-
ются в реальной памяти с адресов, кратных фиксированному размеру страниц. Поступающая страница может быть поме-
щена в любой свободный страничный кадр.
Для обеспечения работы механизма отображения страниц формируется таблица отображения страниц, каждая строка
которой содержит информацию об отображаемой странице виртуальной памяти; rпризнак наличия страницы в первичной
памяти (r = 0 – страницы в первичной памяти нет; 1 – страница находится в первичной памяти); Sадрес страницы во внеш-
ней памяти (при r = 0); pномер страничного кадра в первичной памяти, где размещена виртуальная страница с номером p.
4.3.4. Отображения адресов при сегментной организации
виртуальной памяти
Виртуальный адрес при сегментной организации виртуальной памятиэто упорядоченная пара ν = (s, d), где sномер
сегмента виртуальной памяти, а dсмещение в рамках этого сегмента. Процесс может выполняться только в том случае,
если его текущий сегмент находится в первичной памяти, Сегменты передаются из внешней памяти в первичную целиком.
Все ячейки, относящиеся к сегменту, занимают смежные адреса первичной памяти. Для размещения поступающих из внеш-
ней памяти сегментов в свободные участки первичной памяти применяются те же стратегии размещения, как и при распре-
делении переменными неперемещаемыми разделами – "первый подходящий", "самый подходящий", "самый неподходящий".
Динамическое преобразование виртуальных адресов в реальные адреса осуществляется в соответствии со схемой прямого
отображения.
4.3.5. Отображения адресов при странично-сегментной организации виртуальной памяти
Системы со странично-сегментной организацией обладают достоинствами обоих способов реализации виртуальной па-
мяти. Сегменты обычно содержат целое число страниц, причем не обязательно, чтобы все страницы сегмента находились в
первичной памяти одновременно, а смежные страницы виртуальной памяти не обязательно должны оказаться смежными в
первичной памяти. В системе со странично-сегментной организацией применяется трехкомпонентная (трехмерная) адреса-
ция. Виртуальный адрес ν здесь определяется как упорядоченная тройка ν = (s, p, d), где sномер сегмента, pномер стра-
ницы, а dсмещение в рамках страницы, где находится нужный элемент.
Операционная система для каждого процесса формирует, во-первых, одну таблицу сегментов процесса, и, во-вторых,
таблицы страниц сегментов (по одной на каждый сегмент процесса).