zoukankan      html  css  js  c++  java
  • 转了一圈,再读LKD

    这些年看了不少内核方面的书,感觉还是 Robert Love 所著 LKD 《Linux Kernel Development》在原理方面讲述得更为透彻一些。有人说这本书“浅显易懂”,某不以为然,这本书的确“易懂”,但并不“浅显”。要把纷繁复杂的内核写得“易懂”是很不容易的,很考验作者的表述能力。

    与LKD相比,Wolfgang Mauerer 所著《Professional Linux Kernel Architechture》则是内容非常全面的大部头,全书1370页,面面俱到。但这本书读起来感觉不爽,似乎内核的每个方面都谈了一下,但都不太透彻,有种隔靴搔痒和罗列事实的感觉,文字干巴巴的,不如LKD讲解得那么生动。把这本书当字典,有问题的时候查一下,也还不错。这本书最出彩的地方是它的附录,尤其是附录C,重点讲了GNU C编译器内核的数据结构与技巧,这部分内容很值得一读。

    内核方面的另一部经典是《Understanding the Linux Kernel》,写得也非常好,也是个大部头,942页。不过我这里只有chm格式的电子版,我最讨厌的格式。早年曾经买过翻译过来的纸版,现在不知道扔到哪里去了,那时候很傻很天真,很难找到英文的原著,读翻译过来的书,读不懂以为自己水平不济,其实是翻译的有问题。不过仔细想想也不能全怪翻译,英文原著读多了,设想若是自己翻译也好不到哪儿去,有些术语,翻译成中文总觉得不对味儿。比如Context译成“上下文”就很不好,拗口又难以确切表达原意,译成“语境”似乎好些,但又不太对,毕竟不是在写文章而是在写代码,也许应该译成“码境”?翻译是需要好的中文功底的,前清的秀才们死绝了以后,中文科技词汇的翻译总是赶不上老外们的“语言创新”,类似“代数”“正弦”之类的译法,也只有前清的秀才们能想出来。现在计算机方面的新著每年都有大批面世,有能力读懂的人没时间去琢磨翻译,所以只剩下一些老师带着几个似懂非懂的研究生“攒译著”,几个人每人译一章,前后的术语都统一不起来,这种译著,能读懂的才是神仙。好在现在电子版的英文原著铺天盖地,很容易入手。混IT这一行,英文能力真的很关键。

    驱动程序方面有两部经典,一本是 Sreekrishnan 所著《Essential Linux Device Drivers》,另一本是LDD《Linux Device Drivers》,LDD更容易读懂,但ELDD内容更全面。还有一本 Jerry Cooperstein 所著《Writing Linux Device Drivers》,其中的课后练习很值得做一做。

    内核方面的书籍,国人也有不错的著作,任桥伟的《Linux 内核修炼之道》很值得一读,作者的系列帖子《Linux那些事儿》诙谐幽默,拥趸不少。

    驱动程序方面,宋宝华所著《Linux设备驱动开发详解》也不错,作者还自己设计了一套LDD6410开发板,搞嵌入式开发的话,这本书还是值得一读的。

  • 相关阅读:
    连接数据库及出现System.AccessViolationException错误的解决方法
    WCF REST 工作总结
    jquery easyui 扩展验证
    正则表达式语法
    SQL select语句执行顺序
    添加头文件afxwin.h后引起异常的解决办法
    imagej基本操作
    医学图像处理(一)
    灰度图像的自动阈值分割(Otsu 法)
    关于glog使用中遇到的问题
  • 原文地址:https://www.cnblogs.com/brep/p/4278265.html
Copyright © 2011-2022 走看看