Виртуальная память
Управление памятью объединяет три задачи Динамическое распределение памятиОтображение виртуальных адресов программы на физические адресаРеализация защиты памяти
Виртуальная память Виртуальная память представляет собой совокупность всех ячеек памяти – оперативной и внешней. Она имеет сквозную нумерацию от нуля до предельного значения адреса. Принцип виртуальной памяти предполагает, что пользователь имеет дело с кажущейся одноуровневой памятью, объем которой равен всему адресному пространству системы независимо от объема ОЗУ и объема памяти, необходимой для других программ, участвующих в мультипрограммной обработке.
Графическое представление ВП
Графическое представление ВП
Способы управления виртуальной памятью страничныйсегментныйстранично-сегментный
Страничный способ управления памятью
Формат адреса в Itanium®2 64-адресное ВП с 16-ю страницамиОбъем страницы -- 260 bytes (1024 Pbytes)Адрес – номер страницы (virtual page number) + смещение (page offset) 0x40000000000003f8 – номер адреса, 4 – номер виртуальной страницы, 0x3f8 – смещение 0x40000000000003f8 4 0x3f8
Страничный способ управления памятью
Страничный способ управления памятью
Два варианта реализации таблицы страниц Многоуровневая таблица преобразования адресовБуфер быстрого преобразования адресов (буфер ассоциативной трансляции (TLB))
Механизм преобразования виртуального адреса в физический в x86
Translation Lookaside Buffer (TLB)
Механизм преобразования виртуального адреса в физический в Itanium
Сегментный способ управления памятью
Сегментно-страничный способ управления памятью