进程优先级调度算法 源程序-进程调度模拟设计-优先级法、最高响应比优先调度算法

进程优先级调度算法 源程序-进程调度模拟设计-优先级法、最高响应比优先调度算法

ID:11913927

大小:25.50 KB

页数:0页

时间:2018-07-14

进程优先级调度算法 源程序-进程调度模拟设计-优先级法、最高响应比优先调度算法_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《进程优先级调度算法 源程序-进程调度模拟设计-优先级法、最高响应比优先调度算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、进程优先级调度算法源程序-进程调度模拟设计-优先级法、最高响应比优先调度算法#include#include#includeusingnamespacestd;structprigle{floatprii;//记录进程优先级或者响应比intnum;//作用一:定位进程,作用二,标记进程是否运行};struct11elment{charname[10];//进程的名称priglepri;inthour;//进程提交的时间(小时)intmin;//进程提交(分钟)inttime;//进程运行需要的时间inttime1;//记录进程开始运行的时间i

2、nttest;//进程是否在等待的判断位};elmente[10];intall=0;inta[10];inta1[10];intor;voidinput()//输入进程信息{whwww.wenku1.coMile(1){int11d=0;coutif(or==1)coutcoutscanf(“%s”,e[all].name);if(or==1)cin>>e[all].pri.prii;elsee[all].pri.prii=0.0;fflush(stdin);chart[5];scanf(“%s”,&t);d=(t[0]-48)*10+(t

3、[1]-48);if(d>24

4、

5、d{coutcontinue;}e[all].pri.num=all;e[all].hour=d;d=(t[3]-48)*10+(t[4]-48);e[all].min=d;e[all].test=0;cin>>e[all].time;e[all].time1=e[all].hour*60+e[all].min;all++;int11test1;coutcoutcin>>test1;if(test1!=1)break;}}voidGetpriorder()//按优先级从大小排列进程{elmente0[10];

6、for(intj=0;jfor(intk=0;k{elmenttemp;temp.pri.prii=0;for(inth=0;hif(e0[h].pri.prii>temp.pri.prii)temp=e0[h];a[k]=temp.pri.num;e0[a[k]].pri.prii=-1;}}voidHRN()11//最高响应比算法{intn=0;while(1){elmenttemp;for(intii=0;iiif(e[ii].pri.num!=-1){temp=e[ii];break;}for(inti=0;i{}if(temp.ti

7、me1>e[i].time1)temp=e[i];}a1[n]=temp.pri.num;temp.pri.num=-1;e[a1[n++]].pri.num=-1;for(intj=0;jvoidGetorder()//与voidGetpriorder()连用,完成优先级算法{int11n=0;while(1){elmenttemp;for(intjj=0;jjif(e[jj].pri.num!=-1)temp=e[jj];for(inti=0;iif(e[i].pri.num!=-1)if(temp.time1>e[i].time1)te

8、mp=e[i];a1[n]=temp.pri.num;e[a1[n++]].pri.num=-1;for(intk=0;k{if(e[k].pri.num==-1)continue;if(e[k].time1{e[k].test=1;e[k].time1=e[a1[0]].time1+e[a1[0]].time;}}for(inth=0;h{for(int11count=0;countif(e[count].pri.num!=-1)if((e[count].hour*60+e[count].min){if(e[a[t]].pri.num==-

9、1)continue;if(e[a[t]].test==1){temp=e[a[t]];a1[n++]=temp.pri.num;e[a[t]].pri.num=-1;break;}}for(int11r=0;r{if(e[r].pri.num==-1)continue;if(e[r].time1e[r].time1=temp.time1+temp.time;}}if(n==all)break;}}voidoutput(){coutcoutcoutif(or==1)coutcoutfloatetime=0.0;floatetime1=0.0;

10、for(inti=0;i{coutif(or==1)cout/*if(e[a1[i]].hourif(e[a1[i]].minelsecout*/if(e[a1[i

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

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

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