电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

时间片轮转最高响应比优先调度算法剖析

  • 资源ID:90759997       资源大小:190.56KB        全文页数:13页
  • 资源格式: DOC        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

时间片轮转最高响应比优先调度算法剖析

学 号: 课 程 设 计题 目时间片轮转、最高响应比优先调度算法学 院计算机科学与技术专 业班 级姓 名指导教师吴利军2013年1月14日课程设计任务书学生姓名: 指导教师: 吴利军 工作单位: 计算机科学与技术学院 题 目: 进程调度模拟设计时间片轮转、最高响应比优先调度算法 初始条件:1预备内容:阅读操作系统的处理机管理章节内容,对进程调度的功能以及进程调度算法有深入的理解。2实践准备:掌握一种计算机高级语言的使用。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1模拟进程调度,能够处理以下的情形: 能够选择不同的调度算法(要求中给出的调度算法); 能够输入进程的基本信息,如进程名、到达时间和运行时间等; 根据选择的调度算法显示进程调度队列; 根据选择的调度算法计算平均周转时间和平均带权周转时间。2设计报告内容应说明: 需求分析; 功能设计(数据结构及模块说明); 开发平台及源程序的主要部分; 测试用例,运行结果与运行情况分析;我评价自与总结:i)你认为你完成的设计哪些地方做得比较好或比较出色;ii)什么地方做得不太好,以后如何改正;iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训);iv)完成本题是否有其他方法(如果有,简要说明该方法);v)对实验题的评价和改进意见,请你推荐设计题目。时间安排:设计安排一周:周1、周2:完成程序分析及设计。周2、周3:完成程序调试及测试。周4、周5:验收、撰写课程设计报告。(注意事项:严禁抄袭,一旦发现,一律按0分记)指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日1. 需求分析1.1模拟进程调度,能够处理以下的情形: 能够选择不同的调度算法(要求中给出的调度算法); 能够输入进程的基本信息,如进程名、到达时间和运行时间等; 根据选择的调度算法显示进程调度队列; 根据选择的调度算法计算平均周转时间和平均带权周转时间。1.2这个实验主要是进程调度模拟设计,进程调度有很多方法,这个课程设计要求我要使用时间片轮转和最高响应比两中算法,来实现对进程的模拟。 首先他要求能够用两种方法实现进程调度,我们需要首先输出一个选择程序,来选择一个调度算法,入数据来进行运算,这是我们首先要解决的问题。其次,我们要接近输入数据的存放问题,毕竟我还需要数据来进行操作和调度。我们要用结构体来存放一个进程的相关信息,例如:进程名字,进程到达时间,进程的运行时间。但是我们在出来进程的时候,还必须要按照一定的顺序来处理,所以我们必须要对结构体里存放的进程相关信息来进行排序。只有经过处理过后,才能更容易的实现进程的调度,同时当不只一个进程的 时候,我们还必须设置用多个地址单元来实验对输入的数据进行存储,多个输入就相当于的链表的插入处理,因此我们又必须要对链表之间的指针进行处理,这涉及到指针的跳转,我们 必须要运用我们所学的知识进行。 我们还必须要对程序的输出进行处理,因为按照实验要求,我们必须显示进程调度队列;根据选择的调度算法计算平均周转时间和平均带权周转时间。这要求我们要设计算法,将进程的调度顺序给输出,从输出就可以检查自己的设计是否是正确的,而响应比其实进程的等待时间加上执行时间,在除以执行时间,得到的结果就是响应比。而最高响应比就是没当一个进程执行完成后,在这个时间比较各个时间各个进程的响应比,响应比最大的就会执行,而其他的进程则继续等待,一直循环做这个操作,这就是所谓的是最高响应比调度算法。时间片轮转法就是将CPU的执行时间分成一个个大小相等的时间片,将这些时间片分别执行就绪队列中的进程,时间片用完的进程就会回答就绪队列的队尾,等待CPU的再次执行。 而周转时间则是完成时间减去提交时间,平均周转时间就是几个进程的周转时间的平均值。而带权周转时间就是周转时间除以执行时间。 2. 功能设计2.1最高响应比的功能设计2.1.1最高响应比的结构体struct zgxybchar name10;float arrivetime;float servicetime;float starttime;float finishtime;float zztime;float dqzztime;2.2.1时间片的结构体typedef struct node datatype Num,runtime; char Name10;/定义成字符串 struct node *next;linknode;3. 开发平台及源程序的主要部分3.1实验的开发平台 Visual C+ 6.03.2实验的主要代码void input(zgxyb *p,int N) int i;printf("intput the process's name & arrivetime & servicetime:nfor exmple: a 0 100n");for(i=0;i<=N-1;i+)printf("input the %dth process's information:n",i+1);scanf("%s%f%f",&pi.name,&pi.arrivetime,&pi.servicetime);void Print(zgxyb *p,float arrivetime,float servicetime,float starttime,float finishtime,float zztime,float dqzztime,int N)int k; printf("run order:"); printf("%s",p0.name);for(k=1;k<N;k+)printf("->%s",pk.name); printf("nthe process's information:n"); printf("nnametarrivetservicetstarttfinishtzztdqzzn"); for(k=0;k<=N-1;k+) printf("%st%-.2ft%-.2ft%-.2ft%-.2ft%-.2ft%-.2ftn",pk.name,pk.arrivetime,pk.servicetime,pk.starttime,pk.finishtime,pk.zztime,pk.dqzztime); /按到达时间排序void sort(zgxyb *p,int N) for(int i=0;i<=N-1;i+) for(int j=0;j<=i;j+) if(pi.arrivetime<pj.arrivetime) zgxyb temp; temp=pi; pi=pj; pj=temp; /yun xing jieduanvoid deal(zgxyb *p,float arrivetime,float servicetime,float starttime,float finishtime,float &zztime,float &dqzztime,int N) int k; for(k=0;k<=N-1;k+) if(k=0) pk.starttime=pk.arrivetime; pk.finishtime=pk.arrivetime+pk.servicetime; else pk.starttime=pk-1.finishtime; pk.finishtime=pk-1.finishtime+pk.servicetime; for(k=0;k<=N-1;k+) pk.zztime=pk.finishtime-pk.arrivetime; pk.dqzztime=pk.zztime/pk.servicetime; void ZGXYB(zgxyb *p,int N) float arrivetime=0,servicetime=0,starttime=0,finishtime=0,zztime=0,dqzztime=0; sort(p,N); for(int m=0;m<N-1;m+) if(m=0) pm.finishtime=pm.arrivetime+pm.servicetime; else pm.finishtime=pm-1.finishtime+pm.servicetime; int i=0,n; for(n=m+1;n<=N-1;n+) if(pn.arrivetime<=pm.finishtime) i+; float max=(pm.finishtime-pm+1.arrivetime)/pm+1.servicetime;/第m+1个的响应比 int follow=m+1; for(int k=m+1;k<m+i;k+) if(max<=(pm.finishtime-pk+1.arrivetime)/pk+1.servicetime) max=(pm.finishtime-pk+1.arrivetime)/pk+1.servicetime; follow=k+1; zgxyb temp; temp=

注意事项

本文(时间片轮转最高响应比优先调度算法剖析)为本站会员(206****923)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.