处理机调度实验报告1.doc

处理机调度实验报告1.doc

ID:55997847

大小:436.50 KB

页数:21页

时间:2020-03-15

处理机调度实验报告1.doc_第1页
处理机调度实验报告1.doc_第2页
处理机调度实验报告1.doc_第3页
处理机调度实验报告1.doc_第4页
处理机调度实验报告1.doc_第5页
资源描述:

《处理机调度实验报告1.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、深圳大学实验报告课程名称:操作系统实验项目名称:处理机调度学院:计算机与软件学院专业:软件工程指导教师:报告人:学号:班级:实验时间:2013年5月7日实验报告提交时间:2013年5月22日教务处制一、实验目的与要求:实验目的:模拟在单处理器多进程操作系统的CPU调度。帮助学生掌握多种CPU调度算法的知识原理和运作机制。本实验为模拟实验,不要求实现真正的进程创建与进程调度。主要实现各种调度算法。实验要求:1、阅读理解例程,掌握例程的运作流程。运行例程,理解先来先服务算法的调度原理和运行结果。2、参考先来先服务算法,尝试实现其他四种调度算法:短作业优先、高响应比、时间片轮转、多级反馈队列。要

2、求至少实现一种算法。a)除了多级反馈队列,其他算法采用非抢占调度b)短作业优先算法使用例题一数据或程序内置数据,要求运行结果给出调度顺序、完成时间、周转时间、带权周转时间c)高响应比算法使用例题二的数据,要求运行结果给出调度顺序、完成时间、周转时间、带权周转时间d)时间片轮转算法可以使用程序内置数据,要求运行结果给出每个时间片是被哪个进程使用,每个进程完成时,要修改状态并输出提示。e)多级反馈队列算法使用例题三的数据,要求运行结果给出正确的进程调度顺序和过程描述。二、方法、步骤:(说明程序相关的算法原理或知识内容,程序设计的思路和方法,可以用流程图表述,程序主要数据结构的设计、主要函数之间

3、的调用关系等)先来先服务算法:按到达时间先后,选择最先来的作业最先执行实现思想:对作业的到达时间按大小进行排序,然后按顺序执行短作业优先算法:在后备队列中,选择服务时间最短的作业最先执行实现思想:对作业按到达时间排序,接着对到达的作业,即后备队列中的作业按服务时间排序,取服务时间最小的作业最先执行高响应比算法:对作业的优先权(响应时间/要求服务时间)进行计算,对优先权最高的最先执行实现实现:计算后备队列中作业的优先权,并排序,优先权最高的最先执行时间片轮转算法:将所有就绪进程按先来先服务排成队列,把CPU分配给队首进程,进程只执行一个时间片,时间片用完后,将已使用时间片的进程送往就绪队列的

4、末尾,分配处理机给就绪队列中下一进程实现思想:将作业按到达时间排序,在后备队列中选择第一个作业,把CPU分配给它,执行一个时间片,时间片用完后,将作业送往后备队列的末尾,把CPU分配给下一个作业,直到所有作业完成多级反馈队列调度算法:设置多个就绪队列,各个队列优先级逐个降低,各个队列时间片逐个增加,优先级越高的队列执行时间片就越短,一般时间片按倍增规则,每个新进程首先进入第一个队列,遵循FCFS,在当前队列的时间片内,进程若能完成,退出,进程若未完成,降级到第二个队列,同样遵循FCFS依次类推,若在第二个队列的时间片内仍未完成,再降级到第三个队列……实现思想:设置多个就绪队列,各个队列优先

5、级逐个降低,各个队列时间片逐个增加,优先级越高的队列执行时间片就越短,一般时间片按倍增规则,例如,第二队列的时间片要比第一个队列的时间片长一倍,……,第i+1个队列的时间片要比第i个队列的时间片长一倍,整合了时间片、FCFS、优先级三种机制。三.实验过程及内容:(对程序代码进行说明和分析,越详细越好,代码排版要整齐,可读性要高)#include"stdio.h"#include//#include#include#include//#defineNULL0#definegetpch(type)(type*)malloc(

6、sizeof(type))typedefstructpcbPCB;structpcb{//定义进程控制块PCBintid;//标示符charname[10];//名称inttime_start;//到达时间inttime_need;//服务时间inttime_left;//剩余运行时间inttime_used;//已使用时间charstate;//进程状态};//****************系统函数void_sleep(intn){clock_tgoal;goal=(clock_t)n*CLOCKS_PER_SEC+clock();while(goal>clock());}char_k

7、eygo(){charc;printf("按任意键继续……");c=getchar();returnc;}//******************用户函数inttime_unit=2;intnum=5;//实际进程数量PCBpcbdata[10]={//例程内置数据{1000,"A",0,4,4,0,'R'},{1001,"B",1,3,3,0,'R'},{1002,"C",2,5,5,0,'R'},{1003,"D

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。