关于linux内核的若干本书
以下是几本我在面试之前读过的linux类书籍,作一下简单的点评方便参考:
1: linux内核完全注释,赵炯版
这本可以说是经典教程,好处显而易见是紧贴源码,容易理解。但缺点是代码太老实用价值打折。
还有一个优点,就是网上有pdf下。
推荐程序3星。
2: 深入linux内核 (O’Reill版)
这本书其实有点老了,基于2.6的版本,很多技术已经淘汰。但属于经典,基本概念还是清晰的,可以用于备面。在某多多上有盗版卖,加一本驱动才卖40。印刷质量不佳,但能用,真香。
这本书的缺点显而易见,从目录就可以看出来,讲解顺序有点乱,一章讲进程下一章就讲内存,看得有点费力。但是基本要点都讲到了,特别是最后附录里关于linux启动的过程是面试中经常考到的点。
推荐程度4星。
3: 奔跑吧 linux内核
这一系列有两本,没找到入门篇,这本是高级篇。使用的内核版本相对比较新,这一点要一分为二地看:一方面是复杂程度提高,引入了一些新的技术点,理解起来相对困难些;另一方面是比较与时俱进,紧贴时代,而且书中每章节前面都有思考题,感觉比较适合备战一族,不过个人感觉那些题真的有难度。
因为太新,直接买价格辣手,再加上急用,于是找了个e书贩子,花了几块钱搞到了电子版。
4: linux环境编程: 从应用到内核
这本对于进程管理讲得还是比较全面的但是没有内存管理。网上能找到电子版。
推荐程度4星。
5: linux 设备驱动程序(O’Reilly版)
关于这本书真的不想多说些什么了,感觉不太能看得下去。或者是硬着头皮看完了之后脑子里没留下啥印象。内容里面关于内核的部分和上面那本oreilly的有重复。
推荐程度:2星。
6: linux 设备驱动开发详解 (宋宝华版)
宋宝华大名不用多说,以前在公司还请到过来开培训,这本书也是那时发的。这本书的好处在于套路比较大路化,讲得比较浅显易懂。USB和 PCI啥的都提到了。缺点是讲得不够深入,比较泛泛。如果是面存储相关的公司,像恶魔城、米高森美啥的,要找PCIe的协议啃一下。
推荐程度:4星。
最后奉上压箱底的宝图:
总结一下,如果是面Linux内核相关的职位,2、3、4值得仔细学习一下,时间充足还可以过一遍1。
如果是面驱动开发职位,推荐2、4、6。
同时辅以源代码阅读(可在线查也可下载下来)。