Операционные системы. Теория и практика. Замятин А.В. - 107 стр.

UptoLike

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

107
Разбиение всей ОП на страницы одинаковой величины, причем
кратной степени двойки, приводит к тому, что вместо одномерного ад-
ресного пространства памяти можно говорить о двухмерном. Первая ко-
ордината адресного пространства это номер страницы, вторая коорди-
ната номер ячейки внутри выбранной страницы (его называют индек-
сом). Таким образом, физический адрес определяется парой (Рp, i), а
виртуальный адрес парой (Pv, i), где Pv номер виртуальной страни-
цы, Рр номер физической страницы, i индекс ячейки внутри страни-
цы. Количество битов, отводимое под индекс, определяет размер стра-
ницы, а количество битов, отводимое под номер виртуальной страницы,
объем потенциально доступной для программы виртуальной памяти.
Отображение, осуществляемое системой во время исполнения, сводится
к отображению Pv в Рр и приписыванию к полученному значению битов
адреса, задаваемых величиной i. При этом нет необходимости ограничи-
вать число виртуальных страниц числом физических, то есть не поме-
стившиеся страницы можно размещать во внешней памяти, которая в
данном случае служит расширением оперативной.
Для отображения виртуального адресного пространства задачи на
физическую память, как и в случае сегментного способа организации,
для каждой задачи необходимо иметь таблицу страниц для трансляции
адресных пространств. Для описания каждой страницы диспетчер памя-
ти ОС заводит соответствующий дескриптор, который отличается от де-
скриптора сегмента прежде всего тем, что в нем нет поля длины ведь
все страницы имеют одинаковый размер. По номеру виртуальной стра-
ницы в таблице дескрипторов страниц текущей задачи находится соот-
ветствующий элемент (дескриптор). Если бит присутствия имеет еди-
ничное значение, значит данная страница размещена в оперативной, а не
во внешней памяти, и в дескрипторе номер физической страницы, от-
веденной под данную виртуальную. Если же бит присутствия равен ну-
лю, то в дескрипторе адрес виртуальной страницы, расположенной во
внешней памяти. Именно таким образом осуществляется трансляция
виртуального адресного пространства на физическую память. Этот ме-
ханизм трансляции иллюстрирует рис. 29.
Защита страничной памяти. Защита страничной памяти, как и в
случае сегментного механизма, основана на контроле уровня доступа к
каждой странице. Как правило, возможны следующие уровни доступа:
только чтение;
чтение и запись;
только выполнение.
Каждая страница снабжается соответствующим кодом уровня до-
ступа. При трансформации логического адреса в физический сравнива-