一个操作系统的实现--保护模式


1. 去Bochs的官方网站http://bochs.sourceforge.net/diskimages.html下载一个freedos-img.tar.gz,复制我们的工作目录,解压后将其中的a.img改名为freedos.img


2. 用bximag生成一个软盘映像,起名为pm.img


3. 修改当前工作目录下的bochsrc(还记得不?第二章我们自己写的,把它拷到当前工作目录来),确保其中有以下三行:

  floppya:1_44=freedos.img, status=inserted

  floppyb:1_44=pm.img, status=inserted

  boot:a


  4.启动bochs ,待FreeDos启动完毕后格式化B盘。


5. 将上节的代码pmtest1.asm 中的org 07c00h改为 org 100h,并在Terminal界面重新编译:

    nasm pmtest1.asm -o pmtest1.com



6. 在Terminal界面将pmtest1.com复制到pm.img上//指令操作:

    sudo mkdir  /mnt/floppy  //创建相应文件夹

    sudo mount -o loop pm.img /mnt/floppy

    sudo cp pmtest1.com  /mnt/floppy

    sudo umount /mnt/floppy


  7.重新运行bochs ,A:/>B: 切换到B盘,执行 pmtest1.com



完成由实模式转换到保护模式,程序进入死循环。


PS:进入bochs不能进行输入,按Alt键便可输入。

不能输入原因:

平常切换软件习惯使用 ALT + TAB 组合键切换,原来bochs对ALT按键响应有问题。

习惯修改:

改成WIN+TAB就好。


进行下一阶段保护模式进阶时,需要参考以上操作,并且保护模式进阶在实模式转换为保护模式后可以跳回实模式,不会进入死循环,可以进行调试操作。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值