Linux Kernel Development

Robert Love

出版时间

2010-05-19

ISBN

9780672329463

评分

★★★★★
书籍介绍

The third edition of the authoritative, practical introduction to the Linux kernel for programmers who want to better understand the Linux kernel and write and develop kernel code. Authored by a well-known member of the Linux kernel development team, with a reputation for a highly readable and focused writing style, this edition has been thoroughly updated and includes improved coverage of all the major subsystems and features of the latest version of the Linux 2.6.xx kernel.

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. While the book discusses topics that are theoretical, it does so with the goal of assisting programmers so they better understand the topics and become more efficient and productive in their coding.

The book discusses the major subsystems and features of the Linux kernel, including design and implementation, their purpose and goals, and their interfaces. Important computer science and operating system design details are also addressed. The book covers the Linux kernel from both angles -- theoretical and applied -- which should appeal to both types of readers.

The author, a core kernel developer, shares valuable knowledge and experience on the very latest Linux kernel.

Specific topics covered will include: all the important algorithms, relevant subsystems, process management, scheduling, time management and timers, system call interface, memory addressing, memory management, paging strategies, caching layers, VFS, kernel synchronization, and signals.

An authoritative, practical guide that helps programmers better understand the Linux kernel, and to write and develop kernel code.

* Authored by core Linux kernel developers.

* In-depth coverage of all the major subsystems and features of the new Linux 2.6 kernel.

* Targeted audience includes programmers interested in gaining relevant and timely information so they may further their kernel development skills.

--This text refers to an out of print or unavailable edition of this title.

Robert Love is an open source programmer, speaker, and author who has been using and contributing to Linux for more than 15 years. He is currently senior software engineer at Google, where he was a member of the team that developed the Android mobile platform’s kernel. Prior to Google, he was Chief Architect, Linux Desktop, at Novell. Before Novell, he was a kernel engineer at ...

(展开全部)

AI导读
核心看点
  • 本书由Linux内核核心开发者Robert Love撰写,旨在帮助程序员理解内核机制并编写内核代码。内容涵盖进程管理、调度、系统调用、中断处理、同步机制、内存管理及文件系统接口等核心子系统,强调设计思想与API使用,而非底层实现细节。
  • 作者以宏观视角俯瞰Linux内核架构,避免陷入繁琐的代码实现陷阱。书中详细讲解内核子系统的设计原理与算法逻辑,帮助读者建立对操作系统整体架构的正确认知,适合希望从应用层转向内核开发或驱动开发的开发者阅读。
  • 本书不提供深入的内核源码级剖析,而是作为内核API的参考指南。读者可通过本书快速掌握如何合法、安全地调用内核函数进行开发。对于希望了解Linux 2.6内核特性、抢占式调度改进及模块加载机制的读者,提供了清晰且实用的指导。
适合谁读
  • 希望从应用层编程转向Linux内核模块开发或驱动程序开发的程序员。本书适合作为入门过渡读物,帮助读者理解内核边界、系统调用接口及内核空间与用户空间交互的基本规则,避免直接阅读源码带来的挫败感。
  • 对操作系统原理感兴趣,但缺乏实际内核开发经验的计算机专业学生或从业者。本书以通俗易懂的方式讲解进程调度、内存管理、I/O调度等核心概念,帮助读者将理论知识与Linux实际实现联系起来,建立正确的系统观。
  • 需要快速了解Linux内核架构概览,以便进行系统级调试、性能分析或安全研究的工程师。本书提供的宏观视角有助于理解内核各子系统间的协作关系,为后续深入阅读《Understanding the Linux Kernel》等深度著作奠定基础。
读前提醒
  • 本书不适合期望深入研读内核源码实现细节的读者。若需了解具体数据结构或算法实现,请配合《Understanding the Linux Kernel》或《Professional Linux Kernel Architecture》阅读。本书定位为内核API使用指南,切勿将其误认为底层实现手册。
  • 阅读前需具备扎实的操作系统理论基础,熟悉进程、线程、内存管理、中断等基本概念。若对某些概念模糊,建议先复习操作系统教材。书中部分章节涉及复杂同步机制,需结合官方文档或内核源码注释辅助理解,切勿死记硬背。
  • 建议结合Linux内核源码进行实践学习。书中提到的API调用、模块加载、调试技巧等,应在实际开发环境中验证。注意本书基于Linux 2.6内核,部分接口在后续版本中可能已变更,请以当前使用内核版本的官方文档为准,避免使用过时API。
读者共识
  • 读者普遍认为本书是Linux内核学习的最佳入门读物之一,作者文笔清晰、逻辑严谨,能在短时间内帮助读者建立对内核架构的整体认知。尽管内容较浅,但其宏观视角和实用性受到广泛认可,适合初学者快速上手,避免陷入源码细节泥潭。
  • 多数读者指出本书并非深入的内核实现指南,而是内核开发者的API参考手册。对于希望深入理解内核底层机制的读者,本书内容不足,需转向更专业的著作。但作为过渡性读物,其价值不可替代,能有效降低学习门槛,提升学习效率。
  • 部分读者批评本书内容过于简略,缺乏深度,且基于较旧的2.6内核版本,部分技术已过时。然而,主流观点认为,内核核心设计思想并未发生根本性变化,本书仍具参考价值。建议读者将其作为学习路径的起点,而非终点,后续需结合最新资料深入学习。

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "内核可以停用中止--------"
  • "An interprocess communication (IPC) mechanism is built into the system, and the various servers communicate and invoke "services" from each other by sending messages over the IPC mechanism. 互换“服务”"
  • "主板本号"
  • "Minor version is 6 (this is a stable kernel)"
  • "kernel Core subsystems, such as the scheduler 像调度程序那样的核心子系统"
  • "当一个程序调执行了系统调用(参见第5章)"
  • "current宏"
  • "It then checks that the new child will not exceed the resource limits on the number of processes for the current user."
作者简介
Robert Love is an open source programmer, speaker, and author who has been using and contributing to Linux for more than 15 years. He is currently senior software engineer at Google, where he was a member of the team that developed the Android mobile platform’s kernel. Prior to Google, he was Chief Architect, Linux Desktop, at Novell. Before Novell, he was a kernel engineer at MontaVista Software and Ximian. Love’s kernel projects include the preemptive kernel, the process scheduler, the kernel events layer, inotify,VM enhancements, and several device drivers. He has given numerous talks on and has written multiple articles about the Linux kernel and is a contributing editor for Linux Journal. His other books include Linux System Programming and Linux in a Nutshell.
目录
1 Introduction to the Linux Kernel
2 Getting Started with the Kernel
3 Process Management
4 Process Scheduling
5 System Calls

显示全部
用户评论
2011某kernel大会上,陈老师送了本
简介,甚至类似于内核的API手册。让人容易有code内核的欲望
后来做storage的研究,想了解io scheduler,然后回头读的时候,才发现作者写的真的很精辟,刚刚点到即止,不至于那么繁杂。
没必要在这本书上浪费时间,Understanding the Linux Kernel或者Professional Linux Kernel Architecture比这本书好太多。关键是读了这本书还是要去读那两本书(挑一本),但是那两本书读完,这本书你完全没必要看。
虽然设备管理部分讲得比较少,但对操作系统原理部分的把握通俗易懂
几本Linux内核书里最短的,语言清楚易读,虽然原理讲得不深,仍不失为kernel入门佳作
<3
作者全篇都在强调:别看我叨叨,看源码,看源码,看源码...
- 小块头书,适合看完OSTEP或者其他同类的介绍OS的书后再看,建立起Linux的基本认识 - 作者写作风格明显好于隔壁的《Professional Linux Kernel》,后者看起来相当相当的吃力 总体ok,3.5
400页讲完一个os,虽然粗糙,但是清晰,容易上手。。。
收藏