Thus the allocator cannot make any assumptions about

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: ( 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 file, 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 fields 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 fields: ¯ ¯ ¯ ¯ 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

Ask a homework question - tutors are online