红联Linux门户
Linux帮助

linux内核学习感悟与建议

发布时间:2012-12-03 22:05:11来源:红联作者:sunlightboy514
我最近在学习linux内核,发现内核极其庞大复杂,尤其是其中的各种结构体,令人应接不暇。我刚开始看的是《linux内核设计与实现》,虽然书比较薄但是却很有份量,我感觉学习内核要首先建立起整体的构架,了解各主要部分的主要功能而忽略一些细节,不要刚开始就被细节给难住;当脑海中有了初步的结构在开始第二步,比较仔细的去理解个部分的功能与实现方法,并尝试这看看部分源码;第三步就是仔细分析各部分实现方法,最好时能将各个结构体的关系用图表表示,这样比较直观,试着品味其中的设计艺术;第四步就是读源代码,详细理解源码的执行过程与内存的分配。我目前也就是刚到第三步,后边的以后有了感悟再说。推荐几本书吧:《linux内核设计的艺术》----介绍Linux0.11内核从上电到系统运行并创建进程的比较详细过程,该内核相比2.6内核简单易懂,适合初学者。
文章评论

共有 29 条评论

  1. lifengnux 于 2014-08-24 20:48:06发表:

    现在也在工作需要研读linux内核,希望一起进步

  2. yan20140808 于 2014-08-12 11:01:08发表:

    正在看 《linux内核设计的艺术》,看到 开机启动时间的设置,但是不是很明白CMOS内部的时间是什么内容,为什么 要通过那种转换方式,不知是否有高人可以指点迷津~~

  3. 看我变5 于 2014-08-05 13:59:32发表:

    多谢分享

  4. ljhlinuxdriver 于 2014-07-31 10:06:54发表:

    高人

  5. rubin 于 2014-05-08 23:51:43发表:

    膜拜啊大神

  6. zjj2012 于 2014-01-02 09:59:30发表:

    赞一下

  7. wangwuster 于 2013-12-10 16:57:36发表:

    不明觉叼。就按楼主说得来了。

  8. xinyun123789 于 2013-12-07 09:06:01发表:

    高人啊, 受教了!!!

  9. 小子要买房 于 2013-11-03 17:40:26发表:

    楼主的方法很好??总整体到细节!!仰视以下??

  10. conan8737 于 2013-10-31 12:48:19发表:

    刚刚接触linux,感觉还有很长的路要走,多谢楼主指点

  11. simonduan 于 2013-10-26 22:21:16发表:

    受教了

  12. jinyin 于 2013-09-20 01:04:10发表:

    受教了

  13. a3539957 于 2013-08-13 16:27:18发表:

    经验之谈,不过我还是喜欢自己去学习找经验。 Thank you all the same

  14. snowlee 于 2013-08-03 17:39:28发表:

    9# sunlightboy514


    好,目前正在看0.11的代码,多指教

  15. farseerlee 于 2013-07-02 15:39:26发表:

    受教了!

  16. shiyun 于 2013-05-25 10:14:03发表:

    感谢分享

  17. liudehua_l 于 2013-03-19 16:42:46发表:

    项一下

  18. wuruixn 于 2013-01-26 00:54:00发表:

    经验之谈啊

  19. fengboy09 于 2013-01-08 21:00:48发表:

    学习了

  20. lvpeng9696 于 2013-01-04 21:03:26发表:

    受教了

  21. zsdolphin 于 2012-12-27 22:34:53发表:

    还有很长的一段路要走 仰视下楼主

  22. sunlightboy514 于 2012-12-20 15:51:53发表:

    8# limeina927

    内核从要求上分析,它需首先要对时间能够进行管理,所以就要求有时间管理的结构;其次,他需要响应中断,所以还需要中断管理结构吧,对应有中断向量表结构和中断服务程序;再次,它需要能操作内存,于是有了页这一结构,进而有了页读写与页保护管理结构;第四,他需要创建进程,于是有了进程管理与进程调度结构;第五,他需要读写硬盘,所以有了硬盘读写结构与写实保护机制;第五,它需要与用户交互,所以产生了shell进程以及GUI用户图形界面。.......
    这样一个简单的内核结构已经具备了。
    当然,如果要操作外部设备,少不了设备驱动及其板级支持包。如果包含上bios引导时的各种寄存器操作汇编代码就会更加完备了。
    以上只是粗略的分析,谈不上是内核结构 ,内核结构细分的话牵扯的太多。

  23. limeina927 于 2012-12-20 14:25:37发表:

    能大致描述一下内核结构吗

  24. gangfengmzl 于 2012-12-17 16:53:48发表:

    :sleepy:

  25. 月落金陵梦 于 2012-12-14 16:19:34发表:

    {:2_91:}

  26. liudehua_l 于 2012-12-13 21:34:41发表:

    高人,受教了,谢谢

  27. jerry_linux 于 2012-12-13 15:53:32发表:

    :49ab:1

  28. pythonner 于 2012-12-13 10:10:13发表:

    多谢分享,等楼主的感悟和心得!

  29. panaiec 于 2012-12-04 08:52:45发表:

    高人哈