Операционные системы и программное обеспечение на платформе zSeries



Управление памятью - часть 2


(frame). При загрузке значения виртуальных адресов сохраняются в неизменном виде. Понятно, что при обращении к памяти требуются реальные физические адреса. Для преобразования виртуальных адресов в физические используется специальный аппаратный механизм динамического преобразования адресов DAT (Dynamic Address Translation), который учитывает реальное размещение виртуальных страниц в основной памяти в момент выполнения адресных команд. Механизм DAT подробно описан в п. 2.1.3. Напомним, что для повышения эффективности управления в системе поддерживается иерархическая модель сегментации виртуальной памяти, в соответствии с которой страницы объединяются в сегменты размером 1 MB (256 страниц на сегмент), а те в свою очередь - в более крупные разделы виртуальной памяти, называемые регионами.

При нехватке основной памяти некоторые страницы могут быть временно перемещены в специальные страничные наборы данных (page data set) во внешнюю вспомогательную память (Auxiliary storage) на магнитных дисках. Блок памяти в страничных наборах получил название слот (slot) и также имеет размер 4 KB. Вытесненные во вспомогательную память страницы находятся там до тех пор, пока не возникнет необходимость в их использовании при выполнении приложения. В этом случае генерируется программное прерывание по отсутствию страницы (page fault) и, при наличии свободных фреймов, запускается процедура "подкачки" страницы из вспомогательной памяти. При занятии страницей свободного фрейма в таблицу страниц вносится его указатель и затем формируется физический адрес.

Конечно, возможна ситуация, когда в основной памяти для загрузки отсутствующей страницы не осталось ни одного свободного фрейма. В этом случае запускается процедура изъятия страниц (page stealing), в результате которой одна или несколько виртуальных страниц "откачиваются" из основной памяти во вспомогательную, чтобы освободить место. Выбор изымаемых страниц основан на классическом методе LRU, использующем формируемые аппаратно биты ключа защиты памяти: бит обращения R и бит изменения С (см.


Содержание  Назад  Вперед