操作系统实验报告

  • 格式:doc
  • 大小:402.00 KB
  • 文档页数:25

下载文档原格式

  / 25
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华北电力大学

实验报告|

|

实验名称操作系统实验

课程名称操作系统综合实验

|

|

专业班级:学生姓名:

学号:成绩:

指导教师:实验日期:

答:EOS SDK是为应用程序调用系统API提供服务,可作为用户编程中可使用的工具包集合。

EOS SDK文件夹主要包括INC头文件、LIB文件夹导入库文件和BIN文件夹动态链接库,可执行程序,二进制文件。

EOS SDK包含的头文件有:eos.h负责导出API函数声明;eosdef.h负责导出函数类型的定义;error.h 负责导出错误码。

四.实验过程

1.新建Windows控制台应用程序

生成项目:

执行项目:

调试项目:

2.使用断点终端执行:

查看EOS SDK(Software Development Kit)文件夹:

修改EOS应用程序项目名称:

五.实验心得

这次是验证性试验,具体步骤和操作方法都是与实验教程参考书上一致,实验很顺利,实验过程没有遇到困难。通过这次实验,我掌握了OS Lab启动和退出操作;练习使用OS Lab编写一个Windows控制台应用程序,熟悉OS Lab 的基本使用方法新建项目、生成项目、调试项目等。

2. 当loop线程在控制台1中执行,并且在控制台2中执行suspend命令时,为什么控制台1中的loop线程处于就绪状态而不是运行状态?

3. 在本实验3.2节中只调试了图5-3中显示的最主要的四种转换过程,对于线程由新建进入就绪状态,或者由任意状态进入结束状态的转换过程还没有调试,请读者找到这两个转换过程执行的源代码,自己练习调试。

4. 总结一下在图5-3中显示的转换过程,哪些需要使用线程控制块中的上下文(将线程控制块中的上下文恢复到处理器中,或者将处理器的状态复制到线程控制块的上下文中),哪些不需要使用,并说明原因。

5. 在本实验3.2节中总结的所有转换过程都是分步骤进行的,为了确保完整性,显然这些转换过程是不应该被打断的,也就是说这些转换过程都是原语操作(参见本书第2.6节)。请读者找出这些转换过程的原语操作(关中断和开中断)是在哪些代码中完成的。(提示,重新调试这些转换过程,可以在调用堆栈窗口列出的各个函数中逐级查找关中断和开中断的代码。)

6. 修改EOS源代码,对已经实现的线程的挂起状态进行改进。首先,不再使用Zero状态表示静止就绪状态,在枚举类型THREAD_STATE中定义一个新的项用来表示静止就绪状态,并对PsSuspe ndT hread函数进行适当修改。其次,处于阻塞状态和运行状态的线程

b)TICKS_OF_TIME_SLICE的值为20

c)TICKS_OF_TIME_SLICE的值为100

实验七物理存储器与进程逻辑地址空间的

管理

一.实验目的及要求

1. 使用EOS的信号量,编程解决生产者—消费者问题,理解进程同步的意义。

2. 通过为线程增加挂起状态,加深对线程状态的理解。

2. 调试跟踪EOS信号量的工作过程,理解进程同步的原理。

3. 修改EOS的信号量算法,使之支持等待超时唤醒功能(有限等待),加深理解进程同步的原理。

二.实验内容及步骤