Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Страничная организация памяти. Таблицы страниц




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

В наиболее простом и наиболее часто используемом случае страничной виртуальной памяти виртуальная память и физическая представляются состоящими из наборов блоков или страниц одинакового размера. Виртуальные адреса делятся на страницы (page), соответствующие единицы в физической (оперативной) памяти образуют страничные кадры (page frames), а в целом система поддержки страничной виртуальной памяти называется пейджингом (paging).

Передача информации между памятью и диском всегда осуществляется целыми страницами. Страницы, в отличие от сегментов, имеют фиксированную длину, обычно являющуюся степенью числа 2, и не могут перекрываться.

 

Виртуальный адрес в страничной системе упорядоченная пара (p,d), где=

p - номер страницы в виртуальной памяти,

d - смещение в рамках страницы p где размещается адресуемый элемент.

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

Для ссылки на таблицу страниц используется специальный регистр процессора.

Рис. 9.1 Связь логического и физического адресов при страничной организации памяти.

Таблицы страниц.

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

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

виртуальный адрес состоит из =

виртуального номера страницы (high-order bits)

и смещения (low-order bits) - внутри страницы с заданным номером.

Номер виртуальной страницы используется как индекс в таблице страниц для нахождения записи (entry) о виртуальной странице.

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

Назначение таблицы страниц заключается в отображении виртуальных стра-

ниц на страничные блоки. Говоря математически, таблица страниц — это функция,

имеющая в качестве аргумента номер виртуальной страницы и получающая в ре-

зультате номер физического блока. Используя результат действия этой функции,

поле виртуальной страницы в виртуальном адресе может быть заменено полем

страничного блока, таким образом, формируется физический адрес.

Несмотря на столь простое описание, нам придется столкнуться с двумя важ-

ными проблемами:

1. Таблица страниц может быть слишком большой.

2. Отображение должно быть быстрым.

 

Первый пункт следует из того факта, что современные компьютеры исполь-

зуют по крайней мере 32-разрядные виртуальные адреса. При размере страницы,

скажем, 4 Кбайт, 32-разрядное адресное пространство будет состоять из одного

миллиона страниц, а 64-разрядное адресное пространство будет включать в себя

намного больше страниц, чем то количество, с которым вы захотите иметь дело.

При одном миллионе страниц в виртуальном адресном пространстве таблица

страниц должна состоять из одного миллиона записей. И помните, что каждый

процесс нуждается в своей собственной таблице страниц (потому что у него есть

свое собственное виртуальное адресное пространство).

 

Второй пункт — это вывод из того факта, что преобразование виртуальных адре-

сов в физические должно быть выполнено для каждого обращения к ячейке памя-

ти. Типичная команда процессора включает в себя слово-команду и часто также

операнд памяти. В результате необходимо сделать 1,2 или иногда больше обраще-

ний к таблице страниц за команду. Если выполнение команды занимает, скажем,

4 не, то поиск в таблице страниц должен быть сделан меньше, чем за 1 не, чтобы

преобразование виртуальных адресов не стало главным узким местом системы.

 

Простейшее конструкторское решение (по крайней мере, концептуально) за-

ключается в поддержании таблицы страниц, состоящей из массива быстрых аппа-

ратных регистров с одной записью для каждой виртуальной страницы, индексиро-

ванного по номерам виртуальных страниц, как показано на рис. 4.11. Когда процесс

запускается, операционная система загружает в регистры таблицу страниц процес-

са, данные берутся из копии, хранящейся в оперативной памяти. Во время выпол-

нения процесса таблице страниц больше не нужно обращаться к памяти. Преиму-

щество этого метода заключается в его простоте и отсутствии необходимости

обращений к памяти во время преобразования адресов. Недостатком является его

потенциально высокая стоимость (если таблица страниц велика). Необходимость

загрузки полной таблицы в регистры при каждом контекстном переключении

наносит ущерб производительности.

 

Подкачка (swapping).





Поделиться с друзьями:


Дата добавления: 2016-10-27; Мы поможем в написании ваших работ!; просмотров: 826 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Настоящая ответственность бывает только личной. © Фазиль Искандер
==> читать все изречения...

2313 - | 2041 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.