Nachos的全称是“Not Another Completely Heuristic Operating System”,它是一个可修改和跟踪的操做系统教学软件。具体可参考百度百科。若是是在学习操做系统课程,并使用Nachos做为辅助教学,本文将会有所帮助。在网上没有找到使用Code Blocks搭建nachos的教程,只好本身琢磨,总算有所小成。sass
说明,如下操做都是在Ubuntu 11.10中进行的。函数
一、获取Nachos源码:能够在这里下载源码。下载后,右击,选择解压到此处,把解压获得的文件夹,修更名称为nachos,放在某一目录下,这里直接放在主文件夹下。工具
二、系统安装g++。学习
sudo apt-get install g++
三、直接使用gcc编译。ui
先将nachos\nachos3-4\code\下的Makefile文件中的操作系统
MAKE = gmake 改为 MAKE = make
而后在clean:后边加上如下几行:.net
clean: cd threads; rm *.o nachos cd network; rm *.o nachos cd filesys; rm *.o nachos cd test; rm *.o cd userprog; rm *.o nachos cd vm; rm *.o nachos rm -f *~ */{core,nachos,DISK,*.o,swtch.s,*~} test/{*.coff} bin/{coff2flat,coff2noff,disassemble,out}
上面的这几行是用来实现clean时清楚全部子目录下的目标文件已经可执行文件。由于原来的那行貌似不起做用。调试
运行终端,切换目录到nachos\nachos3-4\code下,直接输入make,回车:code
正常的话,就编译成功了。再进入threads目录下,执行nachos:教程
若运行如上图,则表示编译成功。
再运行命令
cd .. make clean
清除目标文件及可执行文件。
四、安装Code::Blocks:在软件中心搜索Code Blocks,并安装
五、运行Code::Blocks,新建一个空工程,名称为nachosCb,其余路径以下:
下一步,编译器选择GNU GCC Compiler,完成。
六、右击工程,选择Add files recursively,选择nachos-3.4下的code目录,选择Select All:
肯定,将全部文件加到工程。
七、右击工程,选择Properties,设置Makefile以及路径,勾选上This is a custom Makefile,下面的路径是Makefile所在目录,即code目录。图中使用的是相对路径:
八、选择Build targets标签,单击Add,增长一个Target,名称为Threads,其余设置以下:
说明:由于nachos下有不少子目录,执行make以后,不少目录下都会生成可执行文件nachos,它们表明nachos不一样的部分。你能够为每一个会生成可执行文件的目录创建一个Target,这样,在Code Blocks里能够经过在工具栏切换Target来实现运行、调试整个系统的不一样部分。不过,虽然每一个目录下都有各自的Makefile文件,Build的时候用的仍是code目录下的那个Makefile。固然,你能够在第7步里边进行选择,不过仍是建议使用code下的Makefile,比较方便。
单击肯定,使得设置生效。
九、再次右击工程,选择Properties,打开上图所示窗口,Build targets选择Threads,单击上图中的Build Options按钮,找到Make Commands选项,把$target都去掉:
肯定,完成操做。
十、试试可否编译、运行和调试:
在工具栏选择Target为Threads,而后执行Build。能够右击工程选择Build或者单击工具栏中的Build图标。这里是Build成功的,下图是运行截图:
十一、调试。在Code Blocks中打开threads目录下的main.cc,在main函数的开始处设置一个断点,在菜单中依次选择Debug——Run或者直接按F8,则调试开始。此时,能够在菜单中依次选择Debug——Debuging Windows,添加调试时能够用到的窗口,如Watches能够显示变量值。
能够按F7一步步执行。截图以下:
十二、重复第八、9步,为其余几个子目录建立Target,并删掉原来的Debug与Release,以下图:
1三、关闭以前Code Block以前最好保存工程。右击工程选择Save project。