linux中c学习书目推荐

C/C++木马编程进阶与实战
C语言编程艺术
8年经验者写C++的心得体会(文章)

linux网络编程
置顶] Linux网络编程必看书籍推荐
分类: TCP/IP协议 Linux环境编程 2011-08-17 12:27 17313人阅读 评论(15) 收藏 举报
目录(?)[+]

C语言经典著作导读 Linux内核学习四库全书


首先要说讲述TCP/IP的书很多,其中有3泰书很全。

分别是《TCP/IP详解》三卷本,《用TCP/IP进行网际互连》三卷本,《TCP/IP指南》+《IPv6》四卷本

其中TCP/IP详解的作者还写了另外2本经典著作,《Unix环境高级编程》,《Unix网络编程》

作者W.Richard Stevens个人网站 https://www.360docs.net/doc/4712218359.html,/

大师作品部部经典,可惜1999年去另一个世界维护Unix了。。。。。。。。。



说明:搞Linux网络编程的,想学TCP/IP的一定要看大师W.Richard Stevens这六本书,基本上六本书看完基础也就搭好了。


W.Richard Stevens(1951-1999),国际知名的UNIX和网络专家,受人人尊敬的作家。他的著作有《UNIX网络编程》(两卷本),《UNIX网络高级编程》,《TCP/IP详解》(三卷本)等,同时他还是广受欢迎的教师和顾问。

Stevens先生1951年生于赞比亚,早年,他就读于美国弗吉尼亚州的费什本军事学校,后获得密歇根大学学士、亚利桑那大学系统工程硕士和博士学位。他曾就职于基特峰国家天文台,从事计算机编程。

Stevens先生不幸病逝于1999年9月1日,他的离去是计算机界的巨大损失。

W. Richard Stevens对我们这些学习Unix/Linux的程序员的影响是巨大的,每每捧读老先生的书都会被感动,不仅被他那丰富的知识所折服,更是被他那一丝不苟,严谨治学的态度所倾倒。“他不清楚的,他下决心要弄明白。他知道的,他要努力传授给所有感兴趣的人们!”这就是我们的Stevens!一生能有其一部力作可谓无憾矣!而况七部乎?

一位朋友说:“Stevens的书一定要全部认真地去读的。”我想他是对的。最后,对Stevens在天英灵说声:谢谢您!想必这时他正坐在上帝身边,继续从事他的写作。

W. Richard Stevens Biography
https://www.360docs.net/doc/4712218359.html,/start/bio1.html

W. Richard Stevens' Home Page
https://www.360docs.net/doc/4712218359.html,/start/

W. Richard Stevens on Wikipedia
https://www.360docs.net/doc/4712218359.html,/wiki/W._Richard_Stevens

Guru of the Unix gurus
https://www.360docs.net/doc/4712218359.html,/tech/feature/2000/09/01/rich_stevens/index.html

----------------------------------------------------------------------------------------------------------------------------------------------------------------

《用TCP/IP进行网际互连第一卷:原理、协议与结构(第五版)》

《用TCP/IP进行网际互连第二卷——设计、实现与内核》

《用TCP/IP进行网际互连第三卷:客户-服

务器编程与应用(Linux/POSIX套接字版)》



说明:这个系列也是三卷本,和《TCP/IP详解》三卷本一样也是经典,区别是 网际互联 偏重理论而 详解偏重实际。

----------------------------------------------------------------------------------------------------------------------------------------------------------------

如果你看了上面2套TCP/IP的书6本还不尽兴,还有一套书可以作为提高或者查缺补漏



虽然与W.Richard Stevens TCP/IP详解 有一定的差距,但仍不失为下一代IPv6网络的参考工具书,值得收藏学习



----------------------------------------------------------------------------------------------------------------------------------------------------------------



《TCP/IP协议原理与应用(第3版)》



写的非常好,建议一定要买!可作入门,但即使是高手,也应看看,学习作者分析问题的方法和思想。其实是无数次印刷了,经典不能错过。

----------------------------------------------------------------------------------------------------------------------------------------------------------------

《TCP/IP高效编程 : 改善网络程序的44个技巧》



很明显属于技巧类的书,同样这本书很老,但是还是很有参考价值,这本书中大量出现Unix网络编程的提示,可以作为其补充。

----------------------------------------------------------------------------------------------------------------------------------------------------------------

《TCP/IP架构、设计及应用(Linux版)》



谈不上经典,可以补充阅读

----------------------------------------------------------------------------------------------------------------------------------------------------------------

《linux网络体系结构:linux内核中网络协议的设计与实现》



出版社: 清华大学出版社
装帧: 平装
出版年: 2006-7
又名: The Linux Network Architecture: Design and Implementation of Network Protocols in the Linux Kernel
书名: Linux网络体系结构
说明:翻译的很不好,建议看原版,可以下电子版。

一本在kernel实现网络功能的基础书籍,最好还是看英文版的,翻译的实在太烂了。有条件的还是看原版吧,没办法啊,中国的此类书籍基本上落后老美3-4年。结合linux源代码分析一书收获更多。一并把内核结构和各功能在内核中的关系也搞清楚了。


----------------------------------------------------------------------------------------------------------------------------------------------------------------

本人写的另外系列,配合一起看效果更好,因为C语言是语言,还需要到实际环境Linux中去用,而Linux环境下网络编程自然需要TCP/IP的知识:


Linux内核学习四库全书
分类: Linux内核 2011-07-05 14:12 5987人

阅读 评论(4) 收藏 举报
目录(?)[+]

C语言经典著作导读 Linux网络编程必看书籍推荐 (TCP/IP与Unix环境Unix网络)

关于内核学习我建议不要上来就读内核而是先了解内核的构成和特性,然后通过思考发现疑问这时再去读内核源码。即先了解概貌在读局部细节。而且内核分成好多部分,不要只是按照顺序去读,应该针对某一部分比如内存管理或进程管理横向读几本书,这样可以理解很全面。

Linux Kernel 四库全书
1. Linux内核设计与实现 Edition 2
2. Linux设备驱动 Edition 3
3. Linux内核源代码情景分析
4. 深入理解Linux内核(第三版)

1.《Linux内核设计与实现》


本书重在原理。适合入门的最佳图书。作者是为2.6内核加入了抢占的人,对调度部分非常精通,而调度是整个系统的核心,因此本书是很权威的。



2.《深入理解Linux内核》


此书比上一本多了些细节。是Linux内核黑客在推荐图书时的首选。写的比较简单易懂,适合刚刚接触LINUX内核的。
此书图表很多,形象地给出了关键数据结构的定义,与《Linux内核源代码情景分析》相比,本书内容紧凑,不会一个问题讲解动辄上百页,有提纲挈领的功用,但是深度上要逊于《Linux内核源代码情景分析》。





3.《LINUX设备驱动程序(第3版)》




这书强调动手实践!但它是讲解“设备驱动”的,不是最核心的东西,而且有些东西没硬件的话无法实践,可能更适合驱动开发的程序员吧

其中关于同步与互斥、内存分配的部分,感觉很不错。





4.《Linux内核源代码情景分析》



书很好,很经典,是浙大教授毛德操写的,可惜成书于2001年之后一直没有更新。分上下册。

很多是基于2.4内核讲解的需要注意。如果学习的话也建议学习2.6,2.6跟2.4比发生了很多显著改善,应该学习的。

全书内容博大精深,不是非常好懂,对细节问题描述比较清晰。但是感觉对内核的整体感觉不够强。另外缺少网络部分的分析。觉得不是很适合初学者。
上册讲解内存管理、中断、异常与系统调用、进程控制、文件系统与传统Unix IPC;下册讲解socket、设备驱动、SMP和引导。

本书基于Intel IA32体系,由于厚度大,很多体系上的知识都捎带讲解了,所以如果你想深入了解内核的工作机制而又不非常熟悉Intel CPU的体系构造,本书是最合适的。








===================================================

扩充阅读:

5. 《LINUX KERNEL技术手册》



参考手册,很薄,值得一看。



6.《深入Linux内核架构》



这本书针对的是比较新的内核版本2.6.24;内容比较全面,深入浅出。

如果没有对Linux内核的

初步结构的认识,那么会看得比较吃力。 建议可以一边去翻在国内已经闻名已经久的四本Linux内核著作(《Linux内核原代码情景分析》、《Linux内核设计与实现》、《深入理解Linux内核》、《Linux设备驱动程序》),再一边看这本书,把这本书当作一个补充或者当作一个内核框架图谱说明书来阅读,收效会更好。



7.《Linux内核完全注释》



此书出自同济一个博士--赵炯。

本书作者赵炯谈《Linux内核完全注释》和《Linux内核源代码情景分析》..
主要描述和注释了Linux 0.11内核全部源代码。对于初学Linux内核操作系统的人来讲,该书能够引领读者快速入门,并且能全面了解一个简单操作系统的工作机理。对于进一步学习现在的Linux内核具有非常大的指导作用。对于学习嵌入式应用的技术人员来讲,通过《完全注释》一书的学习也能迅速融入嵌入式应用领域。同样,该书也能作为阅读现代Linux内核源代码的一本参考手册使用。由于该书是对代码逐条进行注释的,因此也能作为深入学习C语言编程的参考书。另外,该书不仅配备有完整的Linux 0.11系统试验环境,而且本人还在一年前就在网上专门建立了一个针对该书的网站“https://www.360docs.net/doc/4712218359.html,”,专门开辟了一个讨论该书所涉及的Linux内核实现的论坛。目前该网站的内容已经被权威Linux内核发布网站https://www.360docs.net/doc/4712218359.html,全部作了镜像(https://www.360docs.net/doc/4712218359.html,)。

https://www.360docs.net/doc/4712218359.html,/index_cn.html

网站宗旨:

收集Linux从酝酿到开发初始版本有关的所有资料和信息(1991-1995);

重新建立起最古老的Linux可运行系统,这些系统在其它地方很难再找到了;

为初学者提供一个学习Linux内核基本工作原理的最简单方法。



本书新版:《Linux内核完全剖析--基于0.12内核》



2009年出的,很厚。



8.《Orange S:一个操作系统的实现》



作者:于渊

出版社: 电子工业出版社; 第1版 (2009年6月1日)

本书第一版2005年出版,这是第二版。

从只有二十行的引导扇区代码出发,一步一步地向读者呈现一个操作系统框架的完成过程。



_________________________________________________________________________



本人写的另外系列,配合一起看效果更好,因为C语言是语言,还需要到实际环境Linux中去用,而Linux环境下网络编程自然需要TCP/IP的知识:


相关文档
最新文档