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



 

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

 

Страничная виртуальная память

 

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

 

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

 

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

 

При отсутствии страницы в памяти в процессе выполнения команды возникает исключительная ситуа-ция, называемая страничное нарушение (page fault) или страничный отказ. Обработка страничного нару-


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

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

 

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

 

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

 

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

 

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


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

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






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