操作系统(1)_操作系统基础

  • 实验硬件:IA_32(x86)架构
  • 软件环境:Bochs gcc 操作系统Linux0.11 源码

    x86模拟器Bochs
    Bochs是一个免费且开放源代码的IA-32(x86)架构PC机模拟器。在它模拟出的环境中可以运行Linux、DOS和各种版本的Windows等多种操作系统。
    GCC编译器
    DB调试器
    Ubuntu

  • 实验环境的工作模式

    • 实验环境我们使用 hit-oslab(哈工大操作系统课程配套实验环境)hit-oslab-linux-20110823.tar.gz 已经内置了bochs,实验环境缺省为bochs
    • 解压后会发现linux0.11/Image镜像文件和hdc-0.11.img文件系统
    • hdc-0.11.img是Minix文件系统的镜像,Linux所有版本都支持这个文件系统,所以可以直接在宿主Linux上通过mount命令访问此文件里的文件,达到宿主系统和bochs内运行的Linux0.11之间交换文件的效果
    • hdc-0.11.img内包含的文件有
      • bsah shell
      • 一些基本的Linux命令、工具、如 cp、rm、mv、tar
      • vi
      • gcc1.4
      • as86和ld86
      • Linux0.11的源代码,可在0.11下编译,然后覆盖现有的二进制内核
        准备使用
  • tar -zxvf hit-oslab-linux-20110823.tar.gz;
    cd oslab;
    cd linux-0.11;
    make all;
    返回oslab目录 ./run
    出现Bochs的窗口,里面有引导Linux的启动过程,最后停止在“[/usr/root/]#”

  • 内核调试

    • 汇编调试 $ ./dbg-asm 可以用命令help来查看调试系统用的基本命令。更详细的信息请查阅Bochs使用手册。
    • c语言调试: ./dbgcoslab ./rungdb新终端窗口中运行的是GDB调试器。关于gdb调试器请查阅GDB使用手册。

挂在文件系统

  • $ sudo ./mount-hdc

  • $ sudo umount hdc

注意1:不要在0.11内核运行的时候mount镜像文件,否则可能会损坏文件系统。同理,也不要在已经mount的时候运行0.11内核。
注意2:在关闭Bochs之前,需要先在0.11的命令行运行“sync”,确保所有缓存数据都存盘后,再关闭Bochs。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值