操作系统的启动实验报告.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

操作系统的启动实验报告

操作系统

实验报告

哈尔滨⼯程⼤学

计算机科学与技术学院

⼀、实验概述

1.实验名称

操作系统的启动

2.实验⽬的

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

2查看EOS启动后的状态和⾏为,理解操作系统启动后的⼯作⽅式。3.实验类型

验证性实验

4.实验内容

调试EOS操作系统的启动过程包括:(1).使⽤Bochs做为远程⽬标机;(2).调试BIOS程序;(3).调试软盘引导扇区程序;

(4).调试加载程序;(5).调试内核;(6).查看EOS启动后的状态和⾏为

⼆、实验环境

EOS操作系统和配套的IDE集成开发环境。

三、实验过程

1.设计思路和流程图

图2-1.EOS操作系统的启动过程流程图

2.算法实现:验证性试验,⽆算法。

3.需要解决的问题及解答(试验指导)

(1).为什么EOS操作系统从软盘启动时要使⽤boot.bin和loader.bin两个程序?使⽤⼀个可以吗?它们各⾃的主要功能是什

么?如果将loader.bin的功能移动到boot.bin⽂件中,则boot.bin⽂件的⼤⼩是否仍然能保持⼩于512字节?

答:boot⽂件夹包含了两个汇编⽂件boot.asm和loader.asm。这两个⽂件⽣成的⼆进制⽂件boot.bin和loader.bin会被写⼊软盘

镜像⽂件。操作系统启动时boot.bin和loader.bin引导软盘加载程序,⼆者缺⼀不可。使⽤Boot.bin的主要功能是引导软盘;

loader.bin的主要功能是加载程序。如果把loader.bin功能移动到boot.bin程序中,必然导致程序规模扩⼤,可能使其⼤于512字

节。

(2).软盘引导扇区加载完毕后内存中有两个⽤户可⽤的区域,为什么软盘引导扇区程序选择将loader.bin加载到第⼀个可⽤区

域的0x1000处呢?这样做有什么好处?这样做会对loader.bin⽂件的⼤⼩有哪些限制。

答:⾸先⽤户只⽤两个可⽤区域,加载位置⾮此即彼。第⼀个可⽤⽤户区是低地址区,且空间⼤⼩⽐较⼩,适合容纳⼩⽂件,

所以我们选择将占⽤空间⼩的loder.bin加载到第⼀⽤户区。

优点:由低地址开始,便于检索查找。⼩⽂件占⽤⼩空间,节约资源。

限制:loader.bin⽂件必须⼩于1c00k.

(3).练习使⽤Bochs单步调试BIOS程序、软盘引导扇区程序和loader程序,加深对操作系统启动过程的理解。

(4).仔细⽐较实验指导10-5图和图10-6,尝试说明哪个是应⽤程序的进程,它和系统进程有什么区别,哪个是应⽤程序的主

线程,它和系统线程有什么区别。

答:图10-6是应⽤程序的进程,在进程列表中只有⼀个ID为1的系统进程,其优先级为24,包含有10个线程,其中的ID为2的

线程是该进程的主线程,系统进程没有映像名称。在线程列表中有10个线程,它们都是系统线程。

区别:主线程的优先级别⾼。存放在物理内存的低端。

4.主要数据结构、实现代码及其说明:验证性实验,⽆此项⽬。

5.源程序并附上注释:验证性实验,⽆此项⽬。

6.程序运⾏时的初值和运⾏结果,实验过程

1.调试BIOS程序

(1).在Console窗⼝中输⼊调试命令sreg后按回车,显⽰当前CPU中各个段寄存器的值,如图2-1。其中CS寄存器信息⾏中

的“s=0xf000”表⽰CS寄存器的值为0xf000.

(2).输⼊调试命令r后按回车,显⽰当前CPU中各个通⽤寄存器的值,如图10-3。其中“rip:00000fff0”表⽰IP寄存器

的值为0xfff0。

(3).输⼊调试命令xp/1024b0x0000,查看开始的1024个字节的物理内存。在Console中输出的这1K物理内存的值都为0,说

明BIOS中断向量表还没有被加载到此处。

(4).输⼊调试命令xp/512b0x7c00,查看软盘引导扇区应该被加载到的内存位置。输出的内存值都为0,说明软盘引导扇区还

没有被加载到此处。

2.调试软盘引导扇区程序

a.输⼊调试命令vb0x0000:0x7c00,这样就在逻辑地址0x0000:0x7c00(相当于物理地址0x7c00)处添加了⼀个断点。

b.输⼊调试命令c继续执⾏,在0x7c00处的断点中断。中断后会在Console窗⼝中输出下⼀个要执⾏的指令,即软盘引导扇区

程序的第⼀条指

文档评论(0)

135****5548 + 关注
官方认证
文档贡献者

各类考试卷、真题卷

认证主体社旗县兴中文具店(个体工商户)
IP属地河南
统一社会信用代码/组织机构代码
92411327MAD627N96D

1亿VIP精品文档

相关文档