Unformatted text preview: ates the process. This situation is labeled “2” in Figure 10.30. 3. At this point, the kernel knows that the page fault resulted from a legal operation on a legal virtual 516
process virtual memory vm_area_struct
vm_end vm_start r/o shared libraries vm_next 1 vm_end vm_start r/w vm_next CHAPTER 10. VIRTUAL MEMORY segmentation fault: accessing a non-existing page data 3 normal page fault vm_end vm_start r/o vm_next text 2 protection exception: e.g., violating permissions by writing to a read-only page 0 Figure 10.30: Linux page fault handling. address. It handles the fault by selecting a victim page, swapping out the victim page if it is dirty, swapping in the new page, and updating the page table. When the page fault handler returns, the CPU restarts the faulting instruction, which sends to the MMU again. This time, the MMU translates normally, without generating a page fault. 10.8 Memory Mapping
Linux (along with other forms of Unix) initializes the contents of a virtual memory are...
View Full Document