This preview shows page 1. Sign up to view the full content.
Unformatted text preview: s (among other things) whether the pages in the area are shared with other processes or private to this process. 10.7. CASE STUDY: THE PENTIUM/LINUX MEMORY SYSTEM
process virtual memory 515 vm_area_struct task_struct
pgd mmap vm_end vm_start vm_prot vm_flags vm_next shared libraries 0x40000000 vm_end vm_start vm_prot vm_flags vm_next data 0x0804a020 text vm_end vm_start vm_prot vm_flags vm_next 0x08048000 0 Figure 10.29: How Linux organizes virtual memory. ¯ vm next: Points to the next area struct in the list. Linux Page Fault Exception Handling
Suppose the MMU triggers a page fault while trying to translate some virtual address . The exception results in a transfer of control to the kernel’s page fault handler, which then performs the following steps: 1. Is virtual address legal? In other words, does lie within an area deﬁned by some area struct? To answer this question, the fault handler searches the list of area structs, comparing with the vm start and vm end in each...
View Full Document
- Spring '10
- The American