Understanding the Linux Virtual Memory Manager (Paperback)

Understanding the Linux Virtual Memory Manager (Paperback)

作者: Mel Gorman
出版社: Prentice Hall
出版在: 2004-05-09
ISBN-13: 9780131453487
ISBN-10: 0131453483
裝訂格式: Paperback
總頁數: 752 頁





內容描述


Table of Contents:
Preface.     1. INTRODUCTION.

Getting Started. Managing the Source. Browsing
the Code. Reading the Code. Submitting Patches. 2. Describing
Physical Memory.

Nodes. Zones. Zone Initialization. Initializing
mem map. Pages. Mapping Pages to Zones. High Memory. Whats New in 2.6.

  1. Page Table Management.

Describing the Page Directory. Describing a Page
Table Entry. Using Page Table Entries. Translating and Setting Page Table
Entries. Allocating and Freeing Page Tables. Kernel Page Tables. Mapping
Addresses to a struct page. Translation Lookaside Bu.er (TLB). Level 1 CPU Cache
Management. Whats New in 2.6. 4. Process Address Space.

Linear Address Space. Managing the Address
Space. Process Address Space Descriptor. Memory Regions. Exception Handling.
Page Faulting. Copying to/from Userspace. Whats New in 2.6. 5. Boot
Memory Allocator.

Representing the Boot Map. Initializing the Boot
Memory Allocator. Initializing bootmem data. Allocating Memory. Freeing Memory.
Retiring the Boot Memory Allocator. Whats New in 2.6. 6. Physical
Page Allocation.

Managing Free Blocks. Allocating Pages. Free
Pages. Get Free Page (GFP) Flags. Process Flags. Avoiding Fragmentation. Whats
New in 2.6. 7. Noncontiguous Memory Allocation.

Describing Virtual Memory Areas. Allocating a
Noncontiguous Area. Freeing a Noncontiguous Area. Whats New in 2.6.

  1. Slab Allocator.

Caches. Slabs. Objects. Sizes Cache. Per-CPU
Object Cache. Slab Allocator Initialization. Interfacing With the Buddy
Allocator. Whats New in 2.6. 9. High Memory Management.

Managing the PKMap Address Space. Mapping High
Memory Pages. Unmapping Pages. Mapping High Memory Pages Atomically. Bounce
Bu.ers. Emergency Pools. Whats New in 2.6. 10. Page Frame
Reclamation.

Page Replacement Policy. Page Cache. LRU Lists.
Shrinking All Caches. Swapping Out Process Pages. Pageout Daemon (kswapd). Whats
New in 2.6. 11. Swap Management.

Describing the Swap Area. Mapping Page Table
Entries to Swap Entries. Allocating a Swap Slot. Swap Cache. Reading Pages From
Backing Storage. Writing Pages to Backing Storage. Reading/Writing Swap Area
Blocks. Activating a Swap Area. Deactivating a Swap Area. Whats New in 2.6.

  1. Shared Memory Virtual Filesystem.

Initializing the Virtual Filesystem. Using shmem
Functions. Creating Files in tmpfs. Page Faulting Within a Virtual File. File
Operations in tmpfs. Inode Operations in tmpfs. Setting Up Shared Regions.
System V IPC. Whats New in 2.6. 13. Out Of Memory Management.

Checking Available Memory. Determining OOM
Status. Selecting a Process. Killing the Selected Process. Is That It? Whats New
in 2.6. 14. The Final Word. A. Introduction.
B. Describing Physical Memory.

Initializing Zones. Page Operations.
C. Page Table Management.

Page Table Initialization. Page Table Walking.
D. Process Address Space.

Process Memory Descriptors. Creating Memory
Regions. Searching Memory Regions. Locking and Unlocking Memory Regions. Page
Faulting. Page-Related Disk I/O. E. Boot Memory Allocator.

Initializing the Boot Memory Allocator.
Allocating Memory. Freeing Memory. Retiring the Boot Memory Allocator.
F. Physical Page Allocation.

Allocating Pages. Allocation Helper Functions.
Free Pages. Free Helper Functions. G. Noncontiguous Memory
Allocation.

Allocating a Noncontiguous Area. Freeing a
Noncontiguous Area. H. Slab Allocator.

Cache Manipulation. Slabs. Objects. Sizes Cache.
Per-CPU Object Cache. Slab Allocator Initialization. Interfacing with the Buddy
Allocator. I. High Memory Mangement.
Mapping High Memory Pages. Mapping High
Memory Pages Atomically. Unmapping Pages. Unmapping High Memory Pages
Atomically. Bounce Bu.ers. Emergency Pools
J. Page Frame Reclamation.

Page Cache Operations. LRU List Operations.
Re.lling inactive list. Reclaiming Pages From the LRU Lists. Shrinking All
Caches. Swapping Out Process Pages. Page Swap Daemon. K. Swap
Management.

Scanning for Free Entries. Swap Cache. Swap Area
I/O. Activating a Swap Area. Deactivating a Swap Area. L. Shared
Memory Virtual Filesystem.

Initializing shmfs. Creating Files in tmpfs.
File Operations in tmpfs. Inode Operations in tmpfs. Page Faulting Within a
Virtual File. Swap Space Interaction. Setting Up Shared Regions. System V IPC.
M. Out of Memory Management.

Determining Available Memory. Detecting and
Recovering From OOM. References. Code Commentary Index.
Index. About the Author.




相關書籍

量子計算與編程入門

作者 郭國平 陳昭昀 郭光燦

2004-05-09

Computer Networks: A Systems Approach, 5/e (IE-Papbrback)

作者 Larry L. Peterson Bruce S. Davie

2004-05-09

通訊系統原理, 3/e

作者 李肇嚴

2004-05-09