Handler selects a vicm to be evicted here vp 4

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: VP 3 Virtual memory (disk) VP 1 Memory resident page table (DRAM) VP 2 VP 3 VP 4 VP 6 VP 7 Virtual Memory as Cache PP 0 PP 3 University of Washington Why does it work? Locality ¢  Virtual memory works well because of locality §  Same reason that L1 / L2 / L3 caches work ¢  The set of virtual pages that a program is “acMvely” accessing at any point in Mme is called its working set §  Programs with beker temporal locality will have smaller working sets ¢  If (working set size < main memory size): §  Good performance for one process amer compulsory misses ¢  If (SUM(working set sizes) > main memory size): §  Thrashing: Performance meltdown where pages are swapped (copied) in and out conKnuously Virtual Memory as Cache University of Washington Virtual Memory (VM) ¢  ¢  ¢  ¢  ¢  Overview and moMvaMon IndirecMon VM as a tool for caching Memory management/protecMon and address translaMon Virtual memory example Address TranslaMon University of Washington VM for Managing MulMple Processes ¢  Key abstracMon: each process has its own virtual address space §  It can view memory as a simple linear array ¢  With virtual memory, this simple linear virtual address space need not be conMguous in physical memory §  Process needs to store data in another VP? Just map it to any PP! Virtual Address Space for Process 1: 0 VP 1 VP 2 Address translaKon 0 PP 2 ... Physical Address Space (DRAM) N-­‐1 PP 6 Virtual Address Space for...
View Full Document

Ask a homework question - tutors are online