Linux Kernel Development, 3/e (Paperback)

Robert Love




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:

  • An all-new chapter on kernel data structures
  • Details on interrupt handlers and bottom halves
  • Extended coverage of virtual memory and memory allocation
  • Tips on debugging the Linux kernel
  • In-depth coverage of kernel synchronization and locking
  • Useful insight into submitting kernel patches and working with the Linux kernel community


《Linux Kernel Development》詳細介紹了Linux內核的設計和實現,以一種對於編寫和開發內核代碼的人以及希望更好地理解操作系統並在編碼中更高效和有成效的程序員有益的方式呈現內容。


作者是一位核心內核開發者,分享了關於2.6版Linux內核的寶貴知識和經驗。具體涵蓋的主題包括進程管理、調度、時間管理和定時器、系統調用接口、內存地址定位、內存管理、頁緩存、VFS、內核同步、可移植性問題和調試技術。本書涵蓋了Linux 2.6內核最有趣的特性,包括CFS調度器、可抢占內核、塊I/O層和I/O調度器。

《Linux Kernel Development》第三版在整本書中新增和更新了內容:

- 全新的內核數據結構章節
- 中斷處理程序和底半部分的詳細介紹
- 虛擬內存和內存分配的擴展覆蓋範圍
- Linux內核調試的技巧
- 內核同步和鎖定的深入介紹
- 有關提交內核補丁和與Linux內核社區合作的有用見解