linux编译错误 程序中有游离的,操作系统实验报告 附思考题(24页)-原创力文档...

课程设计(综合实验)报告

( 2015 -- 2016 年度第 1 学期)

名 称: 操作系统综合实验

题 目: oslab 综合实验

院 系: 计算机系

班 级:

学 号:

学生姓名:

指导教师:

设计周数: 分散进行

成 绩:

日期: 2015 年 10 月 29 日

实验 1 实验环境的使用

一、 综合实验的目的与要求

 熟悉操作系统集成实验环境 OS Lab 的基本使用方法。

 练习编译、调试 EOS 操作系统内核以及 EOS 应用程序。

二、实验正文

1.启动 OS Lab

2.1 执行项目

Windows 控制台窗口内容显示

2.2 调试项目

2.2.1 使用断点中断执行

2.2.2 单步调试

2.2.2 .3 单步调试 结果显示:

练习使用 “逐语句”功能和 “跳出”功能

2.2.3 查看变量的值

快速监视

添加监视

2.2.4 调用堆栈

调用堆栈显示内容

进入 Func 函数

双击 main 函数所在的行表示此函数是当前调用堆栈中的活动函数。

3 新建 EOS 内核项目

4 EOS 应用程序项目的生成和调试

4.1 新建 EOS 应用程序项目

4.2 调试项目

添加断点后单步调试结果显示

4.3 查看软盘镜像文件中的内容

4.4 修改 EOS 应用程序项目名称

5 退出 OS Lab

6 保存 EOS 内核项目

三、综合实验总结或结论

思考与练习:

1. 在哪些情况下应该使用 “逐过程”调试,在哪些情况下应该使用 “逐语句”调试。

0

答:逐语句为每执行一行语句,如果碰到函数调用它就会进入到函数里面。而逐过程碰到

函数时不进入函数,把函数调用当成一条语句去执行。

2. 生成 EOS SDK 文件夹的目的和作用。明白文件夹的组织结构和各个文件的来源和

作用。查看 EOS 应用程序包含了 SDK 文件夹中的哪些头文件,是如何包含的?

(1)EOS SDK 为应用程序调用系 API 提供服务,可作为用户编程中使用的工具包集合。

(2)其主要包括 INC 头文件 LIB 文件夹、导入库文件和 BIN 文件夹、动态链接库、可执行

程序、二进制文件。

(3)包含的头文件有:eos.h负责导出 API 函数,eosdef.h 声明负责导出函数类型的定义,

error.h 负责导出错误码。

(4)EOS 应用程序在项目的头文件中只是包含了 eos.h 文件,在 eos.h 文件中又包含了

eosdef.h 和 error.h 文件。

实验 2 操作系统的启动

一、 综合实验的目的与要求

跟踪调试 EOS 在 PC 机上从加电复位到成功启动全过程,了解操作系统的启动过程。

查看 EOS 启动后的状态和行为,理解操作系统启动后的工作方式。

二、实验正文

1. 准备实验

新建一个 EOS Kernel 项目。打开 boot.asm 和 loader.asm 两个汇编文件。生成项目。找

到 loader.bin 文件,记录下此文件的大小 1566 字节。

2 调试 EOS 操作系统的启动过程

2.1 使用 Bochs 做为远程目标机

找到 “远程目标机”属性,将此属性值修改为 “BochsDebug”

2.2 调试 BIOS 程序

2.2.1 在 Console 窗口中输入调试命令 sreg 后按回车,其中 CS 寄存器信息行中的 “

s=0xf000”表示 CS 寄存器的值为 0xf000。

2.2.2 输入调试命令 r 后按回车,显示当前 CPU 中各个通用寄存器的值。其中 “

rip:00000fff0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值