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 ...
Get Understanding the Linux Kernel, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.