1.4 进阶阅读材料
要知道Linus是如何开创这个美妙的系统并如何将其发扬光大,请参见他的自传《Just For Fun》;从这本书中,可以领略Linux的基本文化。也可以看到Linus是如何从一个几个月足不出户的书呆子,成为一个庞大的开源系统的优秀领袖的过程。
要完全了解Linux系统,最好的方法是阅读源代码。像Linus所说的“Read the Fuck Code”。Linux的源代码可由Linux官方网站获得,地址是http://www.linux.org。不过要注意的是,对最新版本Linux Kernel的简单分析显示,源代码数量超过了1千万行,除了注释与空白行之外的代码超过600万行,其中绝大多数是C语言代码。可以在源代码的顶级目录中使用“find -name"*.[chS]" | xargs cat | wc -l”来获得源代码的行数。阅读代码一方面可以深入学习领略Linux内核精妙的设计,另一方面如果对于Linux的理解足够深入的话,也可以顺便修正一下代码中的Bug,并将其提交给Linux.org。
阅读源代码,可由这本书入手《Linux 0.11内核详细注释》,该书作者是赵炯博士。这本书以第一个功能比较完善的0.11版内核源码为例分析了Linux内核的实现。选择0.11版的理由是其代码结构已经类似于现代版本,而且总代码只有1万多行,要通读比较容易。赵烔博士还在其个人网站上提供了该书PDF版的免费下载,有兴趣的读者可以去如下网址http://oldlinux.org/index_cn.html下载。
当然,0.11版的内核缺少许多现代操作系统的特性,如果一定要从最新的2.x版内核看起,可以参考如下书目,当然要阅读这些比较深入的书籍,扎实的C语言功底是必不可少的。
● 《Linux Device Drivers,2nd Edition》;
● 《Understanding the Linux Kernel,2nd Edition》;
● 《Linux内核源代码情景分析》;
● 《Linux内核2.4版源代码分析大全》;
● 《Linux Kernel Development》。