高响应比调度算法代码Word格式.docx
- 文档编号:19081178
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:6
- 大小:48.81KB
高响应比调度算法代码Word格式.docx
《高响应比调度算法代码Word格式.docx》由会员分享,可在线阅读,更多相关《高响应比调度算法代码Word格式.docx(6页珍藏版)》请在冰豆网上搜索。
2)计算这N个进程的平均周转时间。
三、HRRN(最高响应比调度算法)原理
最高响应比调度:
在每次调度作业时,先计算后备队中每个作业的响应比,然后挑选响应比高者投入运行。
响应比R定义:
R=(w+S)/S
(R:
响应比,W=等待时间,S=运行时间)
响应比R=周转时间/运行时间
=(运行时间+等待时间)/运行时间
=1+(等待时间/运行时间)
四、示例
如:
输入
进程个数:
5
进程名称到达系统时间所需服务时间
A03
B26
C44
D65
E82
显示运行结果:
进程名称到达系统时间所需服务时间开始时间结束时间
A0303
B2639
C44913
E821315
D651520
5个进程的平均周转时间:
(3+7+9+7+14)/5=8
五、运行结果
六、代码
#include<
stdio.h>
stdlib.h>
typedefstructNode
{
charname[10];
intinto;
intruntime;
intstart;
intfinish;
intstatus;
inthrrn;
intsum;
}Node;
intselect(Nodenode[],intn)
inti,flag=0;
for(i=0;
i<
n;
i++)
{
if(0==node[i].status)
flag=1;
break;
}
if(1==flag)
returni;
else
return-1;
}
intcompute(Nodenode,intt)
return(node.runtime+t-node.into)/node.runtime;
intmain()
intn,i,j,max,t=0;
Nodenode[100];
printf("
输入处理进程的个数:
\n"
);
scanf("
%d"
&
n);
getchar();
进程名称到达系统时间所需服务时间\n"
%s"
node[i].name);
node[i].into);
node[i].runtime);
node[i].status=0;
if(0==i)
node[i].hrrn=0;
while
(1)
intindex;
index=select(node,n);
intflag=0;
if(index==-1)
max=0;
if(node[i].into<
=t&
&
0==node[i].status)
node[i].hrrn=compute(node[i],t);
if(node[i].hrrn>
node[max].hrrn)
max=i;
node[max].start=t;
t+=node[max].runtime;
node[max].status=1;
node[max].finish=t;
node[max].sum=node[max].finish-node[max].into;
t++;
n-1;
for(j=i;
j<
j++)
if(node[j].finish>
node[j+1].finish)
Nodetemp=node[j];
node[j]=node[j+1];
node[j+1]=temp;
进程名称到达系统时间所需服务时间开始时间结束时间\n"
doublesum=0;
%s%12d%16d%12d%12d\n"
node[i].name,node[i].into,node[i].runtime,node[i].start,node[i].finish);
sum+=node[i].sum;
平均周转时间:
%.2lf\n"
sum/n);
return0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 响应 调度 算法 代码
![提示](https://static.bdocx.com/images/bang_tan.gif)