77范文网 - 专业文章范例文档资料分享平台

华北电力大学 操作系统实验报告

来源:网络收集 时间:2018-11-26 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

综合实验报告

( 2013 -- 2014 年度第 1 学期)

名 称: 操作系统综合实验

题 目: 基于OS Lab的操作系统综合实验 院 系: 计算机系 班 级: 网络 学 号: 201 学生姓名: 指导教师: 王平,王晓辉 设计周数: 1

成 绩:

日 期: 2013 年 12 月

实验一:实验环境的使用

一、实验目的:

1、熟悉操作系统集成实验环境OS Lab的基本使用方法。 2、练习编译、调试EOS操作系统内核以及EOS应用程序。 二、实验内容: 1、启动OS Lab

2、学习OS Lab的基本使用方法 3、EOS内核项目的生成和调试

4、EOS应用程序项目的生成和调试 5、退出OS Lab

6、保存EOS内核项目 三、实验过程:

本实验实验过程主要按照eos操作系统实验教程上所对应的章节来进行。 实验结果:

(一)启动OS Lab :(无)

(二)学习OS Lab的基本使用方法 :

(1)、创建了第一个项目:(2)、生成了第一个项目

(3)、添加了func文件后

经过一系列的调试,打印出了相关内容,按shift+F5结束调试。 (4)、查看变量的值:有3种方法:

1、将鼠标移动到源代码编辑器中变量n的名称上,此时会弹出一个窗口显示出变量n当前的值(由于此时还没有给变量n赋值,所以是一个随机值)。

2、在源代码编辑器中变量n的名称上点击鼠标右键,在弹出的快捷菜单中选择“快速监视”,可以使用“快速监视”对话框查看变量n的值。然后,可以点击“关闭”按钮关闭“快速监视”对话框。

3、在源代码编辑器中变量n的名称上点击鼠标右键,在弹出的快捷菜单中选择“添加监视”,变量n就被添加到了“监视”窗口中。使用“监视”窗口可以随时查看变量的值和类型。此时按F10进行一次单步调试,可以看到“监视”窗口中变量n的值会变为0

(1)、调用堆栈 :使用“调用堆栈”窗口可以在调试的过程中查看当前堆栈上的函数,还可以帮助理解函数的调用层次和调用过程。 EOS内核项目的生成和调试 : (2)、新建EOS内核项目 (3)、生成项目 (4)、调试项目 (5)、查看软盘镜像文件中的内容

(6)、查看EOS SDK(Software Development Kit)文件夹

EOS应用程序项目的生成和调试 新建EOS应用程序项目 生成项目 :按F7生成项目

调试项目 :按F5进行各种调试

查看软盘镜像文件中的内容 :使用FloppyImageEditor工具打开该项目中的Floppy.img文件,查看软盘镜像中的文件。L 修改EOS应用程序项目名称 (三)退出 (四)保存 四、实验总结:

经过试验1,我理解了OS Lab的基本操作方法和主要用途,这为以后的试验打下了基础。

实验二: 操作系统的启动

一、 实验目的

?

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

二、 实验内容及其实验步骤 3.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。

3.2 调试 EOS 操作系统的启动过程 3.2.1 使用 Bochs 做为远程目标机 3.2.2 调试 BIOS 程序

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

从 Console 窗口显示的内容中,我们可以获得关于 BIOS 第一条指令的如下信息: 行首的[0xfffffff0]表示此条指令所在的物理地址。?

f000:fff0 表示此条指令所在的逻辑地址(段地址:偏移地址)。? jmp far f000:e05b 是此条指令的反汇编代码。?

行尾的 ea5be000f0 是此条指令的十六进制字节码,可以看出此条指令有 5 个字节。 接下来可以按照下面的步骤,查看 CPU 在没有执行任何指令之前主要寄存器中的数据,以及内存中的 数据:

1. 在 Console 窗口中输入调试命令 sreg 后按回车,显示当前 CPU 中各个段寄存器的值,如图 10-2。

其中 CS 寄存器信息行中的“s=0xf000”表示 CS 寄存器的值为 0xf000。

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

3. 输入调试命令 xp /1024b 0x0000,查看开始的 1024 个字节的物理内存。在 Console 中输出的这

1K 物理内存的值都为 0,说明 BIOS 中断向量表还没有被加载到此处。

4. 输入调试命令 xp /512b 0x7c00,查看软盘引导扇区应该被加载到的内存位置。输出的内存值都

为 0,说明软盘引导扇区还没有被加载到此处。

3.2.3 调试软盘引导扇区程序 3.2.4 调试加载程序 3.2.5 调试内核

调试内核的步骤如下: 1. 在 OS Lab 的“项目管理器”窗口中打开 ke 文件夹中的 start.c 文件,此文件中只定义了一个函数,就是操作系统内核的入口点函数 KiSystemStartup。 2. 在 KiSystemStartup 函数中的代码行(第 61 行)KiInitializePic();添加一个断点。

3. 现在可以在 Console 窗口中输入调试命令 c 继续调试,在刚刚添加的断点处中断。

4. 在 start.c 源代码文件中的 KiSystemStartup 函数名上点击鼠标右键,在弹出的快捷菜单中选择“添加监视”,KiSystemStartup 函数就被添加到了“监视”窗口中。在“监视”窗口中可以看到此函数地址为{void (PVOID)} 0x800***** 与在虚拟内存 x80001117 处保存的函数入口地址相同,说明的确是由 Loader 程序进入了操作系统内核。 5. 按 F5 继续执行 EOS 操作系统内核,在 Display 窗口中显示 EOS 操作系统已经启动,并且控制台EOS 操作系统实验教程北京海西慧学科技有限公司 http://www.tevation.com126程序已经开始运行了。 3.2.6 EOS 启动后的状态和行为 查看 EOS 的版本号:

1. 在控制台中输入命令“ver”后按回车。

2. 输出 EOS 版本后的控制台如图 10-4 所示。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库华北电力大学 操作系统实验报告在线全文阅读。

华北电力大学 操作系统实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/310488.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: