Linux内核修炼之道 之 前言
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-23
至此落笔之际,恰至Linux问世18周年,18年的成长,如梦似幻,风雨颇多,感慨颇多.
犹自忆起多年以前一位前辈训导时的箴言:今天的必然正是由之前一系列的偶然所决定的.过去的某年某月,我偶然初识Linux就身陷其中,至今仍找不到出去的路,而正是这次乃至之后的多次偶然相联合,从而决定了今日的我要在此写下这些话.那么,当您偶然地拿起这本书,偶然地看到这段话,您是否会问自己:这样的偶然又会导致什么样的必然?
如果您依然决定继续这次的偶然之旅,那么![]() ![]() ![]() 本书的组织形式 本书将Linux内核的学习分为四个层次:全面了解,掌握基本功;兴趣导向,选择重点深度钻研;融入社区,参与开发做贡献;坚持,坚持,再坚持.总结起来,就是“全面了解抓基本,兴趣导向深钻研;融入社区做贡献,坚持坚持再坚持.”(如果您是一个修真小说爱好者,尽可以将其与炼气、筑基、结丹和元婴等层次相对应.) 第一层次修炼的内容包括了前三章,目的是希望您能够对Linux以及内核有个全面的认识和了解,掌握分析Linux内核源代码的分析方法. 第1章主要介绍了Linux的18年成长史,或许您会乐意陪我一起缅怀下这过去的十八年. 第2章介绍内核的配置和编译过程,和任何大型软件源码的学习一样,学会编译和配置是第一步. 第3章介绍学习内核需要的基础,内核的体系结构、目录结构、代码特点,浏览内核代码的工具, ![]() 第二层次的修炼包括了第4~11章的内容,对内核多数部分的工作原理进行介绍.按照认识的发展规律,在第一层次修炼中已经对内核有个全局的认识和了解之后,接下来就应该以兴趣为导向,寻找一个子系统或模块,对其代码深入钻研和分析,不懂的地方就通过社区、邮件列表或者直接发Email给maintainer请教等途径弄懂,切勿得过且过,这样分析下来,对同步、中断等等内核的很多机制也同样会非常了解,俗话说一通则百通就是这个道理. 因此第二层次的各个章节里,只是阐释重点的概念和工作原理,帮助您在分析该部分代码时进行理解,并不求详尽. 第4章讨论系统的初始化,万事开头难,系统的初始化是一个很复杂的过程,不过对于内核源码的学习来说,以这个部分开始应该是个不错的选择.特别是子系统初始化的讨论,应该是您选择任何内核子系统开始分析时都需要了解的内容. 第5章讨论系统调用,它是应用程序和内核间的桥梁,学习并理解它是我们走向内核的一个很好的过渡. 第6章讨论内核的中断处理机制,包括几乎任何一本内核书籍都没有涉及的通用IRQ层. 第7章讨论进程的内核抽象,以及进程如何被创建和销毁.如果我们将计算机上运行的操作系统以及各种各样的软件看作一系列有机的生命体,而不是死的指令集合,那么这就是一个进程的世界,只不过与我们人类世界不同的是,进程世界里的个体是一个一个鲜活的进程,而不是人.人的世界有道德与法律去制约管理,进程的世界同样也有自己的管理机制,这就是第7章所要展示的内容——进程管理. 第8章讨论进程的调度,重点讨论了在内核历史上具有重要地位的O(1)调度器和最新的CFS调度起. 第9章讨论内存管理,内存就是进程的家,这里讨论内核如何为每个进程都分配一个家,并尽量的去做到“居者有其屋”,以及保证每个家的安全. 第10章讨论文件系统,主要是虚拟文件系统(VFS),它通过在各种具体的文件系统之上建立一个抽象层,屏蔽了不同文件系统间的差异. 第11章讨论设备驱动,对于驱动开发来说,设备模型的理解是根本,spec、datasheet与内核源代码的利用是关键. 通过第二层次的修炼,您应该对至少一到两个部分有了很深入的理解,对内核代码采用的通用手法也已经很拈熟,那么您应该开始进入第三层次,努力融入到内核的开发社区,此时的您已经不会再是社区中潜水小白的角色,而是会针对某个问题发表自己的见解.您已经可以尝试参与到内核的开发中去,即使仅仅修改了内核中的一个错误单词,翻译了一份大家需要的文档,也是做出了自己的贡献,会得到大家的认可. 本书中第三层次只包括了两章的内容,这是 ![]() ![]() |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: linux常用命令下一篇: linux下安装多个mysql经验分享
关于Linux内核修炼之道 之 前言的所有评论