下载此文档

最高响应比调度算法代码.docx


文档分类:IT计算机 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
: .
实验四 模拟处理机 HRRN 调度算法
一、实验目的:用C++设计HRRN调度算法程序。
二、实验内容: 本实验随机输入的进程个数、进程名
称、进程提交到系统的时间、进程运行所需时间。通
过模拟程序。显示以下信息:
1)处理机对进程的调度过程。
2)计算这 N 个进程的平均周转时间。
三、 HRRN (最高响应比调度算法)原理
最高响应比调度:在每次调度作业时,先计算后备队
中每个作业的响应比, 然后挑选响应比高者投入运行。
响应比 R 定义:
R=(w+S)/S
(R:响应比,0=等待时间,S=运行时间)
响应比 R= 周转时间 / 运行时间
=(运行时间 + 等待时间) / 运行时间
= 1 +(等待时间 / 运行时间)
四、示例
如:输入
进程个数: 5
进程名称
到达系统时间
所需服务时间
A
0
3
B
2
6
C
4
4
D
6
5
E
8
2
显示运行结果:
进程名称
到达系统时间
所需服务时间
开始时间
结束时间
A
0
3
0
3
B
2
6
3
9
C
4
4
9
13
E
8
2
13
15
D
6
5
15
20
5 个进程的平均周转时间:
3+7+9+7+14 ) /5=8
五、运行结果
六、代码
#include <>
#include <>
typedef struct Node
{
char name[10];
int into;
int runtime;
int start;
int finish;
int status;
int hrrn;
int sum;
}Node;
int select(Node node[],int n)
{
int i,flag=0;
for(i=0;i<n;i++)
{
if(0==node[i].status)
{
flag=1;
break;
}
}
if(1==flag)
return i;
else
return -1;
int compute(Node node,int t)
{
return (+t-)/;
}
int main()
{
int n,i,j,max,t=0;
Node node[100];
printf(" 输入处理进程的个数: \n");
scanf("%d",&n);
getchar();
printf(" 进程名称 到达系统时间 所需服务时间
\n");
for(i=0;i<n;i++)
{
scanf("%s",node[i].name);
scanf("%d",&node[i].into);
scanf("%d",&node[i].runtime);
getchar();
node[i].status=0;
if(0==i)
node[i].hrrn=0;
}

最高响应比调度算法代码 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人cjc201601
  • 文件大小50 KB
  • 时间2021-06-13
最近更新