首页 短作业优先调度算法

短作业优先调度算法

举报
开通vip

短作业优先调度算法短作业优先调动算法学院计算机科学与技术专业学号学生姓名指导教师姓名2014-3-18目录一、实验题目..........................................................................................................................二、课程设计的目的............................................

短作业优先调度算法
短作业优先调动算法学院计算机科学与技术专业学号学生姓名指导教师姓名2014-3-18目录一、实验题目..........................................................................................................................二、课程设计的目的............................................................................................................三、设计内容..........................................................................................................................四、设计要求..........................................................................................................................五、主要数据构造及其说明...............................................................................................六、程序运转结果.................................................................................................................七、源程序言件.....................................................................................................................八、领会..........................................................................................................................九参照文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯目采纳短作先算法的程度程序程的目的操作系程是算机重要的教课,它学生供给了一个既手又,将本上的理知和有机的合一同,独立剖析和解决的时机。一步稳固和复操作系的基知。培育学生构化程序、模化程序的方法和能力。提升学生程序的技巧和件的能力。提升学生剖析、解决以及合利用C言行程序的能力。内容并一个采纳短作先算的程度算法演示程序设计要求每一个进度有一个PCB,其内容能够依据详细状况设定。进度数、进入内存时间、要求服务时间、优先级等均能够在界面上设定可读取样例数据(要求寄存在外面文件中)进前进度数、进入内存时间、时间片长度、进度优先级的初始化能够在运转中显示各进度的状态:就绪、履行(因为不要求设置互斥资源与进度间同步关系,故只有两种状态)拥有必定的数据容错性主要数据构造及其说明算法的简要说明:短作业(进度)优先调动算法SJ(P)F,是指对短作业或短进程优先调动的算法。它们能够分别用于作业调动和进度调动。短作业优先(SJF)的调动算法是从后备行列中选择一个或若干个预计运转时间最短的作业,将它们调入内存运行。而短进度(SPF)调动算法例是从就绪行列中选出一个预计运转时间最短的进度,将办理机分派给它,使它立刻履行并向来履行抵达成,或发生某事件而被堵塞放弃办理机再从头调动。长处是SJ(P)F调动算法能有效地降低作业(进度)的均匀等候时间,提升系统吞吐量。弊端是该算法对长作业不利;完好未考虑作业的紧急程度,因此不可以保证紧急性作业(进度)长久不被调动;因为作业(进度)的长短不过依据用户所供给的预计履行时间而定的,而用户又可能会存心或无心地缩短其作业的预计运转时间,以致该算法不必定能真实做到短作业游戏那调动。该程序定义了一个进度数据块(structspf),该数据块有进度名(name)、抵达时间(arrivetime)、服务时间(servicetime)、开始履行时间(starttime)、达成时间(finishtime)、周转时间(zztime)、带权周转时间(dqzztime)。用到的公式有:达成时间=抵达时间+服务时间;周转时间=达成时间-抵达时间;带权周转时间=周转时间/服务时间;(第一次履行的进度的达成时间=该进度的抵达时间;下一个进度的开始履行时间=上一个进度的达成时间)。运前进度的次序需要对进度的抵达时间和服务时间进行比较。假如某一进度是从0时刻抵达的,那么第一履行该进度;以后就比较进度的服务时间,谁的服务时间短就先履行谁(假如服务时间相同则看它们的抵达时间,抵达时间短的先履行);假如抵达时间和服务时间相同,则按先来先服务算法履行。程序运转结果进入操作界面以下输入进度的数量输入进度的信息运转次序 流程图 破产流程图 免费下载数据库流程图下载数据库流程图下载研究框架流程图下载流程图下载word 开始输入进度的个数:N调用Input()挨次输入进度的信息:进度名抵达时间服务Sort()行列中能否结束源程序言件#include#include#include#defineMAX100//最多能管理的作业数量structjcb//作业控制块JCB,定义为构造体{charname[10];//作业名floatarrivetime;//作业抵达时间floatservicetime;//作业服务时间floatstarttime;//作业开始履行时间floatfinishtime;//作业达成时间floatzztime;//作业周转时间floatavezztime;//作业均匀周转时间};jcba[MAX];voidinput(jcb*p,intN){inti;printf("请分别输入:\n\t作业名,抵达时间,服务时间(如:JOB1510)\n\n");for(i=0;i<=N-1;i++){printf("请输入第%d个作业信息:",i+1);scanf("%s%f%f",&p[i].name,&p[i].arrivetime,&p[i].servicetime);printf("\n");}}voidPrint(jcb*p,floatarrivetime,floatservicetime,floatstarttime,floatfinishtime,floatzztime,floatavezztime,intN){intk;printf("调动次序:");printf("%s",p[0].name);for(k=1;k%s",p[k].name);}printf("\n\n");printf("\t\t\t作业信息:\n");printf("\nname\tarrive\tservice\tstart\tfinish\tzz\tavezz\n");for(k=0;k<=N-1;k++){printf("%s\t%-.2f\t%-.2f\t%-.2f\t%-.2f\t%-.2f\t%-.2f\t\n",p[k].name,p[k].arrivetime,p[k].servicetime,p[k].starttime,p[k].finishtime,p[k].zztime,p[k].avezztime);}}voidsort(jcb*p,intN){for(inti=0;i<=N-1;i++)for(intj=0;j<=i;j++)if(p[i].arrivetimeMAX){printf("\t!!输入的作业数量太大,请输入不大于%d的整数\n",MAX);printf("按Q或许q退出程序,按其余随意键持续测试...");ch=getch();if(ch=='Q'||ch=='q'){break;}elsecontinue;}input(a,N);jcb*b=a;jcbf(b,N);printf("按Q或许q退出程序,按其余随意键持续测试...");ch=getch();if(ch=='Q'||ch=='q'){break;}}return0;}领会意得每一次课程设计度让我学到了在平常讲堂不行能学到的东西。因此我对每一次课程设计的时机都特别珍惜。不必定我的课程设计能够达成得有多么完满,可是我老是很投入的去研究去学习。整个课程设计下来,我阅读的有关网页已经超出了100个(不完好统计)。自然网上的东西很乱很杂,自己要能够学会挑选。不可以决定对或错的,有个很简单的方法就是去试试。同学间的议论,这是很重要的。老师毕竟比较忙。关于课程设计最大的议论伴侣应当是同学了。大家都在研究相同的问题,议论起来,更能够把思路理清楚,互相帮助,能够大大提升效率。最幸亏做课设的过程中能够有 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 的习惯,这样在写实验报告时能够比较完好的回想起中间碰到的各样问题。关于本次课设的题目,SJF算法以进入系统的作业所要求的CPU时间为标准,总选用预计计算时间最短的作业投入运转。SJF因为考虑到作业的服务时间,只在某种程度上效率要高,但大部分上即便算法易于实现,效率也不高,主要短处是忽略了作业等候时间,会出现饥饿现象。参照文件1)宗大华,宗涛,陈吉人着《操作系统》北京:人民邮电第一版社,20092)李爱华,程磊着《面相对象程序设计(C++语言)》北京:清华大学第一版社,20103)宋晓宇《windows操作系统核心编程实验教程》中国铁道第一版社4)张丽芬,刘利雄,王金玉编着《操作系统实验教程>清华大学第一版社
本文档为【短作业优先调度算法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
蓝色清晨
暂无简介~
格式:doc
大小:35KB
软件:Word
页数:16
分类:
上传时间:2022-11-12
浏览量:0