Chapter 4 : Virtual Process Memory
4.1 Introduction
4.2 Virtual Process Address Space
Layout of the Process Address Space
Creating the Layout
4.3 Principle ofMemoryMappings
4.4 Data Structures
Trees and Lists
Representation of Regions
The Priority Search Tree
4.5 Operations on Regions
Associating Virtual Addresses with a Region
Merging Regions
Inserting Regions
Creating Regions
4.6 Address Spaces
4.7 Memory Mappings
Creating Mappings
Removing Mappings
Nonlinear Mappings
4.8 Reverse Mapping
Data Structures
Creating a Reverse Mapping
Using Reverse Mapping
4.9 Managing the Heap
4.10 Handling of Page Faults
4.11 Correction of Userspace Page Faults
Demand Allocation/Paging
Anonymous Pages
Copy on Write
Getting Nonlinear Mappings
Kernel Page Faults
Copying Data between Kernel and Userspace
Summary