linux 好书 在线版 lkp内核编程(收藏)
The Linux® Kernel Primer: A Top-Down Approach for x86 and PowerPC Architectures
By Claudia Salzberg Rodriguez, Gordon Fischer, Steven Smolski
...............................................
Publisher: Prentice Hall PTR
Pub Date: September 21, 2005
ISBN: 0-13-118163-7
Pages: 648
Prentice Hall: Open Source Software Development Series
Section 1.2. Standards and Common Interfaces
Section 1.3. Free Software and Open Source
Section 1.4. A Quick Survey of Linux Distributions
Section 1.5. Kernel Release Information
Section 1.7. What Is an Operating System?
Section 1.8. Kernel Organization
Section 1.9. Overview of the Linux Kernel
Section 1.10. Portability and Architecture Dependence
Chapter 2. Exploration Toolkit
Section 2.1. Common Kernel Datatypes
Section 2.3. Assembly Language Example
Section 2.5. Quirky C Language Usage
Section 2.6. A Quick Tour of Kernel Exploration Tools
Section 2.7. Kernel Speak: Listening to Kernel Messages
Section 2.8. Miscellaneous Quirks
Chapter 3. Processes: The Principal Model of Execution
Section 3.1. Introducing Our Program
Section 3.2. Process Descriptor
Section 3.3. Process Creation: fork(), vfork(), and clone() System Calls
Section 3.5. Process Termination
Section 3.6. Keeping Track of Processes: Basic Scheduler Construction
Section 3.8. Asynchronous Execution Flow
Project: current System Variable
Section 4.5. Slab Allocator's Lifecycle
Section 4.6. Memory Request Path
Section 4.7. Linux Process Memory Structures
Section 4.8. Process Image Layout and Linear Address Space
Section 5.1. How Hardware Does It: Busses, Bridges, Ports, and Interfaces
Project: Building a Parallel Port Driver
Section 6.1. General Filesystem Concepts
Section 6.2. Linux Virtual Filesystem
Section 6.3. Structures Associated with VFS
Section 6.5. VFS System Calls and the Filesystem Layer
Chapter 7. Scheduling and Kernel Synchronization
Section 7.3. Spinlocks and Semaphores
Section 7.4. System Clock: Of Time and Timers
Section 8.1. BIOS and Open Firmware
Section 8.3. Architecture-Dependent Memory Initialization
Section 8.5. The Beginning: start_kernel()
Section 8.6. The init Thread (or Process 1)
Chapter 9. Building the Linux Kernel
Section 9.2. Kernel Source Build
Chapter 10. Adding Your Code to the Kernel
Section 10.1. Traversing the Source
Section 10.2. Writing the Code