版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选文档短作业(进程)优先调度算法1. 短作业(进程)优先调度算法SJ(P)F,是指对短作业或短进程优先调度的算法。它们可以分别用于作业调度和进程调度。短作业优先(SJF)的调度算法是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行。而短进程(SPF)调度算法则是从就绪队列中选出一个估计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行到完成,或发生某事件而被阻塞放弃处理机再重新调度。SJ(P)F调度算法能有效地降低作业(进程)的平均等待时间,提高系统吞吐量。该算法对长作业不利,完全未考虑作业的紧迫程度。2. 流程图开始获取进程信息按作业运行时间排序调用acti
2、on,执行进程输出结果结束3. 代码#include<iostream.h>#include<string.h>#include<stdlib.h>struct sjfchar name10;float arrivetime;float servicetime;float starttime;float finishtime;float zztime;float dqzztime;sjf a100;void input(sjf *p,int N) int i;printf("intput the process's name & a
3、rrivetime & 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.arrivetime,&pi.servicetime);void Print(sjf *p,float arrivetime,float servicetime,float starttime,float fi
4、nishtime,float zztime,float dqzztime,int N)int k; printf("run order:"); printf("%s",);for(k=1;k<N;k+)printf("->%s",); printf("nthe process's information:n"); printf("nnametarrivetservicetstarttfinishtzztdqzzn"); for(k=0;k<=
5、N-1;k+) printf("%st%-.2ft%-.2ft%-.2ft%-.2ft%-.2ft%-.2ftn",,pk.arrivetime,pk.servicetime,pk.starttime,pk.finishtime,pk.zztime,pk.dqzztime); /pai xuvoid sort(sjf *p,int N) for(int i=0;i<=N-1;i+) for(int j=0;j<=i;j+) if(pi.arrivetime<pj.arrivetime) sjf temp; temp=pi; pi=pj; pj
6、=temp; /yun xing jieduanvoid deal(sjf *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; p
7、k.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 sjff(sjf *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.finishti
8、me=pm.arrivetime+pm.servicetime; else pm.finishtime=pm-1.finishtime+pm.servicetime; int i=0; for(int n=m+1;n<=N-1;n+) if(pn.arrivetime<=pm.finishtime) i+; float min=pm+1.servicetime;int next=m+1;/m+1=n for(int k=m+1;k<m+i;k+) if(pk+1.servicetime<min) min=pk+1.servicetime; next=k+1; sjf t
9、emp; temp=pm+1; pm+1=pnext; pnext=temp; deal(p,arrivetime,servicetime,starttime,finishtime,zztime,dqzztime,N); Print(p,arrivetime,servicetime,starttime,finishtime,zztime,dqzztime,N);int main() int N; printf("-短作业优先调度算法-n"); printf("input the process's number:n"); scanf("%d",&N); input(a,N); sjf *b=a; sjf *c=a; sjff(b,N); system("PAUSE");4. 运行结果5. 心得体会课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026秋季国家管网集团东北公司高校毕业生招聘考试备考试题(浓缩500题)附参考答案详解(轻巧夺冠)
- 2026秋季国家管网集团广西公司高校毕业生招聘考试备考题库(浓缩500题)及参考答案详解(突破训练)
- 2025国家管网集团云南公司高校毕业生招聘考试真题(浓缩500题)及参考答案详解(突破训练)
- 2026秋季国家管网集团北京管道有限公司高校毕业生招聘考试参考试题(浓缩500题)有完整答案详解
- 2025国网广东省电力公司高校毕业生提前批招聘笔试模拟试题浓缩500题附答案详解(能力提升)
- 2026国网海南省高校毕业生提前批招聘(约450人)笔试模拟试题浓缩500题及参考答案详解1套
- 2026秋季国家管网集团油气调控中心高校毕业生招聘14人笔试参考题库(浓缩500题)及答案详解(有一套)
- 2026秋季国家管网集团湖南公司高校毕业生招聘4人考试备考试题(浓缩500题)含答案详解(综合题)
- 2025国网山东省电力校园招聘(提前批)笔试模拟试题浓缩500题含答案详解(培优)
- 国家管网集团湖南公司2026届秋季高校毕业生招聘笔试备考试题(浓缩500题)带答案详解ab卷
- 新生儿肺炎诊疗规范
- 《孤独的小螃蟹》课件PPT
- 三年级语文下册《方帽子店》课件
- GB/T 32260.2-2015金属材料焊缝的破坏性试验焊件的冷裂纹试验弧焊方法第2部分:自拘束试验
- GB/T 31887.1-2019自行车照明和回复反射装置第1部分:照明和光信号装置
- GA 838-2009小型民用爆炸物品储存库安全规范
- (课件)急性胸痛的鉴别诊断
- 三年级作文秋天的景色课件
- 山东省日照市各县区乡镇行政村村庄村名居民村民委员会明细
- 临床技术操作规范,重症医学分册
- 建筑结构荷载统计计算表格(自动版)
评论
0/150
提交评论