The Memory Descriptor
All information related to the process address space is included in a
data structure called a memory descriptor
. This structure of type
mm_struct is referenced by the
mm field of the process descriptor. The fields of
a memory descriptor are listed in Table 8-2.
Table 8-2. The fields of the memory descriptor
|
Type |
Field |
Description |
|---|---|---|
|
|
|
Pointer to the head of the list of memory region objects |
|
|
|
Pointer to the root of the red-black tree of memory region objects |
|
|
|
Pointer to the last referenced memory region object |
|
|
|
Pointer to the Page Global Directory |
|
|
|
Secondary usage counter |
|
|
|
Main usage counter |
|
|
|
Number of memory regions |
|
|
|
Memory regions’ read/write semaphore |
|
|
|
Memory regions’ and Page Tables’ spin lock |
|
|
|
Pointers to adjacent elements in the list of memory descriptors |
|
|
|
Initial address of executable code |
|
|
|
Final address of executable code |
|
|
|
Initial address of initialized data |
|
|
|
Final address of initialized data |
|
|
|
Initial address of the heap |
|
|
|
Current final address of the heap |
|
|
|
Initial address ... |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access