- •Виртуальная память. (Virtual memory)
- •1. Преобразование каждого адреса V в реальный R. Совершенно нереальный механизм.
- •Методы организации виртуальной памяти
- •Трансляция адреса при страничной организации памяти
- •Трансляция адреса при сегментной организации памяти
- •Трансляция адреса при странично-сегментной организации памяти (1)
- •Трансляция адреса при странично-сегментной организации памяти (2) Virtual Address
- •Виртуальная память. (Virtual memory)
- •Подкачка страниц.
- •Размещение страниц.
- •Замещение (выталкивание) страниц.
- •3. Принцип FIFO. Красивое решение, обоснования нет.
- •5. Выталкивание реже всего использовавшейся страницы. LFU (Least Frequently Used)
- •Концепция локальности.
- •Локальность (по Деннингу) бывает:
- •Некоторые выводы:
Виртуальная память. (Virtual memory)
Организация. (Organization)
Виртуальная память – организация памяти, которая позволяет процессу адресовать пространство памяти намного большее, чем имеется в системе.
Основная проблема
Процесс работает с виртуальными адресами V, а процессор с реальными R.
Необходимо уметь быстро преобразовывать V в R.
1. Преобразование каждого адреса V в реальный R. Совершенно нереальный механизм.
Таблица преобразований займет всю память и вытеснит процесс. Если ее попытаться хранить во внешней памяти, то скорость работы процесса очень существенно снизится.
2. Преобразование блока виртуальных адресов V в блок
реальных адресов R.
Реальный механизм. Таблица преобразований компактна и может храниться в КЭШ.
Требует двухкомпонентного адреса V(S,d)
Где S – номер блока, а d смещение от начала блока
Методы организации виртуальной памяти
СТРАНИЧНАЯ – все блоки одинаковые по размеру
СЕГМЕНТНАЯ – все блоки разные по размеру
СЕГМЕНТНО-СТРАНИЧНАЯ – все сегменты разные по размеру, но состоят из целого числа одинаковых блоков
Трансляция адреса при страничной организации памяти
CPU |
|
Physical Memory |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VPN |
|
Offset |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
Memory |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PPN |
|
|
|
|
|
|
|
|
|
Offset |
|||||||||||||||||||||||
Management |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Virtual |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Physical |
||||||||||||||||||||||||||||||||||||||
Unit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
Address |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Address |
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
Page Table |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PTBR + PTE
VPN – Virtual Page Number
PPN - Physical Page Number
PTBR –Page Table Base Register
PTE – Page Table Entry
17 VPN
17
1C00
1C00
PTBR +
Структура Page Table |
|
|
||
|
Page Table |
|
|
|
|
|
PPN |
||
Bit present |
Address |
Read Write |
Execute Append |
1C17
T AC9F T F T F
1C00
Трансляция адреса при сегментной организации памяти
CPU |
|
Physical Memory |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Memory
Management
Unit
STBR
VSN |
|
Offset |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Address |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
Virtual |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Physical |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
Address |
|
|
|
|
|
|
|
|
Address |
|||||||||||||||||||||||||
|
|
|
Segment Table |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ STE
VSN – Virtual Segment Number
STBR –Segment Table Base Register
STE – Segment Table Entry
Трансляция адреса при странично-сегментной организации памяти (1) |
||||||
|
|
|
Virtual Address |
|
|
|
|
VSN |
|
VPN |
|
|
Offset |
STBR |
+ |
STE |
+ |
PTE |
PPN |
Offset |
|
|
|||||
|
|
|
|
|
Physical Address |
Segment Table |
Page Table |
Трансляция адреса при странично-сегментной организации памяти (2) Virtual Address
VSN Offset
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Linear Virtual Address |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
STBR |
+ |
|
|
STE |
|
+ |
|
|
VDN |
VPN |
Offset |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Segment Table |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PDBR |
+ |
PDE |
+ |
PTE |
PFN |
Offset |
|
|
|
|
|
Physical Address
Page Directory |
Page Table |
Виртуальная память. (Virtual memory)
Управление. (Management)
Основные задачи – Подкачка – когда и какую страницу из ВМ перевести в ОЗУ
Выталкивание - какую страницу можно «убрать» из ОЗУ Размещение – куда поместить загружаемую в ОЗУ страницу
Подкачка страниц.
По запросу Достоинства:
-самый дешевый вариант (низкие накладные расходы)
-исключает ненужные подкачки Недостатки:
-простой процесса в ожидании нужного набора страниц
С упреждением Достоинства:
-при правильном предсказании увеличение производительности - при «большом» ОЗУ снижается урон от промаха Недостатки:
-любит ОЗУ - некоторое увеличение накладных расходов