出版时间:2011-1 出版社:机械工业出版社 作者:(美) Robert Love 页数:440
Tag标签:无
前言
As the Linux kernel and the applications that use it become more widely used, we areseeing an increasing number of system software developers who wish to become involvedin the development and maintenance of Linux. Some of these engineers are motivatedpurely by personal interest, some work for Linux companies, some work for hardwaremanufacturers, and some are involved with in-house development projects. But all face a common problem: The learning curve for the kernel is getting longerand steeper. The system is becoming increasingly complex, and it is very large. And as theyears pass, the current members of the kernel development team gain deeper and broaderknowledge of the kernel's internals, which widens the gap between them and newcomers. I believe that this declining accessibility of the Linux source base is already a problemfor the quality of the kernel, and it will become more serious over time.Those who carefor Linux clearly have an interest in increasing the number of developers who can con-tribute to the kernel. One approach to this problem is to keep the code clean: sensible interfaces, consistentlayout, "do one thing, do it well," and so on. This is Linus Torvalds' solution. The approach that I counsel is to liberally apply commentary to the code: words thatthe reader can use to understand what the coder intended to achieve at the time. (Theprocess of identifying divergences between the intent and the implementation is knownas debugging. It is hard to do this if the intent is not known.) But even code commentary does not provide the broad-sweep view of what a majorsubsystem is intended to do, and of how its developers set about doing it. This, the start-ing point of understanding, is what the written word serves best. Robert Love's contribution provides a means by which experienced developers cangain that essential view of what services the kernel subsystems are supposed to provide,and of how they set about providing them. This will be sufficient knowledge for manypeople: the curious, the application developers, those who wish to evaluate the kernel'sdesign, and others. But the book is also a stepping stone to take aspiring kernel developers to the nextstage, which is making alterations to the kernel to achieve some defined objective. Iwould encourage aspiring developers to get their hands dirty: The best way to under-stand a part of the kernel is to make changes to it. Making a change forces the developerto a level of understanding which merely reading the code does not provide.
内容概要
Robert Love所著的《Linux内核设计与实现(第3版)》基于Linux 2.6内核介绍了Linux内核的设计与实现,涵盖了从核心内核系统的应用到内核设计与实现等各方面内容,主要内容包括:进程管理、调度、时间管理和定时器、系统调用接口、内存寻址、内存管理、页缓存、VFS、内核同步、可移植性、调试技术等。此外,本书还讨论了Linux 2.6颇具特色的内容,包括CFS调度程序、抢占式内核、块I/O层以及I/O调度程序。 《Linux内核设计与实现(第3版)》新增内容 ·增加一章专门描述内核数据结构 ·详细描述中断处理程序 ·扩充虚拟内存和内存分配的内容 ·调试Linux内核的技巧 ·内核同步和锁机制的深度描述 ·提交内核补丁以及参与Linux内核社区的建设性建议
作者简介
Robert Love是开源社区的名人,很早就开始使用Linux。目前他是Google公司高级软件工程师,是开发Android移动平台内核的团队成员。他曾受聘于Novell公司,作为Linux Desktop主架构师。他还曾受聘于MontaVista软件公司(后改 名为Ximian公司),作为内核工程师。他的内核项
书籍目录
1 Introduction to the Linux Kernel History of Unix Along Came Linus: Introduction to Linux Overview of Operating Systems and Kernels Linux Versus Classic Unix Kernels Linux Kernel Versions The Linux Kernel Development Community Before We Begin2 Getting Started with the Kernel3 Process Management4 Process Scheduling5 System Calls6 Kernel Data Structures7 Interrupts and Interrupt Handlers8 Bottom Halves and Deferring Work9 An Introduction to Kernel Synchronization10 Kernel Synchronization Methods11 Timers and Time Management12 Memory Management13 The Virtual Filesystem14 The Block I/O Layer15 The Process Address Space16 The Page Cache and Page Writeback17 Devices and Modules18 Debugging19 Portability20 Patches, Hacking, and the CommunityBibliographyIndex
章节摘录
插图:The Linux Kernel Development CommunityWhen you begin developing code for the Linux kernel,you become a part of the globalkernel development community.The main forum for this community is the Linux KernelMailing List(oft-shortened to lkml).Subscription information is available at http://vger.kernel.org.Note that this is a 11igh-traffic list with hundreds of messages a day and thatthe other readers——who include all the core kernel developers.including Linup-are notopen to dealing with nonsense.The list is,however,a priceless aid during developmentbecause it is where you can find testers,receive peer review,and ask questions. Later chapters provide an overview of the kernel development process and a morecomplete description ofparticipating successfully in the kernel development community.In the meantime,however,lurking on(silently reading)the Linux Kernel Mailing List isas good a supplement to this book as you can find.Before We BeginThis book is about the Linux kernel:its goals,the design that fulfills those goals,and theimplementation that realizes that design.The approach is practical,taking a middle roadbetween theory and practice when explaining how everything works.My objective is togive you an insider's appreciation and understanding for the design and implementationof the Linux kernel.This approach,coupled with some personal anecdotes and tipS onkernel hacking,should ensure that this book gets you off the ground running,whetheryou are looking to develop core kernel code,a new device driver ,or simply better under-stand the Linux operating system. While reading this book,you should have access to a Linux system and the kernelsource.Ideally,by this point,you are a Linux user and have poked and prodded at thesource,but require some help making it all come together.Conversely,you might neverhave used Linux but just want to learn the design of the kernel out of curiosity.However,ifyour desire is to write some code ofyour own,there is no substitute for the source.Thesource code isfreely available;use it! Oh,and abore all else,have fun!
编辑推荐
《Linux内核设计与实现(英文版·第3版)》:经典图书新版,学习Linux内核最佳读物。
图书封面
图书标签Tags
无
评论、评分、阅读与下载