MIT JOS Lab1 and Lab2

大三上这个学期比较悲剧,各种大作业。

其中最恼人的就是操作系统...

MIT JOS同步习题,这之中是出现了各种bug..各种出乎意料的问题..然后就是各种崩溃。这种崩溃是无敌的,特别是对于某工科女生在组队的时候失策地与一些大二不学无术男组了一队..哭泣哭泣...想想我那时候深深的黑眼圈真是伤不起..

理理思绪,我大概说一下其中的一些问题以及最后的解决方法吧,之后做的人也就能少走些弯路。

先说说这lab1和lab2部分,这是第一次的上机作业。

 

1.这一部分最重要的是...配置环境问题。想当初ubuntu安装了之后,linux的联网就连了一个星期。

我用的是vmware station 8.0+ubuntu10.10,至少在做这两个lab的时候是没有问题的,在做到lab3的时候就需要升级一下编译器,不然不能打出正确的分数来。后来我改用了ubuntu11.04版本的,毕竟11.10还是不能算稳定的环境。

首先碰到的问题就是联网,用nat链接就可以。不要折腾着用桥连什么的,nat就OK了,链接之后就update。

更新完了之后需要将make和gmake命令做一个链接,这个的作用在网上都能够查到,不罗嗦了。但是输入的命令行在网上有些有点问题,这里贴上我用的命令行,这个应该是不会错,终端输入 sudo ln -s /usr/bin/make /usr/bin/gmake   

然后再输入命令 配置一下环境

sudo apt-get install build-essential

sudo apt-get install binutils

sudo apt-get install libgtk2.0-dev

之后就是安装bochs,我用的是bochs2.4.6版本。解压进入bochs文件夹里边,终端中需要输入的是

sudo apt-get install bochs

sudo apt-get install bochs-x (这个必须的,bochs编译必要的,但是它本身并不安装x)

./configure --enable-disasm  

--enable-smp    

--enable-debugger    

--enable-all-optimizations    

--with-all-libs   

--with-x   

--with-x11    

--with-nogui 

make

sudo make install

这样应该环境就OK了,不过在做lab1的时候还需要nasm和bximage工具,这个都是sudo install的问题啦

2.其实在做题的时候大部分问题都不是什么大问题,主要就是能够把书本上的那些理论的只是和实际的相联系,什么扇区什么分页什么的,都是可以根据boot.asm的反汇编文件以及main.c文件阅读代码来分析得到具体的系统操作过程。

其中代码也都是可以根据阅读注释来写的,但是需要的就是..英语得好..不过作为一个程序员..英语好应该是必须的吧..哪有用中文写代码的..是吧?

3.需要注意的是开始要输出的6828的数字是需要printfmt文件的辅助的,6828的输出是八进制,在printfmt文件里面没有对八进制进行设置,而是输出"x",所以参照十进制啦十六进制啦改一下就好了。

其它应该就没有什么太大的问题了。

posted @ 2012-01-21 21:12  lynnjyl  阅读(1490)  评论(0)    收藏  举报