1《LINUX程序设计》 基础很重要 2《UNIX环境高级编程》还是基础 ,如果你是搞UNIX/Linux环境下的应用程序编程,那么就看
3, 《Linux内核设计与实现》
这本书讲解浅显易懂,全书没有列举一条汇编语句,但是给出了整个Linux操作系统2.6内核的概观,使你能通过阅读迅速获得一个overview。而且对内核中较为混乱的部分(如下半部),它的讲解是最透彻的。对没怎么深入内核的人来说,这是强烈推荐的一本书。
翻译:翻译水平、负责任程度都不错,但是印刷存在一些错误。买了此书的朋友可以参考我在Linux高级应用版的《Linux内核设计与实现中文版勘误》:
http://bbs.chinaunix.net/forum/viewtopic.php?t=541234
另外,此书2005年有了第二版,目前尚无中译本面世
4《Linux内核源代码情景分析》上、下
本书是基于2.4.0内核的,比较早,也没听说会出第二版。上册讲解内存管理、中断、异常与系统调用、进程控制、文件系统与传统Unix IPC;下册讲解socket、设备驱动、SMP和引导。关于这套书的评价褒贬不一,我个人认为其深度是同类著作中最优秀的。本书基于Intel IA32体系,由于厚度大,很多体系上的知识都捎带讲解了,所以如果你想深入了解内核的工作机制而又不非常熟悉Intel CPU的体系构造,本书是最合适的。缺点是:版本较老,没有TCP/IP协议栈部分(它讲的socket只是Unix域协议的),图表太少,不适合初学者入门
5, 《深入理解Linux内核》第二版
此书C版的converse兄送了我一本第一版,因此就没买第二版,比较后悔。因此只就第一版说一说,第一版基于2.2,第二版2.4 。我见O‘Reilly官方主页上说第三版的英文版将于2005年11月出版,也不知咱们何时才能见到。此书图表很多,形象地给出了关键数据结构的定义,与《情景分析》相比,本书内容紧凑,不会一个问题讲解动辄上百页,有提纲挈领的功用,但是深度上要逊于《情景分析》
6, 其它的几本书。
i 《Linux内核源代码完全注释》是同济大学的博士生赵炯的著作,讲解0.1Linux内核,我没买也没看,有看过的朋友说一说。ii 《Linux设备驱动》(第三版) (偏硬件)
《精通linux驱动程序开发》 (偏软件)如果做Linux下设备驱动程序开发,就看 iii 《orange‘s 一个操作系统的实现》最能完整理解操作系统,虽然是把minix和linux融合一起了,做成一个几十k的操作系统,个人认为是入门的首选。
linux内核学习书籍