哈工大操作系统实验1 熟悉实验环境

实验1 熟悉实验环境

实验1主要是介绍了在Ubuntu下如何编译、运行和调试linux0.11内核程序。课程中的说明非常详细了,目前照着做没有发现什么问题。

实验环境是用Ubuntu桌面版,我自己用Linux也有10多年了,指示用命令行版比较多,桌面版用着怪别扭的,幸好实验的操作大都是命令处理。

从难度来说,满星5颗星,我给1颗星,基本没啥难度。只是如果不熟悉Linux的使用,估计还是会有些难度的。

准备环境

进入oslab目录,解压压缩包。

# 进入到 oslab 所在的文件夹
$ cd /home/shiyanlou/oslab/

# 解压,并指定解压到 /home/shiyanlou/
# 这样的话,在 /home/shiyanlou/oslab/ 中就能找到解压后的所有文件
$ tar -zxvf hit-oslab-linux-20110823.tar.gz -C /home/shiyanlou/

# 查看是否解压成功
$ ls -al
# 除了压缩包 hit-oslab-linux-20110823.tar.gz 之外,其他的就是压缩包中的内容

解压后查看目录:

image

文件结构

image

文中有提到有一个image文件,刚解压后在linux0.11目录下并没有找到,下一步编译linux0.11内核后,就可以看到了。

编译内核

先切换到oslab目录进行确认查看:

# 切换目录
$ cd /home/shiyanlou/oslab/

# 确认路径
$ pwd

# 查看目录内容
$ ls -l

进入linux0.11内核,然后使用make命令进行编译:
$ cd ./linux-0.11/
$ make all

编译完成后,在linux0.11下就会生成一个Image文件:

image

运行

运行上面编译好的内核,进入 ~/oslab/ 目录,运行 run:

# 注意是在上层目录
# 刚刚编译是在 oslab/linux-0.11/ 文件夹下
$ cd ~/oslab/

# 执行 run 脚本
$ ./run

运行成功后查看截图:

image

调试

开发过程中调试是必不可少的,Linux0.11用了汇编和C语言,所有需要两种调试方法。

汇编调试

进入 ~/oslab/ 目录,运行 dbg-asm 命令:

# 确认在 oslab 目录下
$ cd ~/oslab/

# 运行脚本前确定已经关闭刚刚运行的 Bochs
$ ./dbg-asm

运行后查看截图:

image

Bochs可以通过help指令查看帮助,如果英文不好,网上也有中文的教程哈。

image

C语言调试

C语言调试需要打开两个终端。

第一个终端运行 dbg-c 命令:

$ cd ~/oslab
$ ./dbg-c

查看运行截图:

image

第二个终端运行 rungdb 命令:

$ cd ~/oslab
$ ./rungdb

查看运行截图:

image

这个就是gdb调试器。

此时查看第一个终端,出现连接 Connected to 127.0.0.1,表示连接成功。

image

文件交换

进入 ~/oslab/ 目录,运行 mount-hdc 命令:

$ cd ~/oslab/

# 启动挂载脚本
$ sudo ./mount-hdc

查看 hdc 目录:

image

使用后卸载文件系统:

$ cd ~/oslab/

# 卸载
$ sudo umount hdc

试验一下文件交换,首先通过 sudo ./mount-hdc 进行挂载。然后在 Ubuntu 的 ~/oslab/hdc/usr/root 目录下创建一个 xxx.c 文件,写入 hello 内容

sudo echo 'hello' > ~/oslab/hdc/usr/root/xxx.c

最后执行 sudo umount hdc 后,再进入 Linux 0.11(即 run 启动 bochs 以后)就会看到这个 xxx.c 。

image

这样就非常方便和在宿主机和linux0.11内核中交换文件。

完!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晴空闲雲

感谢家人们的投喂

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值