Виртуальная адресация. Страницы.
Для работы с программно-управляемой виртуальной памятью используются виртуальные адреса (ссылки). Ссылка содержит:
1) Номер виртуальной страницы;
2) Адрес слова внутри страницы (смещение);
3) Уточнение (номер байта в слове). Ссылки используются как аргументы при обращении к базовым процедурам (см. ниже). Ссылка может быть преобразована в абсолютный адрес только базовыми процедурами. При этом используются таблицы приписок, расположенные в рабочей памяти управляющего модуля. Если запрашиваемая виртуальная страница отсутствует в ОЗУ, она считывается из внешней памяти. При этом возможно вытеснение во внешнюю память другой виртуальной страницы. Таким образом, для текста и словаря соответствие ссылок и абсолютных адресов является динамическим.
Таблицы приписок содержат, в частности, статусы виртуальных страниц. Возможны следующие значения статуса страницы:
1) «необходима» (страницу нельзя убирать на внешнюю память, ее абсолютный адрес не может измениться);
2) «нужна» (страницу желательно не убирать во внешнюю память),
3) «не нужна» (страницу можно убирать на внешнюю память);
4) «убрана на внешнюю память»;
5) «свободна» (страница не была создана или была уничтожена). Функциональные модули могут управлять статусами виртуальных страниц через базовые подпрограммы (см. ниже). Это является одним из источников минимизации количества обращений к внешней памяти. Со своей стороны, управляющий модуль обеспечивает минимизацию размера используемой внешней памяти засчет ее повторного использования.
Метки: виртуальная адресация, страницы, содержание ссылки, ссылки