linux源代码分析

时间:2024-12-27 09:42:07编辑:分享君

怎样使用Linux的源码

Linux源代码阅读方法 Linux的源代码是很庞大的,如果没有一个好的方法是很难能够有一个比较高的效率的。所以我首先要写的就是我在阅读linux源代码的时候所采用的方法。希望会对大家有所帮助!


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


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


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


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


有没有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比发生了很多显著改善,应该学习的。  全书内容博大精深,不是非常好懂,对细节问题描述比较清晰。但是感觉对内核的整体感觉不够强。另外缺少网络部分的分析。觉得不是很适合初学者。  5.《Linux内核源代码分析》  点评:面对中高级,这本书很好,对了解操作系统是一本不可多得的好书。  6. 《LINUXKERNEL技术手册》  参考手册,很薄,值得一看。  7.《深入Linux内核架构》  这本书针对的是比较新的内核版本2.6.24;内容比较全面,深入浅出。  如果没有对Linux内核的初步结构的认识,那么会看得比较吃力。建议可以一边去翻在国内已经闻名已经久的四本Linux内核著作(《Linux内核原代码情景分析》、《Linux内核设计与实现》、《深入理解Linux内核》、《Linux设备驱动程序》),再一边看这本书,把这本书当作一个补充或者当作一个内核框架图谱说明书来阅读,收效会更好。  8.《Linux内核完全注释》  主要描述和注释了Linux0.11内核全部源代码。对于初学Linux内核操作系统的人来讲,该书能够引领读者快速入门,并且能全面了解一个简单操作系统的工作机理。对于进一步学习现在的Linux内核具有非常大的指导作用。对于学习嵌入式应用的技术人员来讲,通过《完全注释》一书的学习也能迅速融入嵌入式应用领域。  9.《Orange S:一个操作系统的实现》  从只有二十行的引导扇区代码出发,一步一步地向读者呈现一个操作系统框架的完成过程。


上一篇:2009mkmf颁奖典礼

下一篇:没有了