操作系统实验-第二讲、操作系统的启动.doc

操作系统实验-第二讲、操作系统的启动.doc

ID:56867240

大小:2.21 MB

页数:14页

时间:2020-07-16

操作系统实验-第二讲、操作系统的启动.doc_第1页
操作系统实验-第二讲、操作系统的启动.doc_第2页
操作系统实验-第二讲、操作系统的启动.doc_第3页
操作系统实验-第二讲、操作系统的启动.doc_第4页
操作系统实验-第二讲、操作系统的启动.doc_第5页
资源描述:

《操作系统实验-第二讲、操作系统的启动.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、操作系统实验报告课程名称操作系统实验课程编号实验项目名称实验环境的使用学号班级姓名吴雪含专业计算机科学与技术学生所在学院计算机科学与技术学院指导教师王红滨、曹雪实验室名称地点21b276哈尔滨工程大学计算机科学与技术学院第二讲操作系统的启动一、实验概述1.实验名称操作系统的启动2.实验目的1)、跟踪调试eos在pc机上从加电复位到成功启动的全过程,了解操作系统的启动过程。2)、查看eos启动后的状态和行为,理解操作系统启动后的工作方式。3.实验类型(验证、设计)验证4.实验内容1)、启动OSLab。2)、新建一个EOSKer

2、nel项目。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程

3、序loader.bin文件,记录下此文件的大小1566字节,在下面的实验中会用到。找到由其它源文件生成的操作系统内核文件kernel.dll。二、实验环境进行实验使用的操作系统、编译器、语言及工具等。操作系统:WindowsXP编译器:TevalatonOSLab语言:C++三、实验过程(每次实验不一定下面6条都写,根据实际情况定)*需要解决的问题以及解答(1)、自己设计两个查看内存的调试命令,分别验证这两个用户可用区域的高地址端也是空白的。答:命令为:xp/512b0x7a00和cp/512v0x9fe00。因为第一个用户

4、区的高位地址截止到0x7c00,第二个用户区高位地址截止到0xA0000,命令表示显示从0x7a00和0x9fe00以后512b空间的所有字节码,即两个用户区的高位地址端,可以看到所有字节全为0,说明高地址端是空白的。如图一、图二所示。(2)、自己设计一个查看内存的调试命令,验证上位内存的高地址端已经被系统占用。答:命令为:xp/512b0xffe00。因为上位内存的高位地址截止到0x,命令表示显示从0xffe00以后的512b空间的所有字节码,即两个用户区的高位地址端。可以看到所有字节都有值,说明高地址端被占用。如图三所示

5、。(3)、根据之前记录的loader.bin文件的大小,自己设计一个查看内存的调试命令,查看内存中loader程序结束位置的字节码,并与loader.lst文件中最后指令的字节码比较,验证loader程序被完全加载到了正确的位置。答:命令为xp/8b0x1616.程序的初始位置为0x1000,加上1566的十六进制61E-8b,答案即为1616.如图四、图五、图六、图七所示。(4)、仔细比较实验指导10-5图和10-6图,尝试说明哪个是应用程序的进程,它和系统进程有什么区别,那个是应用程序的主线程,它和系统线程有什么区别?答

6、:进程列表中ID为31的进程是应用程序的进程,其优先级为8,包含1个线程,主线程ID为33,映像名称为a:hello.exe。而ID为1的是系统进程,其优先级为24,包含有10个线程,其中的ID为2的线程是该进程的主线程,系统进程没有映像名称。主要区别为:应用程序的进程优先级较低。线程列表中ID为33的线程是应用程序的线程,其优先级为8,处在阻塞状态,而ID为20~28的是系统进程,其优先级为24,其中ID为22的处于运行状态图一图二图三(5)、为什么EOS操作系统从软盘启动时要使用boot.bin和loader.bin两

7、个程序?使用一个可以吗?它们各自的主要功能是什么?如果将loader.bin的功能移动到boot.bin文件中,则boot.bin文件的大小是否仍然能保持小于512字节?答:在生成项目的时候,boot文件夹中的两个汇编文件boot.asm和loader.asm分别生成了两个二进制文件boot.bin和loader.bin。这两个文件缺一不可,他们会被写入软盘镜像文件。在EOS操作系统启动的时候,boot.bin用于引导软盘,而loader.bin用于加载程序。如果把loader.bin的功能移动到boot.bin程序中,肯定

8、会增加boot.bin的规模文件大小将会大于512字节。(6)、软盘引导扇区加载完毕后内存中有两个用户可用的区域,为什么软盘引导扇区程序选择将loader.bin加载到第一个可用区域的0x1000处呢?这样做有什么好处?这样做会对loader.bin文件的大小有哪些限制?答:第一个用户可用

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

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

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