《Linux内核完全剖析-基于0.12内核》一书出版之后,机械工业出版社编辑希望我就此书抽空写一个书评。在我拿到这本书之前,尽管我已知晓作者写的
基于0.11内核的书,但因为99年我带领学生阅读源代码时,直奔2.0内核,之后历经过2.2,2.4,2.6内核的变迁,而我现在的学生总是愿意查看
最新版本的内核,因此,对于低版本的内核从心里有一种抵触情绪,认为那是一种过时的技术。
实际上,在我们早期阅读源代码的过程中,常常碰到一些难以捉摸的代码或语法,大多数时候,我们去Linux内核邮件列表(LKML)上去寻求答案,那样的
答案,的确解了一时燃眉之急,但,这犹如在森林中探路,磕磕碰碰,尽管一条小径踏出,可后来者,依然要在费时费力中探索。那时,我有很多的设想,一是写一
本系统介绍AT&T汇编的书,二是,写一本GUN
C编程的书,三是写一本汇编、C以及底层硬件相结合应用的书,源代码取自Linux内核。这样的设想曾在脑海回绕多遍,但,最终,知晓其工作量之大,涉及
面之广,非我毅力达及范围.
当我再次打开《Linux内核完全剖析-基于0.12内核》一书,阅读前几章之后,有一种豁然。这种厚重的知识积累,非一朝一夕,知晓作者曾经的知识积累
经历,或许,能为读者打开一副立体的画卷。就我写书的体会而言,一本书的背后,抛却了太多无法纳入书中的内容。一封Email发给赵炯,很快得到他的回
复:
我本科学的是电信专业,研究生才开始接触和学习计算机(PC/XT),攻读的是计算机通信方向。88年硕士毕业后就留校于上海铁道学院机械系任教,一直从
事计算机基础方面的教学工作。两年后停薪留职去深圳一家港资软件公司工作,从事了近两年PC机底层NOVELL网兼容网络操作系统的研制和开发工作。其后
回校边教书边从事计算机软硬件开发和商业活动。98年开始攻读博士学位,方向是计算机网络协议分析,2002年博士毕业后于同济大学机械学院机械电子研究
所从事教学和科研工作。主要教授计算机通信和嵌入式开发应用的相关课程。
对Linux操作系统的爱好始于自己硕士研究生后期和毕业后对UNIX操作系统的兴趣。当时在学校图书馆无意中借到了一本英文版《Design of
UNIX Operating System》,便开始自学起来,后来在学校顾伟楠老师的帮助下搞到了UNIX
V6的源代码,于是就开始着迷于研究和分析源代码。期间收集了不少UNIX相关的资料,主要包括书籍《MINIX操作系统设计与实现》和能够运行于PC机
上的XENIX操作系统和AT&T的SYSTEM
V操作系统,安转运行过多种PC版本的UNIX克隆系统。由于V6运行于PDP-11系列机上,而我们又没有试验条件,因此在大致浏览过后就没有再深入学
习下去,而是去从事计算机软件和硬件商业活动了。不过,对操作系统的痴迷热情并没有减退。在随后一段时间内一直关注着有关UNIX系统的发展和国内研究动
态。其中,《计算机研究和发展》杂志社出版的一本有关V6剖析的专刊也让我获益匪浅,至今我还保留着这本专刊。
大概是在96年夏天,我在盗版碟片售卖点偶然(也是无意中)购得一张名为《》出的光盘,其中包括了完整的Linux1.0操作系统,当然也包括源代码。安
装在486的机器上试验运行了一下,发觉它就是UNIX系统的克隆,这让我非常高兴。我想这可能就是我第一次接触Linux的时间了。此后开始专研其源代
码,期间走了不少弯路,足足花了约3-4年时间才基本理解Linux的运行机制。此后市面上开始出现Redhat5.0、6.0等系统光盘,Linux操
作系统也开始在国内悄悄流行起来。不久自己对Linux的起源和发展历史有了兴趣,于是又开始到处收集相关的文字资料和软件(一直到现在该兴趣仍然很浓
厚)。
经过多年的关注和搜寻,已经得到了上GB的资料。由于收集到的这些有关早期Linux软件和文档等信息相对来讲比较完整,因此这些资料已经在几年前被
kernel.org网站作了镜像和备份(mirrors.kernel.org/oldlinux/)。在收集过程中得到过多位国外内核开发人员的帮
助,也得到过AST的协助(虽然他的MINIX与Linux早期有些过节)。
从学习UNIX原理到理解Linux系统的运作机制,自己的这段自学历程花了近10多年的时间。虽然并不是在不间断地学习UN*X,但自学期间所遇到的各
种困难和走过的很多弯路让我联想到其他Linux爱好者也可能遇到的境地。因此在博士毕业后的2-3年时间内,我花了一些时间专门注释了Linux
0.1x(0.95)内核代码,并根据收集到的信息重复了Linus所做过的MINIX下开发Linux内核的试验,同时开设了一个相关网站
(oldlinux.org)和论坛,为广大爱好者提供我收集的信息和注释的资料。后来应很多爱好者的要求,本人找到机械工业出版社,于2004年以书本
的形式出版了我注释的资料,即书《Linux内核完全注释》。由于看该书一定需要掌握或参考一些基本信息,因此在一年后又出版了添加过基础知识的《剖析》
一书。
0.12(或0.95)内核也是在2005年前就已经注释完毕,并在当年10月左右已经在台湾出版。此次在大陆出版有关该内核的书是为了提供一个既小巧又
更为稳定的内核供大家学习参考。通过研究Linux发展历史可以知道,0.12是Linus独立编制的较为得意的Linux内核。当时爱好者已经能在其上
运行自己开发的X窗口系统和简单联网程序。由于当时Linus认为0.12已经比较完善了,因此所开发的下一个内核的版本号就直接使用为0.95了。
以上仅是简单描述了我学习Linux操作系统的历程。其他有关Linux的早期信息可以直接从oldlinux.org网站获取。
一封朴素的Email,涵盖了作者从Unix、Minix到Linux的经历。在他踏实走过的每条小径上,我们读者去分享他曾留下的足迹!
阅读(2217) | 评论(0) | 转发(0) |