看Linux 0.11的代码不如做MIT的JOS实验
2013-04-03
我刚好上了作者的课,需要买这本书。上课的时候有个实验,是改进或者实现自己的操作系统内核。当时我试图去改Linux 0.11的内核,发现这个内核里面硬编码的地方不少,而且上手的曲线非常陡峭,于是选择了跟着MIT的JOS实验去做。
JOS实验是MIT公开课中的一个课程,在网上很容易搜到JOS课程的网页。这个实验搭建了一个基础的OS框架,让学生一步一步地实现OS中的内存管理、中断和异常处理、environment(类似进程的概念)的创建和调度、SMP支持、文件系统等功能。难能可贵的是,代码中的注释非常清晰易懂,对于理解操作系统的实现非常有帮助。做完这个实验之后,可以对操作系统的实现有一个整体的,又不失细节的理解。JOS还有一个特点就是它是一个微内核的系统,如果想要对比宏内核(比如Linux)和微内核,也是一个很不错的选择。
最后我把实验做到了SMP支持这部分,虽然最后课程得分不怎么样,学到了自己想学的东西才是最重要的。