OS实验报.doc
文本预览下载声明
综合实验报告
( 2014--2015 年度第 1 学期 )
名 称: 操作系统综合实验
题 目: 基于OSLab的操作系统综合实验
院 系: 计算机系
班 级:
学 号:
学生姓名:
指导教师: 王平 岳燕
设计周数: 1周
成 绩:
日期: 2014年 11 月13日
一、 操作系统综合实验的目的与要求
实验一 实验环境的使用
熟悉操作系统集成实验环境OS Lab的基本使用方法
练习编译、调试EOS操作系统内核以及EOS应用程序。
实验二 操作系统的启动
2. 1 跟踪调试EOS在PC机上从加电复位到成功启动的全过程,了解操作系统的启动过程。
2. 2 查看EOS启动后的状态和行为,理解操作系统启动后的工作方式。
实验三 进程的创建
3. 1 练习使用EOS API函数CreateProcess创建一个进程,掌握创建进程的方法,理解进程和程序的区别。
3. 2 调试跟踪CreateProcess函数的执行过程,了解进程的创建过程,理解进程是资源分配的单位。
实验四 线程的状态和转换
4. 1 调试线程在各种状态间的转换过程,熟悉线程的状态和转换。
4. 2 通过为线程增加挂起状态,加深对线程状态的理解。
实验五 进程的同步
5. 1 使用EOS的信号量,编程解决生产者—消费者问题,理解进程同步的意义。
5. 2 调试跟踪EOS信号量的工作过程,理解进程同步的原理。
5. 3 修改EOS的信号量算法,使之支持等待超时唤醒功能(有限等待),加深理解进程同步的原理。
实验六 时间片轮转调度
6. 1 调试EOS的线程调度程序,熟悉基于优先级的抢先式调度。
6. 2 为EOS添加时间片轮转调度,了解其它常用的调度算法。
实验七 物理存储器与进程逻辑地址空间的管理
7. 1 通过查看物理存储器的使用情况,并练习分配和回收物理内存,从而掌握物理存储器的管理方法。
7. 2 通过查看进程逻辑地址空间的使用情况,并练习分配和回收虚拟内存,从而掌握进程逻辑地址空间的管理方法。
实验八 分页存储器管理
8. 1 学习i386处理器的二级页表硬件机制,理解分页存储器管理原理。
8. 2 查看EOS应用程序进程和系统进程的二级页表映射信息,理解页目录和页表的管理方式。
8. 3 编程修改页目录和页表的映射关系,理解分页地址变换原理。
二、实验过程中遇到的问题及解决办法
实验一 实验环境使用
本次实验比较简单,主要就是根据指导书的内容熟悉实验环境
实验二 操作系统的使用
本次实验同样也没有遇到太大困难
3. 实验三 进程的创建
本实验主要的问题出在写代码阶段,在生成的时候多次出现错误
4. 实验四 线程的状态和转换
4. 1 Resume原语的实现,Resume原语可以将一个被Suspend原语挂起的线程
(处于静止就绪状态)恢复为就绪状态。
5. 实验五 进程的同步
在实验过程中修改信号量PsWaitForSemaphore时遇到了困难,原因是对生
产者消费者问题中的信号机制不够清楚。在查看课本,与同学的帮助之下完
成了此步骤。
6. 实验六 时间片轮转
对时间片轮转调度算法原理掌握不清,在 编写代码的时候就不知所从,而且由于实验指导书的一部分内容没有理解透彻,在很简单的一部分浪费了过长的时间,最后通过咨询老师和上网参考了代码,完成了实验
7. 试验七 物理存储器与进程逻辑地址空间的管理
实验过程中,有一处断点设置错误导致后面的所有结果都出现了错误,只能从头再来
8. 实验八 分页存储器管理
本次实验较为简单没有出现很大的困难
三、思考题解答
1. 实验一 实验环境使用
思考题:
(1)逐过程是逐行调试,逐语句是进入一个被调用的函数。
通过使用SDK来调用API EOS SDK文件夹中的内容,组织结构:包含头文件、导入库文件和动态链接库文件。
各个文件的来源和作用:头文件的主要作用是导出操作系统使用的一些数据类型(例如操作系统中使用的结构体类型)和API函数的声明。头文件一般会被放在SDK中的Inc(Include)文件夹中。
导入库文件(Import Library)是根据操作系统需要导出的API函数而生成的特定格
显示全部