以前做过mit 6.828 lab1-lab6的练习,是很老的2004版的,应某位师弟的要求贴出来,并做一点小总结,也供现在在做的兄弟一点参考。
网址是http://pdos.csail.mit.edu/6.828/2004/schedule.html
我的solution是http://download.csdn.net/source/397897,是lab6的,lab1-lab5都包含在内的。不是什么标准答案,而且很有可能某个部分有bug,做到最后可能我的确是有些虎头蛇尾,如果什么地方有问题还请告知我或与我讨论,我的email是dennis.he.2005@gmail.com。他提供的大部分的测试我应该都是测过的。另外只要是challenge的我都没有做,我开始的策略是先做完6个lab基本的exercise再做challenge的,但是真的做到后来也就犯懒了,呵呵,抱歉。兄弟们如果challenge做了的话可以到此讨论。
当时的开发环境是Red hat Enterprise。
lab1:
需要理解pc的一些基本知识,比如boot strap,实模式和保护模式下x86的寻址方式等等,另外就是熟悉一下bochs的调试环境。实际需要动手做的只有一个backtrace的函数,没什么好说的,看一看x86的calling convention,动手在bochs上调试一下就ok了。
lab2