`

[转]史上最经典的Linux内核学习方法论

 
阅读更多

史上最经典的Linux内核学习方法论

 

 

       待到山花烂漫时,还是那些经典在微笑。

  有关内核的书籍可以用汗牛充栋来形容,不过只有一些经典的神作经住了考验。首先是5本久经考验的神作(个人概括为“2+1+2”,第一个2是指2本全面讲 解内核的书,中间的1指1本讲解驱动开发的书,后面的2则指2本有关内核具体子系统的书,你是否想到了某某广告里三个人突然站起单臂齐举高呼“1比1 比 1”的场景?)。

  1.《Linux内核设计与实现》

  简称LKD,从入门开始,介绍了诸如进程管理、系统调用、中断和中断处理程序、内核同步、时

  间管理、内存管理、地址空间、调试技术等方面,内容比较浅显易懂,个人认为是内核新人首先必

  读的书籍。新人得有此书,足矣!

  2.《深入理解Linux内核》

  简称ULK,相比于LKD的内容不够深入、覆盖面不广,ULK要深入全面得多。

  前面这两本,一本提纲挈领,一本全面深入。

  3.《Linux设备驱动程序》

  简称LDD,驱动开发者都要人手一本了。

  4.《深入理解Linux虚拟内存管理》

  简称LVMM,是一本介绍Linux虚拟内存管理机制的书。如果你希望深入的研究Linux的内存管理

  子系统,仔细的研读这本书无疑是最好的选择。

  5.《深入理解LINUX网络内幕》

  一本讲解网络子系统实现的书,通过这本书,我们可以了解到Linux内核是如何实现复杂的网络功能的。(忘了声明下,我这列出来的书名是中文的,但是并不代表我建议大家去看他们的中文版,其中有的翻译的实在太??了,呵呵)

  这5本书各有侧重,正如下面的图所展示的那样,恰好代表了个人一直主张的内核学习方法:首先通过LKD或ULK了解内核的设计实现特点,对内核有个整体全局的认识和理解,然后可分为两个岔路,如果从事驱动开发,则钻研LDD,如果希望对内核不是泛泛而谈而是有更深入的理解,则可以选择一个自己感兴趣的子系统,仔细分析它的代码,不懂的地方就通过社区、邮件列表或者直接发Email给maintainer请教等途径弄懂,切勿得过且过,这样分析下来,对同步、中断等等内核的很多机制也同样会非常了解,俗话说的一通则百通就是这个道理。当然,如果你选择研究的是内存管理或者网络,则可以有上面的两本书可以学习,如果是其他子系统可能就没有这么好的运气了。

  内核社区

  最近几年,社区网站非常的热火,不过此社区非彼社区。

  Linux最大的一个优势就是它有一个紧密团结了众多使用者和开发者的社区,它的目标就是提供尽善尽美的内核。内核社区的中心是内核邮件列表(Linux Kernel Mailing List,LKML),我们可以在http://vger.kernel.org/vger-lists.html#linux-kernel上面看到订阅这个邮件列表的细节。

  内核邮件列表的流量很大,每天都有几百条消息,这里是大牛们的战场,小牛们的天堂,任何一个内核开发者都可以从中受益非浅。除了LKML,大多数子系统也有自己独立的邮件列表来协调各自的开发工作,比如USB子系统的邮件列表可以在http://www.linux-usb.org/mailing.html上面订阅。

  其他网络资源

  除了内核邮件列表,还有很多其他的论坛或网站值得我们经常关注。我们要知道,网络上不仅有**和凤姐,也不仅有犀利哥和韩局长。

        http://www.kernel.org/    可以通过这个网站上下载内核的源代码和补丁、跟踪内核bug等。

        http://kerneltrap.org Linux  和BSD内核的技术新闻。如果没时间跟踪LKML,那么经常浏览kerneltrap是个好主意。

        http://lwn.net/ Linux weekly news,创建于1997年底的一个Linux新闻站点。

        http://zh-kernel.org/mailman/listinfo/linux-kernel 这是内核开发的中文邮件列表,里面活跃着很多内核开发领域的华人,比如Herbert Xu,、Mingming Cao、Bryan Wu等。

 

转载链接:http://www.linuxeden.com/html/news/20120207/119951.html

分享到:
评论

相关推荐

    史上最牛的Linux内核学习方法论.doc

    一篇描述如何阅读Linux内核代码的文章, 适合不知道如何下手的新人.

    史上最牛的Linux内核学习方法论

    很好,覆盖全面.是学习内核,学习驱动编程的好资料

    史上最牛的Linux内核学习方法

    史上最牛的Linux内核学习方法

    史上最全linux内核配置详解

    史上最全linux内核配置详解。对于每一个配置选项,用户可以回答"y"、"m"或"n"。其中"y"表示将相应特性的支持或设备驱动程序编译进内核;"m"表示将相应特性的支持或设备驱动程序编译成可加载模块,在需要时,可由系统...

    Linux内核学习资料

    此Linux内核学习资料包中有Linux内核--网络栈实现分析(二)--数据包的传递过程(上).pdf Linux内核--网络栈实现分析(三)--驱动程序层+链路层(上).pdf Linux内核--网络栈实现分析(四)--网络层之IP协议(上)....

    Linux内核学习路径

    Linux内核学习路径 Linux内核学习路径 Linux内核学习路径

    关于linux内核学习 linux内核学习

    linux内核学习 Linus Torvalds本人是这样回答的:你必须使用过Linux。 这个……还是有点太泛了吧,我想下面几个基础可能还是需要的,尽管不一定必需: 1, 关于操作系统理论的最初级的知识。不需要通读并理解《操作...

    linux内核学习资料

    linux内核学习的经典书籍,内核、驱动学习

    Linux内核学习 Linux内核学习

    Linux内核学习 Linux内核学习 Linux内核学习

    linux内核裁剪论文

    一种面向应用的嵌入式Linux内核混合裁剪方法 嵌入式Linux中的关键技术研究 嵌入式linux系统的裁剪优化和测试技术 嵌入式Linux内核裁剪的具体过程和方法的研究 面向应用的嵌入式Linux裁剪方法研究与实现 基于调用图的...

    Linux内核学习四库全书

    \Linux内核学习四库全书.rar \Linux内核学习四库全书.rar \Linux内核学习四库全书.rar \Linux内核学习四库全书.rar \Linux内核学习四库全书.rar \Linux内核学习四库全书.rar

    linux内核编译原理

    linux内核编译2.6.39linux内核编译2.6.39linux内核编译2.6.39linux内核编译2.6.39linux内核编译2.6.39linux内核编译2.6.39linux内核编译2.6.39linux内核编译2.6.39linux内核编译2.6.39linux内核编译2.6.39linux内核...

    Linux内核分析方法谈

    Linux内核分析方法谈Linux内核分析方法谈Linux内核分析方法谈

    linux内核学习入门电子书合集

    linux内核学习必备,包含了三本电子书: Linux内核设计的艺术_图解Linux操作系统架构设计与实现原理 Linux内核完全注释 Understanding.the.Linux.Kernel.3rd.Edition

    LINUX内核经典面试题

    LINUX内核经典面试题 ,20) 如何加载、卸载一个模块? 21) 模块和应用程序分别运行在什么空间? 22) Linux中的浮点运算由应用程序实现还是内核实现? 23) 模块程序能否使用可链接的库函数? 24) TLB中缓存的是什么...

    《Linux内核修炼之道》精华版之方法论

    新书《Linux内核修炼之道》精华版中的方法论部分,博客blog.csdn.net/fudan_abc上部分精华篇的合集。

    《Linux内核精髓:精通Linux内核必会的75个绝技》迷你书

    经过近20年的发展,Linux操作系统已经成为当今最成功的开源软件之一,使用广泛,影响深远。随着Linux操作系统功能的不断丰富和完善,Linux内核的源代码也从最初的几万行增加到如今的数百万行,庞大无比,对于Linux...

    Linux内核代码学习

    系统介绍Linux内核代码原理

    linux内核源代码深度解析.zip

    linux内核源代码深度解析linux内核源代码深度解析linux内核源代码深度解析linux内核源代码深度解析linux内核源代码深度解析linux内核源代码深度解析linux内核源代码深度解析linux内核源代码深度解析linux内核源代码...

Global site tag (gtag.js) - Google Analytics