实验目的:
- 熟悉Ubuntu实验环境以及Oslab工作平台;
- 熟悉X86模拟器Bochs、GCC编译器,DB调试器;
- 初步接触Linux 0.11操作系统
实验仪器:
- Ubuntu操作系统
- Bochs工作平台
- Linux 0.11操作系统源码
相关资料
实验楼操作系统与实践 实验一资料
实验内容
- 搭建Oslab工作平台:在用户主目录下启动命令行中断,输入:
1
| tar zxvf hit-oslab-linux-20110823.tar.gz #解压缩hit-oslab-linux-20110823.tar.gz文件
|
安装Oslab
- 准备活动:注入:
1
| cd ~/oslab #进入用户目录(~)下的oslab文件夹
|
列出当前目录内容:
- 编译内核:切换至”/home/shiyanlou/oslab/linux-0.11”目录,执行:
- 启动Bochs:切换至”/home/shiyanlou/oslab”目录,执行:
启动Bochs,结果如图:
- 熟悉Ubuntu和linux 0.11之间的文件交换,切换至”/home/shiyanlou/oslab”目录,执行:
1 2
| sudo ./mount-hdc # 将文件系统镜像文件挂载到hdc目录 sudo umount hdc # 卸载hdc目录挂载的文件系统镜像文件
|
该操作是为了方便对linux 0.11系统中的文件进行编辑,由于Linux 0.11系统中的编辑工具只有vi,使用不方便。所以进行了文件系统镜像的挂载,方便在虚拟系统和实体系统之间进行文件数据的交换。
注意1. 不要再0.11内核运行的时候mount镜像文件,否则可能会损坏文件系统,同理,不应在mount状态下启动0.11内核。
注意2.在关闭Bochs之前,需要先在0.11的命令行运行sync
确保所有缓存数据存盘后,再关闭Bochs.
实验分析
- 注意命令行所控制的目录,否则会提示错误,例如在oslab目录下执行···make all``便会提示错误,etc..
- 调试器还需要熟悉。之前了解过少许GDB调试器的使用,基本忘光。。。还需要继续学习Linux下编程的相关技能。