sunplusedu2012a 发表于 2012-11-30 12:10

如何高效学习linux内核

很多人在学习linux内核过程中容易犯的一个极其严重路线错误:对linux几乎不懂就开始学习内核。我个人推荐一个学习路线是:使用linux—〉linxu系统编程开发---〉驱动开发和分析linux内核。而我差不多相反,实际上你不会使用linux也可以学习内核,但是如果你懂了这些东西学习更有效率。  如果你是喜欢钻研的那你进入内核会满足你的欲望。同时对你以后的嵌入式系统的开发有很好的影响。如果你想从事嵌入式linux系统开发,最好对内核有所了解。如果仅仅是做应用开发没有必要。我打个比喻:c、c++、java等语言是武林中的某个武林派别的话,如什么拳法,什么刀法等,那么linux内核应该是一个人的内功的反应。  看内核期间是个非常痛苦的过程,看情景分析有种在森林中找出路,其间我组织了一些同学学习内核,几乎没有几个能**下来的。我认为我是**下来了。情景分析在看第一、第二遍是几乎没有摸到门道,我分析有三个方面的原因:1、自己的基础差,这是最关键的。2、内核本身很难。3、没有交流和高人指点。到了第三遍时我才摸到门,才差不多知道个linux的大概脉络,很多细节也是稀里糊涂。  下面是我推荐的学习linux内核的重要书籍:  Linux内核  1、《深入理解Linux内核》(第三版)  2、《Linux内核源代码情景分析》毛德操 胡希明著

lelee007 发表于 2012-12-1 23:52

有软件功底的话,把源码情景分析多看两遍就差不多可以研究kernel了

brandnew 发表于 2012-12-3 22:10

从init/main.c开始哈。

zoomone 发表于 2012-12-12 23:42

brandnew 发表于 2012-12-3 22:10 static/image/common/back.gif
从init/main.c开始哈。

我是从Head.S开始的,可是到init/main.c就看不动了。linux是由多个子系统拼组起来的庞大系统,而main.c承担了各个子系统的初始化工作,要是能将mian.c彻底搞明白基本要对各个子系统有所了解,这很不容易。所以,我现在从单个子系统学起。:lol

江枫渔火 发表于 2012-12-13 15:15

还有很长的路~唉,都老了

梅花望青竹 发表于 2012-12-14 22:38

才入门而已

zh5202 发表于 2012-12-18 12:43

才开始,路还很漫长啊

scb 发表于 2012-12-18 13:27

08只能不断看代码,反复看书

scb 发表于 2012-12-18 13:39

08aa只能不断看代码,反复看书

scb 发表于 2012-12-18 13:43

08宪章多写代码

qq1959837802 发表于 2013-1-3 13:09

还没开始,才学到linux环境编程

qinhuan7 发表于 2013-1-4 21:10

yanwenbin33 发表于 2013-2-4 18:31

只是开始看《深入理解linux内核》,看第一遍呢,能看懂的不多啊!源代码还不敢看。想先了解内核怎么工作的,再看源码怎么实现相应功能的,不知道这样行不行啊?

zxw_linux 发表于 2013-2-17 15:54

我觉得LS的方法是可以的

Mr_driver 发表于 2013-2-19 12:42

真相只有一个,答案尽在源码、、、

fpyelech 发表于 2013-2-23 16:33

<<Linux内核设计与实现>>   这本书怎么样?

outstanding 发表于 2013-7-15 09:53

黄昏初见 发表于 2013-7-21 20:22

请问楼主,你看的是这几本书,还是内核源代码?

看云听歌 发表于 2013-7-22 18:02

第一步看啥,鸟哥的linux私房菜基础怎样:lol
页: [1]
查看完整版本: 如何高效学习linux内核