《深入理解LINUX内核(第三版)》书评

当前位置:首页 > 计算机网络 > 操作系统/系统开发 > 深入理解LINUX内核(第三版)

出版社:中国电力出版社
出版日期:2007-10-01
ISBN:9787508353944
作者:(美)博韦,西斯特
页数:896页

讲解linux内核的书皇,最好的一本,没有之一哦!

这本书太经典了,言语精炼废话不多,信息量大,细节较多。但不适合做为学习linux内核的第一本书,最好是手头还有一本介绍内核原理的概括一点的书,先看原理,再对照看这本。一章一章对照看。不要希望第一遍就完全看懂并记住,个人觉得最好的方法是首先粗略过一遍(前9章,到进程地址空间),然后再细点看一遍,然后更细点。。。也就是说要一遍一遍的看。这本书还需要点汇编,内嵌汇编的知识。碰到读不下去不是很懂的地方,努力一番,但不要跟它死磕,有可能是翻译不是很到位,或是作者没有从最基本的开始讲起。要么先放过,回头再来啃它;要么勤动手,上网查一查,说不定有意外收获。linux内核对普通学习者而言不亚于90度的悬崖,无路可循,这本书虽然没有让它变成一马坦途,但至少变成一个30度的斜坡,付出努力我们也能慢慢登堂入室。

非常不错

这本书我读了不下20遍 每次都有新的收获作为内核的学习者 我认为这本书和深入linux内核架构 可以互相补充,然后直接浏览源代码 不过 LINUX真是太复杂了 单单这两本书 也只能给你大概的认识 更多的 是浏览源代码

对于翻译我已经无力吐槽

译者相当不负责任, 感觉他就是把英文句子逐词地翻译过来, 都不带调整的, 读起来相当生硬且晦涩, 审校更加不负责, 这样的翻译都可以通过?我的评论哪儿短了?我的评论哪儿短了?我的评论哪儿短了?我的评论哪儿短了?我的评论哪儿短了?我的评论哪儿短了?我的评论哪儿短了?我的评论哪儿短了?我的评论哪儿短了?我的评论哪儿短了?我的评论哪儿短了?

本书(第三版)勘误~

一、硬伤 P101L4 ~ L6的内容为: "没有为处于TASK_STOPPED、、EXIT_ZOMBIE或EXIT_DEAD状态的进程建立专 门的链表。由于对处于暂停、僵死、死亡状态进程的访问比较简单,或者通过PID, 或者通过特定父进程的子进程链表,所以不必对这三种状态进程分组。" L7 ~ L9的内容为: "没有为处于、状态的进程建立专门的链表。由于对处于暂停、僵死、死亡状态进程 的访问比较简单,或者通过PID,或者通过特定父进程的子进程链表,所以不必对 这三种状态进程分组。" 对应的英文原文为: Processes in a TASK_STOPPED, EXIT_ZOMBIE, or EXIT_DEAD state are not linked in specific lists. There is no need to group processes in any of these three states, because stopped, zombie, and dead processes are accessed only via PID or via linked lists of the child processes for a particular parent. Processes in a TASK_INTERRUPTIBLE or TASK_UNINTERRUPTIBLE state are subdivided into many classes, each of which corresponds to a specific event. In this case, the process state does not provide enough information to retrieve the process quickly, so it is necessary to introduce additional lists of processes. These are called wait queues and are discussed next. 翻译:TASK_可中断 或 TASL_不可中断 状态的进程被细分为很多种类,每一种都只响应某一特定事件。这种情况下,进程状态无法提供足够的信息以快速解析进程,所以需要引入附加的链表。它们被成为等待队列并且接下来讨论。二、错别字 P46L-3 "80x86微处理器中的分段鼓励程序员把他们的程序化分乘逻辑上相关的实体,例如子程" 此处"化分"应该为"划分"。 P49L-9 "与高级电源管理(AMP)..." P49L-5 "像前述与AMP相关的3个段的情况一样,..." AMP应该为APM P61L-7 "(Page Cache Disablt)标志指明当访问包含在这个页框中的数据时," "Disablt"应该为"Disabled"。 P71L-12 "...例如,IBM Thinkpnd把" 很明显的应该是"Thinkpad"。 三、有些地方有尾巴 p598L11 "spinlock_t tree_lock Spin lock 保护基树的自旋锁" 此处的"Spin lock"系多余的。 四、半角全角不分 只是大致的翻一翻,希望仔细看过这本书的再挑更多的错误。有了第一个硬伤,充分说明这些翻译们的辛劳和严谨。真的太有才了,在译者序的最后有"......为第二版和第三版之间的差异做了大量校对工作,同时还参与部分翻译工作。全书由陈莉君审校并统稿。"不知道陈老师是否真的统过稿,值得怀疑。等多请看原文:http://www.chinaunix.net/jh/4/914783.html英文版官方勘误:http://www.oreilly.com/catalog/understandlk/errata/

沉下来,把内功练到精深处

这书几乎对Linux内核中的主要子系统的源码进行了逐行分析,确实需要我们静下来沉下心来,花一段不短的时间来阅读源码。虽然我们自己去写一个操作系统的可能性很小,但是如果能深入理解这么庞大的系统,能阅读几万甚至几十万行优秀的代码,还有什么系统的源代码是我们不能理解的呢?仔细理解了这本书,仔细阅读了相关Linux内核源码,真的会让个人的内功大增,阅读代码的能力暴涨。曾经读过LKN,可是只读过书,没有读过代码,没有写过实际的内核模块。这样下来自己收获着实不大,很多东西当时看过,可是不久就忘了。所以,还是要看源代码,还是要动手实践。书好,更需要我们去读代码。

力荐

同事买了这本书,然后裁成5本,以便携带,方便上下班地铁上看。我就借机一本本要来看,重点看VM的部分。没啥说的,讲的很清楚,边看书边看代码,收获很大。论坛上有人反应此书翻译的不好,我没这感觉,可能文字看的不仔细吧。

有志青年必读

如果你是一个 C 程序员,你想过这些问题吗:空指针到底是什么?你调用 malloc 时,系统做了什么?fork 是怎么实现的?如果你很好奇,如果你是一位有志青年,你可以看看这本书。操作系统是什么?操作系统其实是运行在硬件上的一个程序,这个程序的客户是应用软件,如:office,shell,等等。从这个角度来看,操作系统其实没那么神秘,无非是屏蔽硬件的细节,给上层的应用软件提供方便操作的接口,当然操作系统由于其处于软件系统的底层,对性能要求极为苛刻。操作系统给应用软件提供了访问硬件资源的接口,不同应用软件访问硬件资源的需求又各有差异,如何能公平的满足这些需求?从这个角度来看,操作系统内部是非常复杂的。本书逐个分析了 linux 内核的几个模块:进程调度,内存管理,文件系统,I/O 设备。单单某一个模块就非常复杂,而这些模块之间有错综复杂的关系,所以想独立的分析某个模块而不牵扯其他模块是很困难的,这也是阅读本书的困难之处。比如说内存管理模块,要给内核本身提供内存分配的接口,用于内存本身的管理,文件系统缓存等等,也要给应用程序提供内存分配接口,内核认为内核本身申请内存,那一定是有足够理由的,所以会优先满足,而应用程序的申请往往会尽量延迟满足,除非你要访问那个内存单元,否则你得只是看起来拥有一块内存而已。应用程序使用内存可能是一次申请一大块,内核不能一下子就把这么多内存都拿出来,万一应用程序申请了不用怎么办?万一应用程序浪费怎么办?所以内核会先给应用程序一个线性地址范围,当应用程序访问那个内存单元时,才把一个线性地址映射到真正的物理内存。当然频繁申请/释放内存的情况也是有的,对于这种情况,内核利用了对象池技术,保证这种访问行为的性能。当然复杂中也有简单,有一些核心思想是很容易理解的:性能很重要,对普通应用是这样的,对内核更是,所以,能用缓存都用缓存,如:内核充分利用 CPU 的一级/二级缓存,并且为 I/O 设备做内存缓存。当然节约空间也很重要,所以 linux 内核使用了大量的位操作,用位而不是字节以便节约空间。这本书不仅能给带我们浏览 linux 内核的工作原理,也能向我们展示大量的编程技巧:如何优化 if 判断、如何利用位运算、如何写换行宏、如何把一个结构加入多个链表等等。linux 内核源代码从最开始的 1 万行,到现在发展为几百万行,要想通读下来基本上是不可能的,这本书只截取了部分重要的数据结构和极少数的重要的代码片段。本书的写作风格我不是很喜欢,基本上就是列出一个数据结构/一个内核函数,后面给出一大段分析,读起来很枯燥,段落之间连贯性不强。书名是“深入理解 linux 内核”,其实这本书没那么深入,只要有一点 C 语言的基础就能大概读懂,对内核的各个模块也没做深入的分析,基本就是给代码做注释。如果你是搞嵌入式系统开发的,那你应该知道读那些章节,如果你是一个普通的应用开发者,建议你看看内存管理和进程调度这几个章节,收获应该不小。


 深入理解LINUX内核(第三版)下载 精选章节试读


 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024