下载此文档

精选操作系统的启动实验报告.doc


文档分类:IT计算机 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
精选操作系统的启动实验报告
操作系统实验报告
课程名称
操作系统
课程编号
0906553
实验工程名称
操作系统的启动
学号
年级
姓名
专业
计算机科学与技术
学生所在院
计算机科学与技术
精选操作系统的启动实验报告
操作系统实验报告
课程名称
操作系统
课程编号
0906553
实验工程名称
操作系统的启动
学号
年级
姓名
专业
计算机科学与技术
学生所在院
计算机科学与技术学院
指导老师
实验室名称
哈尔滨工程大学
计算机科学与技术学院
一.实验概述
实验名称:操作系统的启动
实验目的:
跟踪调试EOS在PC机上从加电复位到成功后启动的全过程,了解操作系统的启动过程;
查看EOS启动后的状态和行为,理解操作系统启动后的工作方式。
实验类型:验证,设计
实验内容:
准备实验,启动OS Lab,新建一个EOS Kernel工程;
调试EOS操作系统的启动过程
使用Bochs作为远程目标机
调试BIOS程序
调试软盘引导扇区程序
调试加载程序
调试内核
查看EOS启动后的状态和行为
二.实验环境
操作系统:windows XP
编译器:Tevalaton OS Lab
语言: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 /1024b 0x0000,查看开始的 1024 个字节的物理内存。在 Console 中输出的这 1K 物理内存的值都为 0,说明 BIOS 中断向量表还没有被加载到此处。
4〕输入调试命令 xp /512b 0x7c00,查看软盘引导扇区应该被加载到的内存位置。输出的内存值都 为 0,说明软盘引导扇区还没有被加载到此处。
可以验证 BIOS 第一条指令所在逻辑地址中的段地址CS存放器值是一致的,偏移地址和 IP 存放器 的值是一致的。由于内存还没有被使用,所以其中的值都为0。
5〕 输入调试命令 vb 0x0000:0x7c00,这样就在逻辑地址 0x0000:0x7c00〔相当于物理地址 0x7c00〕处添加了一个断点。输入调试命令 c 继续执行,在 0x7c00 处的断点中断。中断后会在 Console 窗口中输出下一个要 执行的指令,即软盘引导扇区程序的第一条指令。
6〕 输入调试命令 sreg 验证 CS 存放器〔0x0000〕的值。
7〕 输入调试命令 r 验证 IP 存放器〔0x7c00〕的值。
8〕输入调试命令 xp /512b 0x0600 可验证第一个用户可用区域是空白的。
9〕设计两个查看内存的调试命令,分别验证这两个用户可用区域的高地址端也是空白的。
10〕软盘引导扇区程序的主要任务就是将软盘中的 文件加载到物理内存的 0x1000 处,然后跳 转到 loader 程序的第一条指令〔物理地址 0x1000 处的指令〕继续执行 loader 程序。
输入调试命令xp /8b 0x1000查看内存0x1000处的数据, 文件中的第一条指令的字节码是相同的。
11〕根据之前记录的 文件的大小,自己设计一个查看内存的调试命令,查看内存中 loader 程序结束位置的字节码,并与 文件中最后指令的字节码比拟,验证 loader 程序被完 全加载到了正确的位置。
12〕调试内核,,对其中的操作系统内核入口点函数K

精选操作系统的启动实验报告 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数12
  • 收藏数0 收藏
  • 顶次数0
  • 上传人sunny
  • 文件大小188 KB
  • 时间2022-08-22