下载此文档

高响应比调度算法.docx


文档分类:IT计算机 | 页数:约19页 举报非法文档有奖
1/19
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/19 下载此文档
文档列表 文档介绍
该【高响应比调度算法 】是由【泰山小桥流水】上传分享,文档一共【19】页,该文档可以免费在线阅读,需要了解更多关于【高响应比调度算法 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。淮北师范大学计算机学院实验设计报告操作系统程序设计实验报告实验课题:高响应比调动算法所属学院:计算机科学与技术所属班级:11级计算机非师姓名:李志国指导老师:施汉琴2014年3月20日淮北师范大学11级计算机非师范程序设计实验报告目录实验设计课题···························第03页课程设计目的···························第03页课程设计内容···························第03页课程设计要求···························第04页有关知识介绍···························第05页程序功能说明···························第06页各段程序说明···························第07页设计的流程图···························第09页程序履行截图···························第11页源程序的代码···························第14页实验小结领会···························第19页-2-淮北师范大学11级计算机非师范程序设计实验报告实验设计课题设计题目:采纳高响应比算法的进度调动程序指导老师:施汉琴课程设计目的操作系统课程设计是计算机专业重要的教课环节,它为学生供给了一个既着手又动脑,将课本上的理论知识和实质有机的联合起来,独立剖析和解决实质问题的时机。进一步稳固和复****操作系统的基础知识。培育学生构造化程序、模块化程序设计的方法和能力。提升学生调试程序的技巧和软件设计的能力。提升学生剖析问题、解决问题以及综合利用C语言进行程序设计的能力。课程设计内容问题剖析:在批办理系统中,短作业优先算法是一种比较好的算法,其主要的不足之处是长作业的运转得不到保证。于是我们想到了一种方法解决这个问题,就是引用动向优先权、并使作业的优先级跟着等候时间的增添而以速率a提升,长作业在等候必定的时间后,必定有时机分派到办理机,这样长作业也获取了运转。因而可知:-3-淮北师范大学11级计算机非师范程序设计实验报告(1)假如作业的等候时间同样,则要求服务的时间越短,其优先权越高,所以该算法有益于短作业。(2)当要求服务的时间同样时,作业的优先权取决与其等候的时间,等候时间越长,其优先权越高,因此它实现的是先来先服务。(3)关于长作业,作业的优先权能够随等候时间的增添而提升,当其等候时间足够长时,其优先级即可升到很高,进而也能够获取办理机。设计内容:设计并实现一个采纳高响应比算法的进度调动演示程序,响应比R定义以下:RWT/T1W/T此中T为该作业预计需要的履行时间,为作业在后备状态行列中的等候时W间。每当要进行作业调动时,系统计算每个作业的响应比,选择此中R最大者投入履行。这样,即便是长作业,跟着它等候时间的增添,W/T也就跟着增添,也就有时机获取调动履行。这类算法是介于FCFS和SJF之间的一种折中算法。因为长作业也有时机投入运转,在同一时间内办理的作业数明显要少于SJF法,进而采纳HRRN方式时其吞吐量将小于采纳SJF法时的吞吐量。此外,因为每次调动前要计算响应比,系统开支也要相应增添。课程设计要求每一个进度有一个PCB,其内容能够依据详细状况设定。进度数、进入内存时间、要求服务时间、优先级等均能够在界面上设定可读取样例数据(要求寄存在外面文件中)进行进度数、进入内存时间、时间片长度、进度优先级的初始化能够在运转中显示各进度的状态:就绪、履行(因为不要求设置互斥资源与进度间的同步关系,故只有两种状态)采纳可视化界面,可在进度调动过程中随时暂停调动,查察目行进度的状态以及相应的堵塞行列-4-淮北师范大学11级计算机非师范程序设计实验报告有性能比较功能,可比较同一组数据在不一样调动算法下的均匀周转时间拥有必定的数据容错性有关知识介绍定义高响应比优先调动算法的基本思想是把CPU分派给就绪行列中响应比最高的进度。基本思想短作业优先调动算法+动向优先权体制,既考虑作业的履行时间也考虑作业的等候时间,综合了先来先服务和最短作业优先两种算法的特色。原理高响应比优先调动算法既考虑作业的履行时间也考虑作业的等候时间,综合了先来先服务和最短作业优先两种算法的特色。该算法中的响应比是指作业等候时间与运转比值,响应比公式定义以下:响应比=(等候时间+要求服务时间)/要求服务时间,即RR=(w+s)/s=1+w/s,所以响应比必定是大于1的。照实例:某系统有3个作业,系统确立它们在所有抵达后,再开始采纳响应比高者优先的调动算法,则它们的调动次序是什么?各自的周转时间是什么?(1)假如都抵达再算的话,等候时间=最后一个的提交时间--=-9=-5-淮北师范大学11级计算机非师范程序设计实验报告所以响应比为(等候时间+要求服务时间)要求服务时间=等候时间/要求服务时间++1=+1=:1所以2先运转,;:1:(-)/+1=:(-)/1+1=,:(2)假如不是都抵达后才运转,,+(运转时间)=,此时作业2和3都已抵达所以计算其响应比(等候时间+要求服务时间)要求服务时间=等候时间要求服务时间+1作业2:()/+1=:()/+1=+=+=,且不会使长作业长久得不到服务响应比计算系统开支,增添系统开支。合用处合批办理系统。程序功能说明程序经过定义调用函数,杜如用户从键盘输入的需要服务的进度的各项参数,并进行调动算法模拟。首相对读入的进度各个参数进行保留,尔后进行判断能否进入内存之中,假如在内存之中则进行高响应比优先的的方式进行排队服务运转,假如没有进入内存,则进度等候。直到所有进度服务运转完成为止。各个-6-淮北师范大学11级计算机非师范程序设计实验报告函数都有各自的功能,互相协调进行整体函数功能的实现。采纳响应比高者优先调动算法进行调动时,一定计算出系统中所有知足必需条件作业的响应比,从中选择响应比最高的一个作业装入主储存器分派资源。因为是实验,所以就将作业控制块出队,并输出作业名取代装入处储存器,同时改正系统的资源数目。各段程序说明第一进行函数有关参数定义,详细函数以下:structP{charname[10];floatarrivetime;floatservicetime;floatstarttime;floatfinishtime;floatzztime;floatdqzztime;};定义函数参数中进度的名字“name”、进度抵达的时间“arrivetime”、进度所需服务时间“servicetime”、以及办理时间“starttime”和达成时间“finishtime”。Input函数接收用户键盘输入的进度各个参数并作为函数后期履行的引用数据,包含进度的名称、抵达时间、要求服务时间。for(i=0;i<=N-1;i++){printf("请输入第%d个进度的进度名:\n",i+1);scanf("%s",&p[i].name);printf("请输入第%d个进度的抵达时间:\n",i+1);scanf("%f",&p[i].arrivetime);printf("请输入第%d个进度的要求服务的时间:\n",i+1);-7-淮北师范大学11级计算机非师范程序设计实验报告scanf("%f",&p[i].servicetime);由此函数可实现对用户所输入的数据的接收功能。sort(P*p,intN),run(P*p,intN)函数实现对进度响应比的计算和排序。第一利用公式“优先权=(等候时间+要求服务时间)/要求服务时间=响应时间/要求服务时间”计算用户输入的进度的响应比,函数实现以下:for(inti=0;i<N-1;i++)for(intj=i+1;j<N;j++)if(p[i].arrivetime>p[j].arrivetime){temp;temp=p[i];p[i]=p[j];p[j]=temp;}intk;for(k=0;k<=N-1;k++){if(k==0){p[k].starttime=p[k].arrivetime;p[k].finishtime=p[k].arrivetime+p[k].servicetime;}else{p[k].starttime=p[k-1].finishtime;p[k].finishtime=p[k-1].finishtime+p[k].servicetime;}}for(k=0;k<=N-1;k++){p[k].zztime=p[k].finishtime-p[k].arrivetime;p[k].dqzztime=p[k].zztime/p[k].servicetime;-8-淮北师范大学11级计算机非师范程序设计实验报告}计算的响应比进行比较,结果依据需要进行排序响应比高的进度排在前面,响应比低的进度排在后边,这样就能够使响应比搞得进度获取较高的优先权,能够先运转。最后经过函数Grade(P*p,intN)来实现输出进度在各个时间短的运转状况,包含正在运转,正在等候和已抵达状态。设计的流程图程序设计总流程图:开始读取进度判断进度能否进入内存能否对响应比排序高的进度先运转等候结束-9-淮北师范大学11级计算机非师范程序设计实验报告高响应比函数履行过程流程图:开始目前作业为依编号找到的第一个还未履行的作业目前作业是最后一个作业目前作业取较早达到且响应比较高的一个目前作业和下一个还没履行的作业比较目前作业在上一次作业被履行完以前抵达同时抵达目前作业取相目前作业取较应比较高的一个早抵达的一个-10-

高响应比调度算法 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息