This preview shows page 1. Sign up to view the full content.
Unformatted text preview: ( task struct in the source code) for each process in the system. The elements of the task structure either contain or point to all of the information that the kernel needs to run the process, (e.g., the PID, pointer to the user stack, name of the executable object ﬁle, and program counter). One of the entries in the task structure points to an mm struct that characterizes the current state of the virtual memory. The two ﬁelds of interest to us are pgd, which points to the base of the page directory table, and mmap, which points to a list of vm area structs (area structs), each of which characterizes an area of the current virtual address space. When the kernel runs this process, it stores pgd in the PDBR control register. For our purposes, the area struct for a particular area contains the following ﬁelds: ¯ ¯ ¯ ¯ vm start: Points to the beginning of the area. vm end: Points to the end of the area. vm prot: Describes the read/write permissions for all of the pages contained in the area. vm flags: Describe...
View Full Document
- Spring '10
- The American