The design of the UNIX Operating System 54 страница



 

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

 

Размер страницы

 

Разработчики ОС для существующих машин редко имеют возможность влиять на размер страницы. Од-нако для вновь создаваемых компьютеров решение относительно оптимального размера страницы явля-ется актуальным. Как и следовало ожидать, нет одного наилучшего размера. Скорее есть набор факторов, влияющих на размер. Обычно размер страницы – это степень двойки от 29 до 214 байт.

 

Чем больше размер страницы, тем меньше будет размер структур данных, обслуживающих преобразова-ние адресов, но тем больше будут потери, связанные с тем, что память можно выделять только постра-нично.

 

Как следует выбирать размер страницы? Во-первых, нужно учитывать размер таблицы страниц, здесь желателен большой размер страницы (страниц меньше, соответственно и таблица страниц меньше). С другой стороны, память лучше утилизируется с маленьким размером страницы. В среднем половина по-следней страницы процесса пропадает. Необходимо также учитывать объем ввода-вывода для взаимо-действия с внешней памятью и другие факторы. Проблема не имеет идеального решения. Историческая тенденция состоит в увеличении размера страницы.

 

Как правило, размер страниц задается аппаратно, например в DEC PDP-11 – 8 Кбайт, в DEC VAX – 512 байт, в других архитектурах, таких как Motorola 68030, размер страниц может быть задан программно. Учитывая все обстоятельства, в ряде архитектур возникают множественные размеры страниц, например в Pentium размер страницы колеблется от 4 Кбайт до 8 Кбайт. Тем не менее большинство коммерческих ОС ввиду сложности перехода на множественный размер страниц поддерживают только один размер страниц.


Основы операционных систем 88

Заключение

 

В настоящей лекции рассмотрены аппаратные особенности поддержки виртуальной памяти. Разбиение адресного пространства процесса на части и динамическая трансляция адреса позволили выполнять про-цесс даже в отсутствие некоторых его компонентов в оперативной памяти. Подкачка недостающих ком-понентов с диска осуществляется операционной системой в тот момент, когда в них возникает необхо-димость. Следствием такой стратегии является возможность выполнения больших программ, размер ко-торых может превышать размер оперативной памяти. Чтобы обеспечить данной схеме нужную произво-дительность, отображение адресов осуществляется аппаратно при помощи многоуровневой таблицы страниц и ассоциативной памяти.

 

 

10. Лекция: Аппаратно­независимый уровень управления виртуальной памя­ тью

Большинство ОС используют сегментно-страничную виртуальную память. Для обеспечения нужной производительности менеджер памяти ОС старается поддерживать в оперативной памяти актуальную информацию, пытаясь угадать, к каким логическим адресам последует обращение в недалеком будущем.


Дата добавления: 2021-01-21; просмотров: 87; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!