Mastering Linux Kernel Development
Tags
Summary
Concise and hands-on, Mastering Linux Kernel Development uses extensive code to support its treatment of Linux kernel development. Through this book, readers gain a deeper understanding of the kernel's core services and mechanisms, and learn how this collective work of many minds preserves both its sound design and its elegance.
Mastering Linux Kernel Development is suited to Linux kernel developers and low-level developers, as well as system developers who want a deeper understanding of the Linux kernel and its components. Software engineering students at universities can also use it as a reference guide to the design principles of the Linux kernel.
Editor's review
Who it's for
A good fit for
- Intermediate and advanced developers with solid C and operating systems foundations who want a systematic, in-depth understanding of Linux kernel design and implementation
- Professional engineers in kernel development, performance optimization, system architecture, or embedded systems who need to master how the kernel works
- Advanced graduate students or researchers in computer science whose work involves operating system kernels or system software
- Technical enthusiasts who are not content to use APIs and configure systems, and who want to understand low-level mechanisms to improve their debugging and problem-solving skills
Not a good fit for
- Programming beginners with no background in operating systems or C
- Users who only need everyday application development or system operations and do not need to delve into kernel mechanisms
Reading tips
- Read the book alongside the Linux kernel source tree: when you encounter a key data structure or function, consult the corresponding source code for that version to deepen your understanding
- There is no need to understand every chapter in one pass; you can study and practice topic by topic (e.g., memory management, process scheduling)
- When reading about complex mechanisms such as synchronization and interrupts, try writing simple kernel modules or using debugging tools to verify your understanding—practice is the best way to grasp these concepts
About the publisher
Posts & Telecom Press is known for its strengths in science and technology, computing, and information and communications titles, and has extended its publishing into photography, art, software learning, and inspirational growth, giving it a fairly diverse range. Its catalog includes computing and communications works such as Refactoring and Patterns (Revised Edition) and Huawei Switch Learning Guide (Second Edition), alongside bilingual collector's editions such as The Little Prince (Chinese-English-French illustrated collector's edition), The Great Gatsby, and Three Days to See. Beijing Ten Years: 1980-1990 and Ghost Blade: WLOP Personal Illustration Collection reflect its presence in photography and art. Its authors include Antoine de Saint-Exupéry, Helen Keller, Joshua Kerievsky, Wang Da, Zhang Zhaozeng, and WLOP.
Contents
- 版权信息
- 内容提要
- 关于作者
- 关于审稿人
- 前言
- 第1章 进程、地址空间和线程
- 1.1 进程
- 1.2 进程描述符
- 1.3 内核栈
- 1.4 栈溢出问题
- 1.5 进程创建
- 1.6 内核线程
- 1.7 进程状态和终止
- 1.8 命名空间和cgroup
- 1.9 小结
- 第2章 进程调度器
- 2.1 进程调度器
- 2.2 Linux进程调度器设计
- 2.3 运行队列
- 2.4 调度入口
- 2.5 进程优先级
- 2.6 调度类
- 2.7 完全公平调度类(CFS)
- 2.8 实时调度类
- 2.9 调度相关的系统调用
- 2.10 进程抢占
- 2.11 小结
- 第3章 信号管理
- 3.1 信号
- 3.2 信号管理API
- 3.3 信号数据结构
- 3.4 信号生成和传递
- 3.5 重新启动被中断的系统调用
- 3.6 小结
- 第4章 内存管理和分配器
- 4.1 初始化操作
- 4.2 区域和节点
- 4.3 内存分配
- 4.4 小结
- 第5章 文件系统和文件I/O
- 5.1 文件系统——高层视图
- 5.2 Linux内核中的文件系统
- 5.3 通用文件系统接口
- 5.4 特殊文件系统
- 5.5 小结
- 第6章 进程间通信
- 6.1 管道和FIFO
- 6.2 消息队列
- 6.3 共享内存
- 6.4 信号量
- 6.5 小结
- 第7章 虚拟内存管理
- 7.1 进程地址空间
- 7.2 小结
- 第8章 内核同步和锁
- 8.1 原子操作
- 8.2 排斥锁
- 8.3 小结
- 第9章 中断和延迟工作
- 9.1 中断信号和向量
- 9.2 可编程中断控制器
- 9.3 高级中断管理接口
- 9.4 延迟工作
- 9.5 小结
- 第10章 时钟和时间管理
- 10.1 时间表示
- 10.2 硬件抽象
- 10.3 Linux计时数据结构体、宏以及辅助函数
- 10.4 软件定时器和延迟函数
- 10.5 POSIX时钟
- 10.6 小结
- 第11章 模块管理
- 11.1 内核模块
- 11.2 小结
FAQ
Which Linux kernel version is the code based on?
What background knowledge is required before reading this book?
How does this book compare with classics such as Linux Kernel Development and Understanding the Linux Kernel?
Comments
Find this book
This site is an index: you start “Search all sources” in your browser, and the entries it lists all point to third-party sites; please judge their availability yourself.
About the author
Raghu Bharadwaj is a technical author about whom limited public information is available; the confirmable details come mainly from his book Mastering Linux Kernel Development. The book falls under programming and design, and is aimed at developers who wish to gain a deeper understanding of the Linux kernel, covering knowledge related to kernel development. Judging from the title and its category, the author focuses on technical explanation at the kernel level, and the writing style is that of a practical technical book for developers rather than a general beginner's introduction. Although information such as the author's nationality, education, and professional experience is not found in the available materials, the work has been introduced into Chinese publication and can serve as a reference for Chinese readers. For such an author, readers may focus on the kernel development methods and ideas presented in the book, learning about the subject through his writing without over-inquiring into his personal background.
Wen Pingbo is a technical author about whom limited public information is available. What can be confirmed is that his work focuses on the specialized field of Linux kernel development. The library holds his representative book, Mastering Linux Kernel Development, catalogued under programming and design as a technical title aimed at low-level system developers. Judging from the title and category, his writing emphasizes kernel mechanisms and development practice, targeting programmers and engineers who already have some operating system background and wish to gain a deeper understanding of the Linux kernel. Since the author's education, professional experience, and research interests have not been publicly disclosed, this introduction makes no speculation and, based solely on available bibliographic information, describes the book's positioning: it addresses an advanced, specialized kernel development topic and serves Chinese technical readers seeking further study.
Bai Haowen is a Chinese author of technical books. Public information about him is limited, and only one of his works is currently held in the collection. His representative work is Mastering Linux Kernel Development, a book in the programming and design category aimed at readers who wish to gain a deeper understanding of the Linux kernel. Judging from the title and category, the book focuses on the principles and practice of kernel development, with content centered on technical explanation and intended for programmers and system developers with some foundational knowledge. As no clear record of the author's biography, education, or professional experience is available, this profile makes no speculation and introduces his writing direction based solely on the work itself. For readers interested in the Linux kernel and low-level system development, the book can serve as a reference for learning about related technologies, and through this work Bai Haowen has left a record in the field of technical writing.