LKD即Linux Kernel Development,一本介绍Linux内核的经典入门之作。大学期间,曾经多次研读该书,但总感觉自己没有真正理解其中的内容。究其原因主要是当时是以了解知道为目的,而不是理解运用为目的;另外只是在图书馆或自习室去读书,而未对照着源码进行通读。一直想着有一天可以读懂Linux内核,因此现在计划从LKD开始,每周会抽出一点时间,从零开始去学习linux内核,也会将自己的学习过程以及心得记录下来。
在开启LKD学习之旅,首先需要获取Linux源码,我选择的版本是Linux-2.6,这也是LKD(第三版)中介绍的版本。一种很简单的下载方式,需要安装一个工具——git(上古神器),然后借助它来下载:(也可以根据我的另一篇文章,下载最新的linux源码并配置源码树)
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
其次需要安装一个阅读源码的软件,我主要使用两个工具Source Insight和Vim:
Source Insight:在大学时期,我哥有推荐我使用Source Insight,当时自己装了感觉不怎么好用就没有使用过。日常写代码都用的是VC或code::blocks,可以很方便进行编码和调试工作。另外不是经常读别人写的代码,特别是代码量非常大的。到了工作之后需要阅读一些别人写的代码,接触了Source Insight,才真正感觉到它的方便之处。
Vim:大学期间就有了解并且花费了一段时间练习过vim的使用。使用我配置的vim阅读代码,比起Source Insight有一方面稍微弱一点,就是当想要知道一个函数或变量如何定义,vim需要跳转到源文件,而Source Insight会有提示窗口显示函数或变量的定义,也可以快速跳转。但vim可以完全的解放鼠标,可以使用一些命令进行快速的搜索和编辑。
关于Source Insight的使用,可以去网上找一些教程,因为是图形化的界面操作,也可以自己摸索尝试。对于vim,我自己的dotfile文件以及插件都会放在github上,仅供参考。之后我也会再花一些时间去深入学习vim,一方面vim属于上古神器,真正懂得vim的人,无论是编码还是阅读都可以借助vim很高效的完成;另外一方面感觉使用vim也可以…
各种神器已经准备好了,接下来就可以正式开始linux内核之旅了。