蓉杠学习网

学习linux源码从何入手,linux源码讲解

大家好,今天小编关注到一个比较意思的话题,就是关于学习linux源码从何入手的问题,于是小编就整理了1个相关介绍学习Linux源码从何入手的解答,让我们一起看看吧。

  1. 需要多久才能看完linux内核源码?

需要多久才能看完LINUX内核源码?

老铁,我也在学习linux内核,我说一下我的想法吧。

我曾经很早的时候就想学习linux内核了,当时准备啃书,并对着代码看,热情了一阵子,可由于太深奥就不了了之了。

最近工作原因,涉及到内核文件系统的研究,重新学习内核,感觉比较容易弄懂了。为了避免走弯路,我建议:

1. 不要一来就对着内核源码啃。内核源码压缩现在都一百多M了,有生之年你也别想全看完弄懂,各种算法,诡异的写***弄晕你。

2. 先找一些内核实现原理的书来大致看一遍,这个时候不必深究细节,不懂的就做一些问题清单记起来。

3. 内核由几大模块构成,你要大概了解它们的相互关系。例如进程中就记录打开的文件信息,进程的地址空间主要内存管理模块来分配和管理内存。

4. 选择一个模块作为切入点,通过实验对内核下手!我是从文件系统这块开始的,比较简单这次没有搞晕我了。

5. 必须动手实验,光看书是没用的!!!你亲自通过加打印,或断点调试跟踪代码调用路径,通过自己写代码实现一些功能后,你自己会豁然开朗,信心大增了!

希望我的回答对你有用!

如果你的目标仅仅是看完,内核源码2000+万行,你给自己你个目标每天看多少行吧!而如果不要完全看懂这二千万行代码,恐怕要花掉你这一辈子光阴,都不一定能达成目标。

我敢说,没有一个人把最新linux内核代码看完过,即便linus本人,也不会把内核每个部分了解得很清楚,太庞大了。

作为一个读过2.4代码和ucos II内核的过来人,读代码的目的是什么?是为了了解一个内核各个模块是如何具体实现的,比如内核如何引导的,如何从实模式切换到虚模式,内存如何分配管理的,文件系统是如何实现的,进程是如何管理调度的,中断又是如何实现的,驱动模型是什么样子。学习内核,最好结合前人的分析、一些书籍,在自己结合代码看,这样梗高效,目的是为了理解机制,和代码实现,不需要理解每行代码。国内计算机专业,理论和实践脱节了,尤其操作系统这类基础课,讲了进程管理,却不会讲具体如何实现,不过大学老师没几个能结合实际内核讲,都是照本宣科。

建议先读读ucos,代码量小,可以很深入了解进程和内存管理的实际实现,和各种锁的实现机制,尤其它进程调度算法,太经典了。

究竟要多久才能看完Linux内核源码,这取决于你是否计算机大类专业的毕业生(或者说你学过操作系统原理、计算机网络、计算机组成原理、汇编语言程序设计数据结构等基础课程),也需要根据你学习的目的来确定:

第一、如果你只是希望大致了解一下Linux操作系统的设计原理等基础知识,那么对照Linux 2.4的内核源码,结合操作系统原理(普通教科书,比如汤子瀛编著的)、LINUX操作系统原理与应用(陈莉君编著)等书籍,大约半年就能够有个大概了解。

第二、如果你希望将来做Linux系统上面的应用开发,那么对照Linux 较新的内核源码,结合LINUX操作系统原理与应用(陈莉君编著)、Linux程序设计(第4版)、Unix环境高级编程等书籍,大约一年左右就能够上手。

第三、如果你希望将来做Linux系统的内核开发,那么对照Linux 较新的内核源码,结合Linux内核设计与实现、Linux Device Drivers等书籍,大约一年以上就能够上手。

到此,以上就是小编对于学习linux源码从何入手的问题就介绍到这了,希望介绍关于学习linux源码从何入手的1点解答对大家有用。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。 转载请注明出处:http://www.rongung.com/post/23852.html

分享:
扫描分享到社交APP