Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MPS_2015.docx
Скачиваний:
442
Добавлен:
11.05.2015
Размер:
2.07 Mб
Скачать

25.Страничная организация виртуальной памяти.

Виртуальный адрес при страничной организации – это упорядоченная пара v = (p, d), где p – номер страницы, содержащей адрес v, а d – смещение адреса v относительно начала страницы p. Основная память разделяется на страничные кадры того же самого размера, что и виртуальныестраницы. Поступающая в основную память страница может бытьпомещена в любой свободный страничный кадр.

Динамическое преобразование адресов при страничной организации памяти предусматривает отображение номера виртуальной страницы p на номер страничного кадра основной памяти p’, т.е. номер каждой страницы виртуального пространства ставится в соответствие номеру страницы физического адресного пространства. Взаимосвязь между номерами страниц обоих типов устанавливается таблицей страниц (рис. 35). При этом полная таблица страниц размещается в основной памяти. Прежде чем программа начинает выполняться, операционная система загружает физический адрес таблицы отображения страниц в регистр начального адреса этой таблицы. Этот базовый адрес a таблицыприбавляетсяк номеру страницы p, образуя адрес основной памяти a + p для строки страницы p в таблице. В этой строке указано, что виртуальной странице p соответствует страничный кадр p’. Затем к значению p’ пристыковывается (путем конкатенации) смещение d, так что образуется физический адрес r. Такой подход называется способом прямого отображения, так как таблица отображения страниц содержит отдельную строку для каждой страницы виртуальной памяти

Рисунок 35 – Схема преобразования виртуального адреса в физический при страничной организации

Так как таблица страниц ведется в основной памяти,то обращениек ней при преобразовании виртуального адреса в физический занимает относительно много времени. Для ускорения этой процедурыиспользуется метод преобразования адресов страниц на основе ассоциативно-прямого отображения (рис. 36). Суть этого метода состоит в использовании специального буфера – ассоциативной памяти, способной хранить небольшую часть полной таблицы отображения страниц. В этот буфер записываются номера наиболее часто используемых в данное время страниц и номера соответствующих им страничных кадров в основной памяти. В ходе преобразования адресов вначале проверяется ассоциативная память, и если в ней обнаруживаются сведения о необходимой странице, преобразование осуществляется без использования полной таблицы страниц в основной памяти в соответствии с рассмотренным выше механизмом. Такой буфер для высокоскоростного преобразования адресов называется буфером динамической трансляции или буфером ассоциативной трансляции адресов виртуальной памяти TLB – Translation Look aside Buffer.

Рисунок 36 Преобразование адресов страниц на основе ассоциативно-прямого отображения Расширение виртуального пространства влечет за собой увеличение таблицы страниц. Одним из способов решения этой проблемы является многоуровневое разбиение на страницы. Суть этого разбиения состоит в том, что одномерное виртуальное пространство подразделяется на двауровня – разделов и страниц, а преобразованиевиртуального адреса производится по

двухуровневой таблице (рис. 37). На первом уровненаходится таблица разделов, которая содержит ссылки на таблицы страниц разделов. На втором уровне находятся таблицы страниц разделов. Такой подход позволяет экономить объем памяти, выделяемый для информации отображения адресов, так как можно вести таблицы страниц не для всех разделов, в отличие от одноуровневого подхода, который требует хранения в основной памяти полной таблицы всех страниц виртуального пространства.

Рисунок 37 – Преобразование адресов страниц на основе двухуровневой схемы

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