陈莉君Linux内核之旅

您的位置

《Linux内核完全剖析》书评之(一)—作者

推荐给好友
打印
加入收藏
文章出处:与非网 更新于2009-08-14 00:19:12

 《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的运行机制。此后市面上开始出现Redhat 5.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网站获取。

 

发布广告