深入理解LINUX内核

Daniel P.Bovet, Marco Cesati

出版时间

2006-04-01

ISBN

9787564102760

评分

★★★★★
书籍介绍
这书最招人喜欢,也最被人诟病的,恰恰是同一件事:它肯钻进细节。读者普遍反映,相比那本更“高屋建瓴”的经典,它把中断向量、irq_desc_t描述符、临界区、jiffies节拍这些内核里真正管事的机制摊开揉碎,概念反而更好上手;可代价是,2.6时代的调度、进程模型早已过时,CFS、O(1)队列这些新东西它讲不到,重版也赶不上内核演进的速度。于是它的位置很清晰:不是让你一次性读到底的工具书,而是有基础之后按需查、反复回的参考书。适合那些想知道“我的机器到底怎么运转”、愿意啃代码逐行剖析的人;也提醒后来者——翻译拖了后腿,想真懂,最好配上英文原版。
AI导读
核心看点
  • 逐行剖析内核代码,揭示Linux运行本质
  • 深入解析进程调度、内存管理及中断处理
  • 结合理论基础与Intel架构特性进行讲解
读者共识
  • 技术含金量极高,是理解内核的经典之作
  • 细节丰富但易过时,阅读门槛高且耗时漫长
  • 翻译水平参差不齐,多数读者推荐看英文版
精彩摘录
  • "中断(interrupt)通常被定义为一个事件,该事件改变处理器执行的指令顺序。"
  • "物理IRQ可以分配给32~238范围内的任何向量。"
  • "每个中断向量都有它自己的irq_desc_t描述符。"
  • "临界区是一段代码,在其他的内核控制路径能够进入临界区前,进入临界区的的内核控制路径必须全部执行完这段代码。"
  • "每个定时器都包含一个字段,表示定时器将需要多长时间到期。每个字段的初值就是jiffies的当前值加上合适的节拍数。"
  • "Linux的调度基于分时(time sharing)技术:多个进程以“时间多路复用”方式运行,因为CPU的时间被分成“片(slice)”,给每个可运行进程分配一片。"
  • "数据结构runqueue是Linux2.6调度程序最重要的数据结构。系统中的每个CPU都有它自己的运行队列,所有的runqueue结构存放在runqueue每CPU变量中。"
  • "当用户态进程请求动态内存时,并没有获得请求的页框,而仅仅获得对一个新的线性地址区域的使用权,而这一线性地址区间就成为进程地址空间的一部分。这一区间叫做“线性区”"
用户评论
太厚了,读完就是个煎熬
从力荐调到推荐,不是因为书,是因我没全读完。。。
好书是自然的,如果有基础的话,通读就没有必要了
没有LKD好,太细了
信息量极大,只是简单的过了一遍,大部分地方都是看完就忘了,到需要用的时候再翻出来执行阅读吧
非常好的内核著作,希望深入了解内核的同学不要错过。但是不建议作为入门内核的读物,因为讲得比较深,作为入门读物的话难度太大
我有第三版影印版
难啃
当作代码注释看
求书
收藏