SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Rough Cuts are manuscripts that are developed but not yet published, available through Safari. Rough Cuts provide you access to the very latest information on a given topic and offer you the opportunity to interact with the author to influence the final publication.
Also available in other formats.
This is the Rough Cut version of the printed book.
Linux Kernel Development details the design and implementation of the Linux kernel, presenting the content in a manner that is beneficial to those writing and developing kernel code, as well as to programmers seeking to better understand the operating system and become more efficient and productive in their coding.
The book details the major subsystems and features of the Linux kernel, including its design, implementation, and interfaces. It covers the Linux kernel with both a practical and theoretical eye, which should appeal to readers with a variety of interests and needs.
The author, a core kernel developer, shares valuable knowledge and experience on the 2.6 Linux kernel. Specific topics covered include process management, scheduling, time management and timers, the system call interface, memory addressing, memory management, the page cache, the VFS, kernel synchronization, portability concerns, and debugging techniques. This book covers the most interesting features of the Linux 2.6 kernel, including the CFS scheduler, preemptive kernel, block I/O layer, and I/O schedulers.
The third edition of Linux Kernel Development includes new and updated material throughout the book:
1 Introduction to the Linux Kernel
2 Getting Started with the Kernel
3 Process Management
4 Process Scheduling
5 System Calls
6 Kernel Data Structures
7 Interrupts and Interrupt Handlers
8 Bottom Halves and Deferring Work
9 An Introduction to Kernel Synchronization
10 Kernel Synchronization Methods
11 Timers and Time Management
12 Memory Management
13 The Virtual Filesystem
14 The Block I/O Layer
15 The Process Address Space
16 The Page Cache and Page Writeback
17 Devices and Modules
18 Debugging
19 Portability
20 Patches, Hacking, and the Community