---------------------------------作者:_____________-----------------------------日期:::操作系统的启动实验目的:跟踪调试EOS在PC机上从加电复位到成功后启动的全过程,了解操作系统的启动过程;查看EOS启动后的状态和行为,理解操作系统启动后的工作方式。实验类型:验证,设计实验内容:准备实验,启动OSLab,新建一个EOSKernel项目;:windowsXP编译器:TevalatonOSLab语言:C++:CPU从默认位置执行BIOS的开机自检和初始化程序之后,BIOS将软盘引导扇区加载到0x7C00并执行软盘引导扇区中的Boot程序开始执行,,初始化EOS内核,EOS启动完毕Loader程序开始执行,,然后启动保护模式和分页机制,: 1)在Console窗口中输入调试指令sreg,查看当前CPU中各个段寄存器的值,其中CS寄存器信息行中的“s=0xf000”表示CS寄存器的值为0xf000。2)输入调试命令r,显示当前CPU中各个通用寄存器的值,“rip:0x00000000:0000fff0”表示IP寄存器的值为0xfff0。3)输入调试命令xp/1024b0x0000,查看开始的1024个字节的物理内存。在Console中输出的这1K物理内存的值都为0,说明BIOS中断向量表还没有被加载到此处。4)输入调试命令xp/512b0x7c00,查看软盘引导扇区应该被加载到的内存位置。输出的内存值都为0,说明软盘引导扇区还没有被加载到此处。可以验证BIOS第一条指令所在逻辑地址中的段地址CS寄存器值是一致的,偏移地址和IP寄存器的值是一致的。由于内存还没有被使用,所以其中的值都为0。5)输入调试命令vb0x0000:0x7c00,这样就在逻辑地址0x0000:0x7c00(相当于物理地址0x7c00)处添加了一个断点。输入调试命令c继续执行,在0x7c00处的断点中断。中断后会在Console窗口中输出下一个要执行的指令,即软盘引导扇区程序的第一条指令。6)输入调试命令sreg验证CS寄存器(0x0000)的值。7)输入调试命令r验证IP寄存器(0x7c00)的值。8)输入调试命令xp/512b0x0600可验证第一个用户可用区域是空白的。9)设计两个查看内存的调试命令,分别验证这两个用户可用区域的高地址端也是空白的。10),然后跳转到loader程序的第
操作系统的启动实验报告 来自淘豆网m.daumloan.com转载请标明出处.