




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统实验报告课程名称操作系统课程编号0906553实验项目名称实验环境的使用学号年级姓名专业计算机科学与技术学生所在院计算机科学与技术学院指导老师实验室名称哈尔滨工程大学计算机科学与技术学院实验环境的使用一实验概述1. 实验名称:实验环境的使用2. 实验目的:1) 熟悉操作系统集成实验环境OS Lab的基本使用方法;2) 练习编译、调试EOS操作系统内核以及EOS应用程序。3. 实验类型:验证4. 实验内容:1) 准备实验,启动OS Lab;2) 学习OS Lab的基本使用方法;3) EOS内核项目的生成和调试;4) EOS应用程序项目的生成和调试;5) 退出OS Lab;6) 保存EOS内核项目二实验环境操作系统:windows XP编译器:Tevalaton OS Lab语言:C+三实验过程 1.实验过程: 1)启动OS Lab,在启动后弹出的对话框中填入学号、姓名; 2)学习OS Lab的基本使用方法,使用OS Lab编写一个windows控制应用台应用程序,熟悉OS Lab的基本使用方法(主要包括新建项目、生成项目、调试项目等); 在“文件”菜单中选择新建项目,并选择项目模板“控制台应用程序”。 3)点击F5生成项目,并对结果中的问题进行修改。 如果源代码中存在语法错误,“输出”窗口会输出相应的错误信息(包括错误所在文件的路径,错误 在文件中的位置,以及错误原因),并在最后提示生成失败。此时在“输出”窗口中双击错误信息所在的 行,OS Lab 会使用源代码编辑器打开错误所在的文件,并自动定位到错误对应的代码行。可以在源代码文 件中故意输入一些错误的代码(例如删除一个代码行结尾的分号),然后再次生成项目,然后在“输出” 窗口中双击错误信息来定位存在错误的代码行,将代码修改正确后再生成项目。 4)执行项目,在 OS Lab 中选择“调试”菜单中的“开始执行(不调试)”,可以执行刚刚生成的 Windows 控制台应 用程序。启动执行后会弹出一个 Windows 控制台窗口,显示控制台应用程序输出的内容。按任意键即可关 闭此 Windows 控制台窗口。 5)调试项目,点击“项目管理器”窗口中的“源文件”文件夹节点,在弹出的快捷菜单中选择“添加”中 的“添加新文件”,文件中的函数如下所示。 int test1(int n) n+; return n; 6)将主函数进行修改。 7)使用断点中断执行,在main函数中定义变量n的代码行添加一个断点,在“调试”菜单中选择“启动调试”,Windows 控制台应用程序开始执行,随后 OS Lab 窗口被自 动激活,并且在刚刚添加断点的代码行左侧空白中显示一个黄色箭头,表示程序已经在此行代码 处中断执行(也就是说下一个要执行的就是此行代码)。此时查看控制台应用程序的窗口,可以看到窗口中没有输出n的值。 8)选择逐过程调试,可以看到控制台应用程序窗口,已经打印了n的值,结束调试。9)再次启动程序,程序依旧会在断点处中断,此时采用逐语句进行调试,可以发现黄色箭头指向了test1中的函数,选择“跳出”,会跳出test1函数,返回到上级函数中继续调试;10)查看变量的值,将鼠标移动到源代码编辑器中变量 n 的名称上,此时会弹出一个窗口显示出变量 n 当前的值(由 于此时还没有给变量 n 赋值,所以是一个随机值)。在源代码编辑器中变量 n 的名称上点击鼠标右键,在弹出的快捷菜单中选择“快速监视”,可以 使用“快速监视”对话框查看变量 n 的值。然后,可以点击“关闭”按钮关闭“快速监视”对话 框。11)调用堆栈,启动调试,会在之前设置的断点处中断,选择“调试”菜单“窗口”中的“调用堆栈”,激活“调用堆栈”窗口。可以看到当前“调用堆 栈”窗口中只有一个 main 函数(显示的内容还包括了参数值和函数地址)。采用逐过程调试,直到进入到test1函数,查看“调用堆栈”窗口可以发现在堆栈上有两个函数test1和main。其中当前正在调试的test1函数在栈顶位置,main 函数在栈底位置。说明是在 main 函数中调用了test1函数。在“调用堆栈”窗口中双击 main 函数所在的行,会有一个绿色箭头指向 main 函数所在的行,表 示此函数是当前调用堆栈中的活动函数。同时,会将 main 函数所在的源代码文件打开,并也使 用一个绿色箭头指向test1函数返回后的位置。反复双击“调用堆栈”窗口中Func函数和main函数所在的行,查看“监视”窗口中变量n的值, 可以看到在不同的堆栈帧被激活时,OS Lab 调试器会自动更新“监视”窗口中的数据,显示出对 应于当前活动堆栈帧的信息。结束调试。12)新建项目,选择项目模板“EOS Kernel”。13)生成项目,打开 C:eosdebug 文件夹,查看生成的对象文件和目标文件。找到 boot.bin、loader.bin 和 kernel.dll 三个二进制文件,这三个文件就是 EOS 操作系统在运行时需要的可执行文件。OS Lab 每次启动运行 EOS 操作系统之前,都会将这三个文件写入一个软盘镜像文件中,然后让虚拟机运 行这个软盘镜像中的 EOS(相当于将写有这三个二进制文件的软盘放入一个物理机的软盘驱动器 中,然后按下开机按钮)。找到 libkernel.a 文件,此文件是 EOS 内核文件 kernel.dll 对应的导 入库文件。14)在“项目管理器”窗口的文件夹中找到 start.c文件节点,双击此文件节点使用源代码编辑 器打开start.c文件。在 start.c 文件中KiSystemStartup函数的“KiInitializePic();”语句所在行添加一个断点,继续调试,熟悉各种调试功能的使用方法。15)查看软盘镜像文件的内容,在“项目管理器”窗口中双击软盘镜像文件 Floppy.img,就会使用 FloppyImageEditor 工具打开此文件。在 FloppyImageEditor 工具的文件列表中可以找到 loader.bin 文件和 kernel.dll 文件,这两个文件都是在启动调试时被写入软盘镜像文件的(可以查看这两个文件的修改日期)。boot.bin 文件在启动调试时被写入了软盘镜像的引导扇区中,不 受软盘文件系统的管理,所以在文件列表中找不到此文件。关闭 FloppyImageEditor工具。16)点击 OS Lab 工具栏上的“项目配置”下拉列表,选择下拉列表中的“Release”项目配置,“Release”项目配置被设置为新的活动项目配置,生成项目。17)SDK 文件夹中提供了开发 EOS 应用程序需要的所有文件。打开 SDK 文件夹中的 bin 文件夹,可以 看到有两个名称分别为 debug 和 release 的文件夹。debug 文件夹是在使用 debug 配置生成项目 时生成的,其中存放了调试版本的 EOS 二进制文件。release 文件夹是在使用 release 配置生成 项目时生成的,其中存放了发布版本的 EOS 二进制文件(不包含调试信息)。分别打开这两个文 件夹查看其中包含的文件。18)新建EOS应用程序项目,生成项目,打开 C:eosappdebug 文件夹,查看生成的对象文件和目标文件。其中的 EOSApp.exe 就是 EOS 应用程序的可执行文件。OS Lab 每次启动执行 EOS 应用程序时,都会将 EOS 应用程序的可执行文件写入软盘镜像,并且会将 SDK 文件夹中对应配置(Debug 或 Release)的二进制文件写入软盘 镜像,然后让虚拟机运行软盘镜像中的 EOS,待 EOS 启动后再自动执行 EOS 应用程序。19)调试项目,启动调试,。OS Lab 会弹出一个调试异常对话框,选择“是”调试异常,EOS 应用程序会中断执行,黄色箭头指向下一个要执行的代码行,在EOSApp.c 的printf(Hello world!n); 代码行添加一个断点,继续调试,查看虚拟机窗口,EOS应用程序执行完毕。20)将EOSApp文件重命名为MyApp,在“调试”菜单中“删除所有断点”,忽略异常,激活虚拟机窗口,可以到自动执行的可执行文件的名称为MyApp.exe。21)退出OS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 灾害护理期末考试题库及答案解析
- 基础护理学题库在线搜索及答案解析
- 揭阳证券从业考试及答案解析
- 2025年记号笔行业研究报告及未来行业发展趋势预测
- 2025年不良资产证券化行业研究报告及未来行业发展趋势预测
- 2025年半导体显示面板行业研究报告及未来行业发展趋势预测
- 2025年点歌设备行业研究报告及未来行业发展趋势预测
- 家具配件厂环保报告存档实施细则
- 2025年电池材料行业研究报告及未来行业发展趋势预测
- 家具配件厂合同签订流程管理规章
- 古诗词诵读教学设计与实施方案
- 2025年山东省政府采购评审专家考试题库附含答案
- 重庆市南开中学高2026届高三第一次质量检测+数学答案
- GJB135B-2021合成航空发动机润滑油规范
- 商业航天行业深度报告:政策技术需求共振商业航天赛道加速
- 小学科学新教科版二年级上册第一单元 造房子教案(共6课)(2025秋)
- 《系统工程》课件 胡祥培 第1-3章 绪论、系统工程相关理论、系统工程方法论
- 《人工智能基础》课件-AI的前世今生:她从哪里来
- 四川普通高中会考英语试卷及答案
- 营造林技能竞赛试题及答案
- 科比受伤及励志
评论
0/150
提交评论