This book describes VM in unprecedented detail, presenting both theoretical foundations and a line-by-line source code commentary. It systematically covers everything from physical memory description to out-of-memory management.
Book Description
A programmer wanting to understand the workings of the Linux VM today literally has no choice but to study the kernel source code, line-by-line – an excruciatingly difficult and time-consuming task. This book dedicates itself to explaining, in detail, how the memory manager is implemented in Linux, thereby cutting down the time needed to understand it from many months to mere weeks. The Linux VM is the single most important component of the Linux kernel. The behavior of the VM affects all other kernel subsystems, and has a dramatic impact on overall system performance.
This book is unique in that not only does it describe the Linux VM itself in unprecedented detail, it also includes the theoretical foundations for it which is of interest to both developers and students but has been omitted from recent Linux kernel related material. It is split into three parts. The first part begins with an introduction on how to approach reading the code of an open source project. It then provides a detailed description of the VM architecture with the aid of numerous diagrams and call graphs, which is suitable for people who need a clear understanding of how the VM functions. The second part is a detailed line-by-line description of the C source modules (source code commentary) that implement the VM in the Linux 2.4 kernel. The third part describes new features in the upcoming 2.6 kernel.
Table of Contents
- Introduction
- Describing Physical Memory
- Pagetable Management
- Process Address Space
- Boot Memory Allocator
- Physical Page Allocation
- Noncontiguous Memory Allocation
- Slab Allocator
- High Memory Management
- Page Frame Reclamation
- Swap Management
- Shared Memory Virtual Filesystem
- Out Of Memory Management
Download Free PDF / Read Online
Publisher: Prentice Hall
Format(s): PDF
File size: 8.32 MB
Number of pages: 748
Link: Download.