logo search
АрхВС

14) Страничная трансляция адресов и виртуальная память

СТА.Механизм сегментации обеспечивает превосходную защиту, но он не очень удобен для реализации виртуальной памяти (подкачки). В дескрипторе сегмента есть бит присутствия, по нему процессор определяет, находится ли данный сегмент в физической памяти или он находится на внешнем запоминающем устройстве (на винчестере). В последнем случае генерируется исключение #11, обработчик которого может подгрузить сегмент в память. Неудобство заключается в том, что различные сегменты могут иметь различную длину. Этого можно избежать, если механизм подкачки реализовывать на основе страничного преобразования. Особенностью этого преобразования является то, что процессор в этом случае оперирует с блоками физической памяти равной длины (4Кбайт) - страницами. Страницы не имеют непосредственного отношения к логической структуре программы.Страничное преобразование действует только в защищенном режиме и включается установкой в 1 бита PG в регистре CR0.

Под виртуализацией памяти понимается метод автоматического управления иерархической памятью. По своей сути виртуализация памяти представляет способ аппаратной и программной реализации концепции иерархической памяти. В рамках идеи виртуализации памяти ОП рассматривается как линейное пространство N адресов, называемое физическим пространством (ФП) памяти. Для задач, где требуется более чем N ячеек, предоставляется значительно большее пространство адресов (обычно равное общей емкости всех видов памяти), называемое виртуальным пространством (ВП).

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

Страничная организация памяти служит целям преобразования виртуальных адресов в физические. Программа разбивается на части равной величины, называемые страницами. Размер страницы обычно выбирают в пределах 4 – 8 Кбайт (должен быть кратен емкости одного сектора магнитного диска). Виртуальное и физическое адресные пространства разбиваются на блоки размером в страницу. Блок ОП, соответствующий странице, часто называют страничным кадром или фреймом (page frame). Страницам виртуальной и физической памяти присваивают номера.