HPlogo HP-UX Memory Management: White Paper

Chapter 1 MEMORY MANAGEMENT

» 

Technical documentation

Complete book in PDF

 » Table of Contents

Table of Contents

Objectives of this chapter
OVERVIEW OF PHYSICAL AND VIRTUAL MEMORY
Pages
Virtual Addresses
THE ROLE OF PHYSICAL MEMORY
Available Memory
Lockable Memory
Secondary Storage
THE ABSTRACTION OF VIRTUAL MEMORY
Virtual Space in PA-RISC
Physical Addresses
MEMORY-RELEVANT PORTIONS OF THE PROCESSOR
The Page Table or PDIR
The Hashed Page Directory (hpde) structure
Translation Lookaside Buffer (TLB)
Instruction and Data Cache
How the CPU Uses Cache And TLB
TLB Hits and Misses
TLB Role in Access Control and Page Protection
Cache Hits and Misses
Registers
VIRTUAL MEMORY STRUCTURES
Virtual Address Space (vas)
Virtual memory elements of a pregion
The Region, a system resource
pseudo-vas for Text and Shared Library pregions
Chunks -- Keeping the vfds and dbds together in one place
Disk Block Descriptor (dbd)
Balanced Trees (B-Trees)
Root of the B-tree
Hardware-Independent Page Information table (pfdat)
MAPPING VIRTUAL TO PHYSICAL MEMORY
The HTBL
Mapping Physical to Virtual Addresses
MAINTAINING PAGE AVAILABILITY
Paging Thresholds
How Memory Thresholds are Tuned
vhand, the pageout daemon
The sched() routine
SWAP SPACE MANAGEMENT
Pseudo-Swap Space
Physical Swap Space
Reservation of Physical Swap Space
Reservation of Pseudo-Swap Space
How Swap Space is Prioritized
Swap Space Structures
swaptab and swapmap Structures
Deactivation using the pager
Overview of Demand Paging
copy-on-write
HOW PROCESS STRUCTURES ARE SET UP IN MEMORY
Region Type Dictates Complexity
Duplicating pregions for Shared Regions
Duplicating pregions for Private Regions
Setting copy-on-write when the vfd is valid
Reconciling the Page and Swap Image
Setting the child region's copy-on-write status
Duplicating a Process Address Space to Make the Process copy-on-write
Duplicating the uarea for the Child's Process
Reading from the parent's copy-on-write page
Reading from the child's copy-on-write page
Faulting In A Page
VIRTUAL MEMORY AND exec()
Cleaning up from a vfork()
Building the new process
Virtual memory and exit()