操作系统的启动实验报告

操作系统的启动实验报告

ID:6107447

大小:1.49 MB

页数:14页

时间:2018-01-03

操作系统的启动实验报告_第1页
操作系统的启动实验报告_第2页
操作系统的启动实验报告_第3页
操作系统的启动实验报告_第4页
操作系统的启动实验报告_第5页
资源描述:

《操作系统的启动实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、操作系统实验报告课程名称操作系统实验实验项目名称操作系统的启动学号班级20100612姓名专业计算机科学与技术学生所在学院计算机科学与技术学院指导教师实验室名称地点计算机基础第七实验室21B475哈尔滨工程大学计算机科学与技术学院13一、实验概述1.实验名称操作系统的启动2.实验目的跟踪调试EOS在PC机上从加电复位到成功启动的全过程,了解操作系统的启动过程。 查看EOS启动后的状态和行为,理解操作系统启动后的工作方式。3.实验类型验证性实验4.实验内容调试EOS操作系统的启动过程包括:(1).使用Bochs做为远

2、程目标机;(2).调试BIOS程序;(3).调试软盘引导扇区程序;(4).调试加载程序;(5).调试内核;(6).查看EOS启动后的状态和行为二、实验环境EOS操作系统和配套的IDE集成开发环境。三、实验过程1.设计思路和流程图CPU从默认位置执行BIOS的开机自检和初始化程序,之后BIOS将软盘引导扇区加载到0x7C00并执行。软盘引导扇区中的Boot程序开始执行,将软盘根目录中的Loader程序文件Loader.bin加载到0x1000并执行Loader程序开始执行,先加载Kernel.dll,然后启动保护模式

3、和分页机制,最后跳到Kernel.dll的入口点执行Kernel.dll开始执行,初始化EOS内核,EOS启动完毕图2-1.EOS操作系统的启动过程流程图2.算法实现:验证性试验,无算法。133.需要解决的问题及解答(试验指导)(1).为什么EOS操作系统从软盘启动时要使用boot.bin和loader.bin两个程序?使用一个可以吗?它们各自的主要功能是什么?如果将loader.bin的功能移动到boot.bin文件中,则boot.bin文件的大小是否仍然能保持小于512字节?答:boot文件夹包含了两个汇编文件

4、boot.asm和loader.asm。这两个文件生成的二进制文件boot.bin和loader.bin会被写入软盘镜像文件。操作系统启动时boot.bin和loader.bin引导软盘加载程序,二者缺一不可。使用Boot.bin的主要功能是引导软盘;loader.bin的主要功能是加载程序。如果把loader.bin功能移动到boot.bin程序中,必然导致程序规模扩大,可能使其大于512字节。(2).软盘引导扇区加载完毕后内存中有两个用户可用的区域,为什么软盘引导扇区程序选择将loader.bin加载到第一个可

5、用区域的0x1000处呢?这样做有什么好处?这样做会对loader.bin文件的大小有哪些限制。答:首先用户只用两个可用区域,加载位置非此即彼。第一个可用用户区是低地址区,且空间大小比较小,适合容纳小文件,所以我们选择将占用空间小的loder.bin加载到第一用户区。优点:由低地址开始,便于检索查找。小文件占用小空间,节约资源。限制:loader.bin文件必须小于1c00k.(3).练习使用Bochs单步调试BIOS程序、软盘引导扇区程序和loader程序,加深对操作系统启动过程的理解。(4).仔细比较实验指导1

6、0-5图和图10-6,尝试说明哪个是应用程序的进程,它和系统进程有什么区别,哪个是应用程序的主线程,它和系统线程有什么区别。答:图10-6是应用程序的进程,在进程列表中只有一个ID为1的系统进程,其优先级为24,包含有10个线程,其中的ID为2的线程是该进程的主线程,系统进程没有映像名称。在线程列表中有10个线程,它们都是系统线程。区别:主线程的优先级别高。存放在物理内存的低端。4.主要数据结构、实现代码及其说明:验证性实验,无此项目。5.源程序并附上注释:验证性实验,无此项目。6.程序运行时的初值和运行结果,实验

7、过程1.调试BIOS程序(1).在Console窗口中输入调试命令sreg后按回车,显示当前CPU中各个段寄存器的值,如图2-1。其中CS寄存器信息行中的“s=0xf000”表示CS寄存器的值为0xf000.(2).输入调试命令r后按回车,显示当前CPU中各个通用寄存器的值,如图10-3。其中“rip:0x00000000:0000fff0”表示IP寄存器的值为0xfff0。13(3).输入调试命令xp/1024b0x0000,查看开始的1024个字节的物理内存。在Console中输出的这1K物理内存的值都为0,说

8、明BIOS中断向量表还没有被加载到此处。(4).输入调试命令xp/512b0x7c00,查看软盘引导扇区应该被加载到的内存位置。输出的内存值都为0,说明软盘引导扇区还没有被加载到此处。132.调试软盘引导扇区程序a.输入调试命令vb0x0000:0x7c00,这样就在逻辑地址0x0000:0x7c00(相当于物理地址0x7c00)处添加了一个断点。b.输入调

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。