欢迎来到天天文库
浏览记录
ID:39825637
大小:1.18 MB
页数:6页
时间:2019-07-12
《哈工程操作系统第二个》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、操作系统实验报告课程名称操作系统实验课程编号0906553实验项目名称操作系统的启动学号年级三姓名专业计算机科学与技术学生所在学院计算机科学与技术实验指导教师初妍实验室名称地点哈尔滨工程大学计算机科学与技术学院第二讲操作系统的启动一、实验概述1.实验名称操作系统的启动2.实验目的(1)跟踪调试EOS在PC机上从加电复位到成功启动的全过程,了解操作系统的启动过程。(2)查看EOS启动后的状态和行为,理解操作系统启动后的工作方式。3.实验类型(验证、设计)验证4.实验内容(1)准备实验(2)调试EOS操作系统的启动过
2、程二、实验环境EOS操作系统、Bochs模拟器、VirtualPC虚拟机软件、NASM汇编、BIOS(BasicInput/OutputSystem)三、实验过程1.准备实验(1)启动OSLab(2)新建一个EOSKernel项目(3)在“项目管理器”窗口中打开boot文件夹中的boot.asm和loader.asm两个汇编文件。(4)生成项目(5)生成完成后,使用Windows资源管理器打开项目文件夹中的Debug文件夹。找到boot.asm生成的软盘引导扇区程序boot.bin文件,该文件的大小是512字节。
3、找到由loader.asm生成的loader.bin文件,记录下此文件的大小1566字节,在下面的实验中会用到。找到由其它源文件生成的操作系统内核文件kernel.dll2.调试EOS操作系统的启动过程(1)使用Bochs做为远程目标机(2)调试BIOS程序在Console窗口中输入调试命令sreg后按回车,CS寄存器的值为0xf000。输入调试命令r后按回车,显示当前CPU中各个通用寄存器的值输入调试命令xp/1024b0x0000,查看开始的1024个字节的物理内存。输入xp/512b0x7c00,查看软盘引
4、导扇区应该被加载到的内村位置,输出的内存之都是0(3)调试软盘引导扇区程序软盘引导扇区程序的主要任务就是将软盘中的loader.bin文件加载到物理内存的0x1000处,然后跳转到loader程序的第一条指令(物理地址0x1000处的指令)继续执行loader程序。验证loader程序被完全加载到了正确的位置(4)调试加载程序a.在loader.lst文件中查找到准备进入EOS操作系统内核执行的指令(第755行)b.计算出进入内核执行的指令所在的物理地址为0x1513(0x1000+0x03c1+0x3+0x14
5、f)c.使用添加物理地址断点的调试命令pb0x1513添加一个断点d.输入调试命令c继续执行,到断点处中断e.使用查看虚拟内存的调试命令x/1wx0x80001117查看内存中保存的32位函数入口地址(5)调试内核a.在OSLab的“项目管理器”窗口中打开ke文件夹中的start.c文件,找到操作系统内核的入口点函数KiSystemStartupb.在KiSystemStartup函数中的代码行(第61行)KiInitializePic();添加一个断点c.在Console窗口中输入调试命令c继续调试,在刚刚添加
6、的断点处中断d.KiSystemStartup函数就被添加到了“监视”窗口中e.按F5继续执行EOS操作系统内核(6)EOS启动后的状态和行为查看EOS版本号:在控制台中输入命令“ver”后按回车。查看EOS启动后的进程和线程的信息:在控制台中输入命令“pt”后按回车。使用pt命令查看进程和线程的信息查看有应用程序运行时进程和线程的信息:1.在OSLab中选择“调试”菜单中的“停止调试”2.在OSLab“项目管理器”窗口中双击Floppy.img文件3.打开配套资源“学生包”,在其中找到本实验对应的文件夹4.将本
7、实验文件夹中的Hello.exe文件拖动到FloppyImageEditor工具窗口的文件列表中释放,Hello.exe文件即被添加到软盘镜像文件中5.在FloppyImageEditor中选择“文件”菜单中的“保存”后关闭FloppyImageEditor6.按F5启动调试7.待EOS启动完毕,在EOS控制台中输入命令“hello”后按回车8.迅速按Ctrl+F2切换到控制台2,并输入命令“pt”后按回车?????????????使用pt命令查看有应用程序运行时进程和线程的信息四、实验心得体会回答问题:仔细比较
8、图10-5和10-6后,ID31是应用程序的进程。与系统进程相比,应用程序的进程优先级低。系统进程没有映像名称,应用程序进程又影响名称。线程ID33是应用程序的主线程。与系统程序线程相比,系统线程优先级为0,并处于运行状态(Running),而应用程序处于阻塞状态(Waiting)。体会:进一步熟悉了OSlab的使用,对操作系统启动的全过程都有了更加深入的了解。实验指令中
此文档下载收益归作者所有