ВУЗ:
Составители:
Рис. 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 – смещение в рамках страницы, где находится нужный элемент.
Операционная система для каждого процесса формирует, во-первых, одну таблицу сегментов процесса, и, во-вторых,
таблицы страниц сегментов (по одной на каждый сегмент процесса).
Страницы
- « первая
- ‹ предыдущая
- …
- 44
- 45
- 46
- 47
- 48
- …
- следующая ›
- последняя »
