欢迎来到天天文库
浏览记录
ID:26147205
大小:1.55 MB
页数:23页
时间:2018-11-25
《操作系统实验报告附思考题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、WORD格式可编辑课程设计(综合实验)报告(2015--2016年度第1学期)名称:操作系统综合实验题目:oslab综合实验院系:计算机系班级:学号:学生姓名:指导教师:设计周数:分散进行成绩:日期:2015年10月29日专业知识整理分享WORD格式可编辑实验1实验环境的使用一、综合实验的目的与要求l熟悉操作系统集成实验环境OSLab的基本使用方法。l练习编译、调试EOS操作系统内核以及EOS应用程序。二、实验正文1.启动OSLab2.1执行项目Windows控制台窗口内容显示2.2调试项目2.2.1使用断点中断执行2.2.2单步
2、调试2.2.2.3单步调试结果显示:练习使用“逐语句”功能和“跳出”功能2.2.3查看变量的值快速监视添加监视2.2.4调用堆栈调用堆栈显示内容进入Func函数双击main函数所在的行表示此函数是当前调用堆栈中的活动函数。3新建EOS内核项目4EOS应用程序项目的生成和调试4.1新建EOS应用程序项目4.2调试项目添加断点后单步调试结果显示4.3查看软盘镜像文件中的内容4.4修改EOS应用程序项目名称5退出OSLab6保存EOS内核项目三、综合实验总结或结论思考与练习:1.在哪些情况下应该使用“逐过程”调试,在哪些情况下应该使用“
3、逐语句”调试。专业知识整理分享WORD格式可编辑答:逐语句为每执行一行语句,如果碰到函数调用它就会进入到函数里面。而逐过程碰到函数时不进入函数,把函数调用当成一条语句去执行。2.生成EOSSDK文件夹的目的和作用。明白文件夹的组织结构和各个文件的来源和作用。查看EOS应用程序包含了SDK文件夹中的哪些头文件,是如何包含的?(1)EOS SDK为应用程序调用系统API提供服务,可作为用户编程中使用的工具包集合。(2)其主要包括INC头文件LIB文件夹、导入库文件和BIN文件夹、动态链接库、可执行程序、二进制文件。(3)包含的头文件有
4、:eos.h负责导出API函数,eosdef.h声明负责导出函数类型的定义,error.h负责导出错误码。(4)EOS应用程序在项目的头文件中只是包含了eos.h文件,在eos.h文件中又包含了eosdef.h和error.h文件。实验2操作系统的启动一、综合实验的目的与要求跟踪调试EOS在PC机上从加电复位到成功启动全过程,了解操作系统的启动过程。查看EOS启动后的状态和行为,理解操作系统启动后的工作方式。二、实验正文1.准备实验新建一个EOSKernel项目。打开boot.asm和loader.asm两个汇编文件。生成项目。找
5、到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:0x00000000:0000fff0”表示IP寄存器的值为0xfff0。2.2.3输入调试命令xp/
6、1024b0x0000,查看开始的1024个字节的物理内存。在Console中输出的这1K物理内存的值都为0,说明BIOS中断向量表还没有被加载到此处。2.2.4输入调试命令xp/512b0x7c00,查看软盘引导扇区应该被加载到的内存位置。输出的内存值都为0,说明软盘引导扇区还没有被加载到此处。专业知识整理分享WORD格式可编辑可以验证BIOS第一条指令所在逻辑地址中的段地址和CS寄存器值是一致的,偏移地址和IP寄存器值是一致的。由于内存还没有被使用,所以其中的值都为0。2.3调试软盘引导扇区程序2.3.1.输入调试命令vb0x
7、0000:0x7c00,添加断点2.3.2.输入调试命令c继续执行2.3.3.输入调试命令sreg验证CS寄存器(0x0000)的值。2.3.4.输入调试命令r验证IP寄存器(0x7c00)的值。2.3.5输入调试命令xp/1024b0x0000验证此时BIOS中断向量表已经被载入。2.3.6.输入调试命令xp/512b0x7c00显示软盘引导扇区程序的所有字节码。专业知识整理分享WORD格式可编辑2.3.7输入调试命令xp/512b0x0600验证图3-2中第一个用户可用区域是空白的。2.3.8输入调试命令xp/512b0x7e
8、00验证图3-2中第二个用户可用区域是空白的。2.3.9自己设计两个查看内存的调试命令,验证这两个用户可用区域的高地址端是空白的。(1)xp/512b0x7f00(2)xp/512b0x07002.3.10输入调试命令xp/512b0xa0000验
此文档下载收益归作者所有