1 实验目的与要求
熟悉 hit-oslab 实验环境;
建立对操作系统引导过程的深入认识;
掌握操作系统的基本开发过程;
能对操作系统代码进行简单的控制,揭开操作系统的神秘面纱。
一、实验预习
本实验是基于linux系统实现相关实验内容,实验前需掌握linux终端相关操作以及shell指令的基本操作。
二、实验过程和结果分析
1.配置oslab实验环境:直接解压位于/home/shiyanlou/oslab目录下的hit-oslab-linux-20110823.tar.gz文件
(注意要先进入oslab目录下)
(解压成功标志)
该环境的作用是当我们用linux编译一个文件之后系统会生成一个名叫Image的文件,这个文件里所存放的就是我们所写的代码的二进制表示形式。然后会用环境里的boch进行挂载文件,其中软驱上挂载的就是该文件,硬盘上挂载的是hdc-0.11.img 文件,该文件是该文件的核心,内包含有:
-Bash shell;
-一些基本的 Linux 命令、工具,比如 cp、rm、mv、tar;
-vi 编辑器;
-gcc 1.4 编译器,可用来编译标准 C 程序;
-as86 和 ld86;
-Linux 0.11 的源代码,可在 0.11 下编译,然后覆盖现有的二进制内核
2.编译内核:想要使用linux0.11下的所有代码就必须要先进行内核的编译,也可以说安装。
(注意要在linux0.11目录下)
(安装成功标志)
内核的编译是为了能够使用linux0。11里的代码,后面所有实验都需要Linux里面的代码支持
3。运行和调试:内核的运行很简单
(直接.run就可以运行)
调试的时候分为汇编级调试和C语言级调试,两种调试方法如下,其中C语言调试要进行gdb的连接
(注意运行之后黑屏属于正常)
(C语言调试)
三、实验总结
本次实验初步了解到了Linux环境下的oslab环境以及其内核和一些简单操作的,初步掌握了如何在终端下编写代码文件和使用内核级语言控制操作系统。但本次实验仍有未完成的地方,如关于ubuntu和Linux之间文件的交换这一点因为一些原因没有完成,我查阅了百度和相关资料仍然没有解决,初步断定是设备问题,暂时没有办法。虽然有些波折,但结果还是令人满意的。