出版時間:2011-1 出版社:機械工業(yè)出版社 作者:(美) Robert Love 頁數(shù):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.
內(nèi)容概要
Robert Love所著的《Linux內(nèi)核設(shè)計與實現(xiàn)(第3版)》基于Linux 2.6內(nèi)核介紹了Linux內(nèi)核的設(shè)計與實現(xiàn),涵蓋了從核心內(nèi)核系統(tǒng)的應(yīng)用到內(nèi)核設(shè)計與實現(xiàn)等各方面內(nèi)容,主要內(nèi)容包括:進程管理、調(diào)度、時間管理和定時器、系統(tǒng)調(diào)用接口、內(nèi)存尋址、內(nèi)存管理、頁緩存、VFS、內(nèi)核同步、可移植性、調(diào)試技術(shù)等。此外,本書還討論了Linux 2.6頗具特色的內(nèi)容,包括CFS調(diào)度程序、搶占式內(nèi)核、塊I/O層以及I/O調(diào)度程序。 《Linux內(nèi)核設(shè)計與實現(xiàn)(第3版)》新增內(nèi)容 ·增加一章專門描述內(nèi)核數(shù)據(jù)結(jié)構(gòu) ·詳細描述中斷處理程序 ·擴充虛擬內(nèi)存和內(nèi)存分配的內(nèi)容 ·調(diào)試Linux內(nèi)核的技巧 ·內(nèi)核同步和鎖機制的深度描述 ·提交內(nèi)核補丁以及參與Linux內(nèi)核社區(qū)的建設(shè)性建議
作者簡介
Robert Love是開源社區(qū)的名人,很早就開始使用Linux。目前他是Google公司高級軟件工程師,是開發(fā)Android移動平臺內(nèi)核的團隊成員。他曾受聘于Novell公司,作為Linux Desktop主架構(gòu)師。他還曾受聘于MontaVista軟件公司(后改 名為Ximian公司),作為內(nèi)核工程師。他的內(nèi)核項
書籍目錄
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
章節(jié)摘錄
插圖: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內(nèi)核設(shè)計與實現(xiàn)(英文版·第3版)》:經(jīng)典圖書新版,學(xué)習(xí)Linux內(nèi)核最佳讀物。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載
Linux內(nèi)核設(shè)計與實現(xiàn) PDF格式下載