【操作系统】1实验环境的使用

1实验环境的使用

一、实验背景
(1)实验目的:

1、跟踪调试 EOS 在 PC 机上从加电复位到成功启动的全过程,了解操作系统的启动过程。 2、查看 EOS
启动后的状态和行为,理解操作系统启动后的工作方式。

(2)预备知识:

阅读本书第 3 章,了解 EOS 操作系统的启动过程。阅读第 2 章中的第 2.4 节,复习汇编语言的相关知识,并掌握 NASM
汇编代码的特点。阅读附录 A,了解 Bochs 和 Virtual PC 这两款虚拟机软件的特点,重点熟悉 Bochs 的调试命令。

二、实验主要过程与结果
(1)准备实验:

  1. 启动 OS Lab。
  2. 新建一个 EOS Kernel 项目。
  3. 在“项目管理器”窗口中打开 boot 文件夹中的 boot.asm 和 loader.asm 两个汇编文件。boot.asm
    是软盘引导扇区程序的源文件,loader.asm 是 loader 程序的源文件。简单阅读一下这两个文件
    中的 NASM 汇编代码和注释。
  4. 按 F7 生成项目。
  5. 生成完成后,使用 Windows 资源管理器打开项目文件夹中的 Debug 文件夹。找到由 boot.asm 生
    成的软盘引导扇区程序 boot.bin 文件,该文件的大小一定为 512 字节(与软盘引导扇区的大小
    一致)。找到由 loader.asm 生成的 loader 程序 loader.bin 文件,记录下此文件的大小 1566 字
    节,在下面的实验中会用到。找到由其它源文件生成的操作系统内核文件 kernel.dll。
    在这里插入图片描述
图1 EOS Kernel 项目创建成功

(2)调试 EOS 操作系统的启动过程:
1、将调试时使用的远程目标机修改为 Bochs;
在这里插入图片描述

图2-1远程目标机修改为成功

2、调试 BIOS 程序:
启动调试后,Bochs 在 CPU 要执行的第一条指令(即 BIOS 的第一条指令)处中断。 此时,Display
窗口没有显示任何内容,Console 窗口显示要执行的 BIOS 第一条指令的相关信息,并等待用户输入调试命
令,如图2-2-1所示
在这里插入图片描述

图2-2-1 Console 窗口显示在 S BIOS 第一条指令处中断

在 Console 窗口中输入调试命令 sreg 后按回车,显示当前 CPU 中各个段寄存器的值,如图 2-2-2。其中 CS 寄存器信息行中的“s=0xf000”表示 CS 寄存器的值为 0xf000。
在这里插入图片描述

图2-2-2:使用 sreg 命令查看段寄存器的值

输入调试命令 r 后按回车,显示当前 CPU 中各个通用寄存器的值,如图2-2-3。其中“rip:0x00000000:0000fff0”表示 IP 寄存器的值为 0xfff0。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值