
Processes Memory Memory Memory Stack Stack Stack Heap Heap Heap Data Data … Data Code Code Code CPU CPU CPU Registers Registers Registers Sean Barker 1 Virtual Memory Solution: Virtual Memory (address indirection) Virtual memory Process 1 virtual Physical memory addresses virtual-to-physical mapping physical Virtual memory addresses Process n virtual addresses Private virtual address space Single physical address space per process. Sean Barker managed by OS/hardware.2 6 Address Translation Virtual Addressing and Address Translation Memory Management Unit translates virtual address to physical address Main memory 0: CPU Chip 1: Virtual address Physical address 2: (VA) (PA) 3: CPU MMU 4: 4100 4 5: 6: 7: 8: ... M-1: Data Physical addresses areSean Barker invisible to programs. 3 9 Memory Pages Page-based Mapping both address spaces Virtual divided into fixed-size, aligned pages Address Space page size = power of two 0 Virtual Physical Page Address Space 0 0 Virtual Physical Page Page 0 1 Virtual Physical Page Page 2 1 Virtual Page Map virtual pages 3 … onto physical pages. Physical … Page m 2p - 1 Virtual 2 - 1 Page 2n - 1 2v - 1 Some virtual pages do not fit! Where are they stored? Sean Barker 4 Page Fault Page Fault: exceptional control flow Process accessed virtual address in a page that is not in physical memory. Process User Code OS exception handler exception: page fault movl Load page return into memory Returns to faulting instruction: movl is executed again! 20 Sean Barker 5 Paging Example Sean Barker 6 Page Tables Sean Barker 7 Translation Look-aside Buffer (TLB) v: valid bit Sean Barker 8.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages4 Page
-
File Size-