Операционные системы. Процессы и потоки. Илюшкин Б.И. - 91 стр.

UptoLike

Составители: 

Использование многоуровневой таблицы страниц позволяет
хранить в оперативной памяти только необходимые в требуемый мо-
мент страницы [5]. Предположим, что процессу нужно 12 Мбайт па-
мяти: 4 Мбайт для кода, 4 Мбайт для данных и 4 Мбайт для стека.
Хотя адресное пространство содержит более миллиона страниц, при
использовании двухуровневой таблицы страниц в оперативной памя-
ти нужны только четыре таблицы: корневая таблица и таблицы поль-
зовательского уровня для памяти от 0 до 4М, от 4М до 8М и для
верхних 4М.
При использовании страничной организации памяти каждый
виртуальный адрес вызывает обращение к двум физическим адресам:
для выборки соответствующей записи из таблицы страниц и для об-
ращения к адресуемым данным. Чтобы избежать уменьшения произ-
водительности вычислительной системы, большинство реальных
схем виртуальной памяти используют высокоскоростной кэш для
отображения виртуальных адресов в физические без прохода по таб-
лице страниц. Данное устройство называется буфером быстрого пре-
образования адреса (TLB – Translation Lookaside Buffer). Оно содер-
жит наиболее используемые записи таблицы страниц. Идея создания
буфера TLB основана на анализе работы программ. Большинство су-
ществующих программ делает большое количество обращений к не-
большому количеству страниц. Аппаратная реализация буфера TLB
обычно осуществляется внутри диспетчера памяти. В этом случае
устройство управления буфером TLB и обработка его ошибок осуще-
ствляются аппаратурой диспетчера памяти (MMU) внутри процессо-
ра. При получении виртуального адреса диспетчер памяти сначала
просматривает буфер TLB. При отсутствии страницы в буфере вы-
полняется обычный поиск в таблице страниц. Затем диспетчер удаля-
ет одну из записей из буфера TLB и заменяет ее вновь найденной за-
писью из таблицы страниц. В случае отсутствия страницы в опера-
91