2009年Linux内核源代码解读计划

2008年就要结束了,给自己的2009找点事情做。

虽然生活上还是一团糟糕,但是我终于找到了自己究竟该靠什么赚钱了,这也算是纷纷扰扰的2008年里我取得的第一大成就。2009年1月份到2009年9月结束,我将专心致志的读一遍Linux kernel-2.6.18的内核代码。并且将自己的解读结果和感想陆续连载在这个博客上。如果我能在这9个月的时间里,将这份源代码解读出味道来的话,在2009年末我将在Capricorn102建立内核源代码分析的Wiki。总的计划就是这样。读代码的整个过程将将主要跟随一下3本参考资料:

此外,伴随源码解读的过程,我将加入Ubuntu的develper team,和kernel newbie。具体的阅读进程将以第一本参考书的索引为主轴按照下面的安排雷打不动地进行。

2009年1月

Linux内核概述,构成
Linux内核基础(1)

  • 进程调度
  • 中断
  • 延迟处理(软中断)
  • 时钟

2009年2月

Linux内核基础(2)

  • 系统调用
  • 同步和排他

进程管理

  • 进程模型
  • 进程相关的数据结构
  • 进程组
  • 进程的生命周期
  • 线程

信号(signal)处理

2009年3月

内存管理(1)

  • 地址变换
  • 进程空间的内存布局

内存管理(2)

  • 物理内存管理
  • 动态内存分配

2009年4月

内存管理(3)

  • 进程空间的管理
  • 页回收机制

内存管理回顾和概览

2009年5月

文件管理(1)

  • 虚拟文件系统
  • 文件操作
  • 文件读写

文件管理(2)

  • 特殊文件的访问
  • 类文件系统(proc, sysfs)

2009年6月

文件管理(3)

  • 驱动模型
  • 本地文件系统

文件管理回顾和概览

网络(1)

  • Socket接口
  • IP层
  • UDP

网络(2)

  • TCP的连接控制
  • TCP流控制
  • TCP带宽控制

2009年7月

网络回顾和概览
内核的初始化过程

2009年8月

CPU体系结构依存代码(1)

  • CPU的体系结构
  • 特权寄存器

CPU体系结构依存代码(2)

  • 中断处理
  • 异常处理和IPI
  • MMU和虚存
  • CPU的启动和停止

2009年9月

Linux内核的新机能
嵌入式Linux系统内核开发的概述

粗体字部分需要我自己发挥了,其他部分有参考书做指引,应该能够看得明白一些。上大学的时候,操作系统原理算是我学的最烂的一门课程,是的,的确是这样,虽然我当时就无比喜欢这门课,但是无奈这门课程被无良老师和我自己一起毁掉了。给我们班代课的老师叫赵季中,此人形容猥琐,身高不足五尺,因此脑袋显得格外的大,全身比例非常不协调,第一次见到他时我只缺少没有恶心的奔出教室。让我至今对他耿耿于怀不惜恶语相向的原因还在于,这位神仙每次上课都会神侃20分钟并且提前10分钟或者15分钟下课,几乎每次上课都要接电话,电话结束之后还要跟我们说国防部搞导弹的,一直缠着他问事情。这世上欺世盗名的人太多了,但是好歹有个遮掩,这位仁兄毫无保留的厚颜无耻让我实在是佩服的五体投地。记得我们那学期结束时,他把教材讲了不到2章,以至于我上了考场看到inode这玩意儿都特别兴奋,感慨“幸亏哥们我还练过”。搞笑的是,今天我因为实在想不起他的名字而上交大的网站上去找了找,发现这问仁兄已经荣升副教授,真他妈的是厚黑到家了,不得不再一次向赵老师稽首。愤恨之处不小心跑题,请看官见谅见谅。

OK,抱怨完了似乎也没什么可以再说,就这么办吧。我有很丢人的事情,就是长这么大从来没从头至尾的干好过一件事情,所以,留这个东西立此存照,督促自己,如果食言那真是没脸做人了。

One thought on “2009年Linux内核源代码解读计划

发表评论