Виртуальная память. (Virtual memory) Организация. (Organization) Виртуальная память – организация памяти, которая позволяет процессу адресовать пространство памяти намного большее, чем имеется в системе. Основная проблема Процесс работает с виртуальными адресами V, а процессор с реальными R. Необходимо уметь быстро преобразовывать V в R. 1. Преобразование каждого адреса V в реальный R. Совершенно нереальный механизм. Таблица преобразований займет всю память и вытеснит процесс. Если ее попытаться хранить во внешней памяти, то скорость работы процесса очень существенно снизится. 2. Преобразование блока виртуальных адресов V в блок реальных адресов R. Реальный механизм. Таблица преобразований компактна и может храниться в КЭШ. Требует двухкомпонентного адреса V(S,d) Где S – номер блока, а d смещение от начала блока Методы организации виртуальной памяти СТРАНИЧНАЯ – все блоки одинаковые по размеру СЕГМЕНТНАЯ – все блоки разные по размеру СЕГМЕНТНО-СТРАНИЧНАЯ – все сегменты разные по размеру, но состоят из целого числа одинаковых блоков Трансляция адреса при страничной организации памяти CPU Memory Management Unit VPN Physical Memory Offset PPN Virtual Address Offset Physical Address Page Table PTBR + PTE VPN – Virtual Page Number PPN - Physical Page Number PTBR –Page Table Base Register PTE – Page Table Entry Структура Page Table 17 Page Table Write Execute Append PTBR 1C00 Read 1C00 Address 17 PPN Bit present VPN T AC9F T F T F 1C17 + 1C00 Трансляция адреса при сегментной организации памяти CPU Memory Management Unit VSN Physical Memory Offset Address Virtual Address + Physical Address Segment Table STBR + STE VSN – Virtual Segment Number STBR –Segment Table Base Register STE – Segment Table Entry Трансляция адреса при странично-сегментной организации памяти (1) Virtual Address VSN VPN Offset PTE PTE 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