Memory Regions
Linux implements a memory region by
means of an object of type vm_area_struct; its
fields are shown in Table 8-3.
Table 8-3. The fields of the memory region object
|
Type |
Field |
Description |
|---|---|---|
|
|
|
Pointer to the memory descriptor that owns the region |
|
|
|
First linear address inside the region |
|
|
|
First linear address after the region |
|
|
|
Next region in the process list |
|
|
|
Access permissions for the page frames of the region |
|
|
|
Flags of the region |
|
|
|
Data for the red-black tree (see later in this chapter) |
|
|
|
Pointer to the next element in the file memory mapping list |
|
|
|
Pointer to previous element in the file memory mapping list |
|
|
|
Pointer to the methods of the memory region |
|
|
|
Offset in mapped file, if any (see Chapter 15) |
|
struct file * |
vm_file |
Pointer to the file object of the mapped file, if any |
|
|
|
End of current read-ahead window of the mapped file (see Section 15.2.4) |
|
|
|
Pointer to private data of the memory region |
Each memory region descriptor identifies a linear address interval.
The vm_start field contains the first linear
address of the interval, while the vm_end field ...
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