您的位置:首页 > 其它

《一个操作系统的实现》实践总结---写在前面

2016-02-15 11:58 260 查看
一开始学习操作系统课程的时候,是要应付考试。在学习的过程中,受大学老师的影响喜欢上看书了,从大三一直看到现在,也有两三年了。一点点深入下来,每当收获一些,那不知道的视野也扩大一分,受好奇与好胜的心理驱使着不断前进,越来越觉得要是不实践一下是不甘心的。

今年八月底开始按照于渊老师写的《一个操作系统的实现》来一步步实践,耗时两个月。除了最后拷贝到裸机上来检验效果没有做,其余的都是一行行代码敲出来的。本来计划十月底到十一月底把总结写出来,但是由于自己那时候还在上课,正好后来的课程还比较重要,像反汇编引擎和调试器之类的,也不敢再一心二用了,老老实实的跟着培训的课程走了。

我自己写总结的话,侧重于原理的解释和结构的建立,很少会直接贴一段代码来做局部功能的解说。我是按照代码的思路来总结我对整个流程的理解的。

如果有同学感兴趣想自己实践的话,我的建议是最好是不用作者提供的源码,哪怕是抄写一遍源码也比直接拿来用强太多了。作者的源码前面几章都是对的,但是到文件系统开始就会出错,可能我的环境有问题吧。

我自己的感受就是:

1.对于一些宏的定义,如果用作者提供好的代码,那就不太可能理解这个宏是在什么时候因为什么原因被提炼出来的。

2.如果用作者的源码我们可能读一遍大概懂了就会直接编译过去,不再耗费精神研习细节。如果我们自己抄一遍的话,抄写的话中间肯定会有错误,一般找一个错误都会把上下关联的代码逻辑都读三四遍,在找错误的过程中才能真正的理解某一块功能的实现。

3.对于makefile可以用一种很笨拙的方式理解它最初的形态和作用了。

4.对于作者对源码的每一步的修改都有切身的体会,能够前后衔接起来,不是孤立的一个个生冷的章节。

一开打算按照作者的介绍搭建实验环境的。后来发现无论如何自己是整不出来一模一样的,装了五六次都不满意。就全部上最新版的了。

操作系统:debian 8(用来编译源码和运行虚拟机的)

debian8的安装,我是按照最简安装方式的,中间安装软件那一步跳过了。要不然需要很长时间的。等系统安装好了,我们在命令行下安装gcc和界面程序就够我们使用了。

虚拟机:Bocks 2.6.8(用来加载实验的操作系统)。

它的配置文件和作者描述的有些出入了,vgaromimage路径到时候不太一样,仔细按照路径手动跟进去就明白了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: