Виртуальная память

advertisement
Виртуальная память
Управление памятью
объединяет три задачи
• Динамическое
распределение памяти
• Отображение виртуальных
адресов программы на
физические адреса
• Реализация защиты памяти
Виртуальная память
Виртуальная память
представляет
собой совокупность всех ячеек памяти – оперативной
и внешней. Она имеет сквозную нумерацию от нуля
д о п р ед ел ь н о го з н ач е н и я а д р е с а . П р и н ц и п
вирт уальной памяти пред пол агает , что
пользователь имеет дело с
кажущейся одноуровневой
памятью , объ ем к оторо й р а в е н
всему адресному пространству
системы независимо от объема ОЗУ
и объема памяти, необходимой для
других программ, участвующих в
мультипрограммной обработке.
Графическое
представление ВП
Виртуальное
адресное
пространство
0
ОЗУ
0
K
Программа
Виртуальные адреса
Физические
адреса
Преобразование
адресов
Жесткий диск
Система
подкачки
N
Программа
Графическое
представление ВП
ВИРТУАЛЬНАЯ ПАМЯТЬ ПРОЦЕССА
Редко
используемые
страницы
на диске
Активные
страницы
в ОЗУ
При обращении
страницы
перемещаются в ОЗУ
и наоборот
Способы управления
виртуальной памятью
• страничный
• сегментный
• странично-сегментный
Страничный способ
управления памятью
Виртуальная память
Активные страницы в ОЗУ
Оперативная
память
Подкачка
страниц
Внешняя
память
Редко используемые
страницы на диске
Формат адреса в 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)
Виртуальный адрес
63
Номер виртуальной страницы
вирт. страница
TLB
Биты
0
Смещение
физ. страница
Номер физической страницы
63
Физический адрес
Смещение
0
Механизм преобразования
виртуального адреса в
физический в Itanium
Сегментный способ
управления памятью
Сегментно-страничный
способ управления памятью
Download