《实验6--2011211102--车红岫.doc》由会员分享,可在线阅读,更多相关《实验6--2011211102--车红岫.doc(8页珍藏版)》请在金锄头文库上搜索。
1、操作系统实 验 报 告课程名称操作系统实验课程编号0906553实验项目名称时间片轮转调度学号2011211102年级2011姓名车红岫专业信息安全学生所在学院国家保密学院指导教师刘 刚实验室名称地点计算机基础第三实验室 21B284 哈尔滨工程大学计算机科学与技术学院第一讲 实验环境的使用一、实验概述1. 实验名称时间片轮转调度2. 实验目的调试EOS 的线程调度程序,熟悉基于优先级的抢先式调度为EOS 添加时间片轮转调度,了解其他常用的调度算法3. 实验类型(验证、设计)验证+设计4. 实验内容3.1准备实验3.2阅读控制台命令:“rr”相关的源代码3.3调试线程调度程序3.3.1调试当前
2、线程不被抢先的情况 3.3.2调试当前线程被抢先的情况3.4为EOS 添加时间片轮转调度 3.4.1要求 3.4.2测试方法 3.4.3提示3.5修改线程时间片的大小二、实验环境进行实验使用的操作系统、编译器、语言及工具等。三、实验过程(每次实验不一定下面6条都写,根据实际情况定)1 实验过程及结果(1)无时间片轮转调度时“rr”命令的执行结果(2)每轮循环输出内容(3)当前线程不被抢先时监视窗口值(4)当前线程被抢先是监视窗口值(5)添加时间片轮转调度后的执行结果将TICKS_OF_TIME_SLICE修改为1时的结果将TICKS_OF_TIME_SLICE修改为20时的结果将TICKS_O
3、F_TIME_SLICE修改为100是的结果(因为较慢,所以可获取多张截图)2. 源程序并附上注释VOIDPspRoundRobin(VOID)/*+功能描述:时间片轮转调度函数,被定时计数器中断服务程序 KiIsrTimer 调用。参数:无。返回值:无。-*/ if(NULL!=PspCurrentThread&Running=PspCurrentThread-State) PspCurrentThread-RemainderTicks-; if(0=PspCurrentThread-RemainderTicks) PspCurrentThread-RemainderTicks=TICKS_OF_TIME_SLICE; if(BIT_TEST(PspReadyBitmap,PspCurrentThread-Priority) PspReadyThread(PspCurrentThread); / 在此添加代码,实现时间片轮转调度算法。/return;四、实验体会 学会了调试EOS 的线程调度程序,熟悉了基于优先级的抢先式调度学会了为EOS 添加时间片轮转调度,了解其他常用的调度算法。7