51CTO下载18张薇操作系统实验二Word文件下载.docx
《51CTO下载18张薇操作系统实验二Word文件下载.docx》由会员分享,可在线阅读,更多相关《51CTO下载18张薇操作系统实验二Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
2010201118
年级
2010
姓名
张薇
专业
软件工程
学生所在学院
软件学院
指导教师
刘刚
实验室名称地点
软件工程实验室21B282
哈尔滨工程大学
一、实验概述
1.实验名称
操作系统的启动
2.实验目的
(1)跟踪调试EOS在PC机上从加电复位到成功启动的全过程,了解操作系统的启动过程。
(2)查看EOS启动后的状态和行为,理解操作系统启动后的工作方式。
3.实验类型
验证
4.实验内容
(1)准备实验
(2)调试EOS操作系统的启动过程
a.使用Bochs做为远程目标机
b.调试BIOS程序
c.调试软盘引导扇区程序
d.调试加载程序
e.调试内核
f.EOS启动后的状态和行为
二、实验环境
操作系统:
EOS操作系统
编译器:
TevationOSLab
语言:
C++
三、实验过程
1.设计思路和流程图
将初始地址和当前地址相减即可得到需要的而设计地址
2.算法实现
3.需要解决的问题及解答
(1)实验指导中的P125-6(8b)
(2)实验指导中的P127最下面:
仔细比较图10-6和图10-5,尝试说明哪个是应用程序的进程,它和系统进程有什么区别,哪个是应用程序的主线程,它和系统线程有什么区别。
答:
ID为1的是系统进程,包含有10个线程,其中ID为2的线程是该进程的主线程。
ID为31的是应用程序的进程,其主线程是ID为33的线程。
进程与应用程序的区别在于应用程序作为一个静态文件存储在计算机系统的硬盘等存储空间中,而进程则是出于动态条件下由操作系统维护的系统资源管理实体。
线程是系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元。
对于操作系统而言,其调度单元是线程。
一个进程至少包括一个线程,通常将该线程称为主线程。
一个进程从主线程的执行开始进而创建一个或多个附加线程,就是所谓基于多线程的多任务。
主要看System是否为Y
4.主要数据结构、实现代码及其说明
5.源程序并附上注释
6.程序运行时的初值和运行结果
输入调试命令xp/1024b0x0000,结果如下图所示:
输入调试命令xp/512b0x7c00,结果如下图所示
输入调试命令sreg验证CS寄存器(0x0000)的值
输入调试命令r验证IP寄存器(0x7c00)的值
输入调试命令xp/1024b0x0000验证此时BIOS中断向量表已经被载入
输入调试命令xp/512b0x7c00显示软盘引导扇区程序的所有字节码
输入调试命令xp/512b0x0600验证图3-2中第一个用户可用区域是空白的。
输入调试命令xp/512b0x7e00验证图3-2中第二个用户可用区域是空白的。
验证这两个用户可用区域的高地址端也是空白的(这里只验证了一个用户可用区域的高地址段也是空白的)
输入调试命令xp/512b0xa0000验证图3-2中上位内存已经被系统占用
验证上位内存的高地址端已经被系统占用
输入调试命令vb0x0000:
0x7d81添加一个断点,输入调试命令c继续执行
输入调试命令xp/8b0x1000查看内存0x1000处的数据,验证此块内存的前三个字节和loader.lst文件中的第一条指令的字节码是相同的
验证loader程序被完全加载到了正确的位置
调试命令pb0x1513添加一个断点,输入调试命令c继续执行
调试命令x/1wx0x80001117查看内存中保存的32位函数入口地址
查看EOS的版本号
四、实验体会
本次实验比较简单,主要了解EOS操作系统启动后的状态和行为,了解操作系统启动后的工作方式,对于操作系统的实验有了一个初步的了解,为今后的实验打下基础。