文档详情

OS实验报.doc

发布:2017-01-20约3.84万字共16页下载文档
文本预览下载声明
综合实验报告 ( 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函数而生成的特定格
显示全部
相似文档