Memory Regions
Linux implements a memory region by means of an object of
type vm_area_struct
; its fields are
shown in Table
9-3.[*]
Table 9-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). |
| | Links to the data structures used for reverse mapping (see the section "Reverse Mapping for Mapped Pages" in Chapter 17). |
struct list_head | anon_vma_node | Pointers for the list of anonymous memory regions (see the section "Reverse Mapping for Anonymous Pages" in Chapter 17). |
struct anon_vma * | anon_vma | Pointer to the |
| | Pointer to the methods of the memory region. |
| | Offset in mapped file (see Chapter 16). For anonymous
pages, it is either zero or equal to |
| | Pointer to the file object of the mapped file, if any. |
| | Pointer to private data of the memory region. |
unsigned long ... |
Get Understanding the Linux Kernel, 3rd 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.