红联Linux门户
Linux帮助

【转贴】Linux源代码阅读方法

发布时间:2005-07-31 20:52:14来源:红联作者:流羽
引用:
Linux的源代码是很庞大的,如果没有一个好的方法是很难能够有一个比较高的效率的。所以我首先要写的就是我在阅读linux源代码的时候所采用的方法。希望会对大家有所帮助!


首先,我找了几本分析linux源代码的书。有一本关于linux源代码分析的书是必须的,因为没有人能在第一次阅读linux源代码的时候能够很好的理解他,甚至有了书籍也不一定能很好的理解他。我找到了《linux源代码完全注释》和《linux源代码情景分析》。其中,《linux源代码完全注释》是一个对早期的linux内核源代码的分析,而《linux源代码情景分析》是对2。4版的内核源代码进行了分析。实际上很长一段时间我只是在看这两本书。


接下来,我并没有直接去仔细的去研究这两本书,而是先花了一段时间通读了一遍。这样做的目的就是对linux有一个整体的认识。我在这一步里,大体上了解了 linux源代码中大多数文件的作用。这样做会对以后的阅读有很大的帮助。如果这一步做不好,你在以后的阅读中会感觉到很大的困难,这种困难可能会使你丧失阅读下去的信心。因为,你会发现你根本不知道他在讲些什么,即使有书籍的帮助。


然后,我们就可以开始我们的阅读源代码的激动人心的时刻了!但是应该注意的是,我们阅读源代码应该有一个固定的顺序。而不应该翻到那儿看到那儿!一般按照书上的顺序就可以了。但是很不幸,好像每本书的顺序都是不一样的!这样我们就应该按照我们自己的具体情况来选择一种。我的建议是:如果你的数据结构学的很好的话,你就先读那些内核数据结构,例如进程控制块等等。但是,如果很不幸数据结构学的不怎么样,甚至根本就是不怎么地,那么就以引导程序开始阅读,以系统的引导为主线一直读下去。读boot文件夹里的文件,应该注意的是,你应该有一定的汇编语言的知识,不然你很难能真正理解里面的内容。我读这儿的时候就专门补习的汇编语言的知识。然后是init里面的 main.c文件,这儿是一个汇聚点。这个文件就好像一栋大楼的大厅,我们要从这儿走到这栋楼的个个部分。我们下一步就是按照main中的顺序来阅读整个 linux内核的个个部分,这些部分包括了linux源代码的绝大部分内容。我就是按照后者来阅读的,因为我的数据结构基本上就是白板。很不幸,直到现在我还没有完全阅读完linux内核早期版本的源代码。也就是说,我对于linux内核源代码的阅读方法的经验就只有这些了。


最后,我还想说的是,如果你有时间的话,可以阅读一下近期的内核版本中的相应的文件,看看有什么变化,这样会加深对linux内核的理解!
文章评论

共有 8 条评论

  1. 玩笑类 于 2009-08-17 10:25:56发表:

    还没准备开始

  2. toprui 于 2009-08-17 09:40:39发表:

    wr

  3. 文义德 于 2009-08-07 19:22:35发表:

    好老的贴....

  4. Linux-MJ 于 2009-08-07 19:18:22发表:

    谢谢分享经验!

  5. kidd1207 于 2009-05-05 16:12:31发表:

    多谢楼主,,新手报到了..(o):tx

  6. dingjing 于 2009-05-05 15:30:38发表:

    谢谢分享,正准备读源代码呢

  7. Cynthia_Qu 于 2008-12-18 20:08:12发表:

    路过,踩踩。

  8. hbf 于 2008-12-17 17:56:20发表:

    谢谢斑竹,我把这些话记下来了,希望我能完成Linux内核的学习!