教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

四种进程调度算法 先到先服务,优先级,短作业优先,时间片轮转(2)

来源:网络收集 时间:2026-07-26
导读: a[i].dczt=a[i].zt/a[i].st; } else { a[i].wct=a[i-1].wct+a[i].st; a[i].zt=(float)(a[i].wct-a[i].dt); a[i].dczt=a[i].zt/a[i].st; } for(j=i+1,b=j;jn;j++) { if(a[j].dta[i].wct) ; else b=b+1; } for(j=b-1;

a[i].dczt=a[i].zt/a[i].st;

} else

{ a[i].wct=a[i-1].wct+a[i].st; a[i].zt=(float)(a[i].wct-a[i].dt);

a[i].dczt=a[i].zt/a[i].st; }

for(j=i+1,b=j;j<n;j++) { if(a[j].dt>a[i].wct) ;

else b=b+1;

}

for(j=b-1;j>=i;j--)

{ for(z=i;z<j;z++) {

if(a[z].st>a[z+1].st) { min=a[z].dt;

a[z].dt=a[z+1].dt; a[z+1].dt=min;

min=a[z].st;

a[z].st=a[z+1].st;

VC6.0实现四种进程调度算法 测试成功

min=a[i].id; a[i].id=a[i+1].id; a[i+1].id=min;

}

}

} }

printf("\n进程:到达时间\t服务时间\t完成时间\t周转时间\t带权周转时间\n"); sum1=0;

sum2=0;

for(j=0;j<n;j++)

{ for(i=0;i<n;i++) if(a[i].id==j+1)

{ printf("%d: %d\t\t%d\t\t%d\t\t%.0f\t\t%.2f\n",a[i].id,a[i].dt,a[i].st,a[i].wct,a[i].zt,a[i].dczt); sum1+=a[i].zt;

sum2+=a[i].dczt;

}

}

printf("*********************************************************************\n");

}

void yxj(Gzuo a[])//优先级优先调度 {

int i,j,min;

int b=0,z;

float sum1,sum2;

/*printf("\n\t\t请输入进程数(0<n<=50):\t"); scanf("%d/n",&n);

while(n>50||n<=0)

{ printf("n\t请重新输入: ");

scanf("%d",&n);

}

printf("\n");

/* struct Gzuo{

int id; //进程名字

VC6.0实现四种进程调度算法 测试成功

int dt; //到达时刻 int st; //服务时间

int yxj; //优先级

int wct; //完成时刻

float zt; //周转时间 float dczt; //带权周转时间

};

Gzuo a[N]; for(i=0;i<n;i++)

{

a[i].id=i+1;

printf("\t到达时间: "); scanf("%d",&a[i].dt); printf("\t服务时间: "); scanf("%d",&a[i].st);

printf("\t优先级: "); scanf("%d",&a[i].yxj);

printf("\n"); }*/

min=a[0].dt; for(j=n-1;j>=0;j--)

{ for(i=0;i<j;i++) {

if(a[i].dt>a[i+1].dt) { min=a[i].dt;

a[i].dt=a[i+1].dt; a[i+1].dt=min;

min=a[i].st;

a[i].st=a[i+1].st;

a[i+1].st=min;

min=a[i].id;

a[i].id=a[i+1].id;

a[i+1].id=min;

min=a[i].yxj;

a[i].yxj=a[i+1].yxj;

a[i+1].yxj=min;

}

VC6.0实现四种进程调度算法 测试成功

if(a[i].dt==a[i+1].dt&&a[i].yxj<a[i+1].yxj) {

min=a[i].dt; a[i].dt=a[i+1].dt; a[i+1].dt=min;

min=a[i].st; a[i].st=a[i+1].st;

a[i+1].st=min; min=a[i].id;

a[i].id=a[i+1].id; a[i+1].id=min;

min=a[i].yxj; a[i].yxj=a[i+1].yxj;

a[i+1].yxj=min;

} }

} a[0].wct=a[0].st+a[0].dt; a[0].zt=(float)a[0].st;

a[0].dczt=a[0].zt/a[0].st; for(i=1;i<n;i++)

{ if(a[i].dt>a[0].wct) ; else b++;

}

for(j=b-1;j>=1;j--) {

for(i=1;i<j;i++) { if(a[i].yxj<a[i+1].yxj)

{ min=a[i].dt; a[i].dt=a[i+1].dt;

a[i+1].dt=min; min=a[i].st;

a[i].st=a[i+1].st;

a[i+1].st=min;

VC6.0实现四种进程调度算法 测试成功

min=a[i].id;

a[i].id=a[i+1].id; a[i+1].id=min;

min=a[i].yxj; a[i].yxj=a[i+1].yxj; a[i+1].yxj=min;

} }

}

for(i=1;i<n;i++)

{ if(a[i].dt>a[i-1].wct)

{

a[i].wct=a[i].dt+a[i].st; a[i].zt=(float)a[i].st;

a[i].dczt=a[i].zt/a[i].st; } else

{ a[i].wct=a[i-1].wct+a[i].st; a[i].zt=(float)(a[i].wct-a[i].dt);

a[i].dczt=a[i].zt/a[i].st; }

for(j=i+1,b=j;j<n;j++) {

if(a[j].dt>a[i].wct) ;

else b=b+1;

} for(j=b-1;j>=i;j--)

{ for(z=i;z<j;z++) {

if(a[z].yxj<a[z+1].yxj) { min=a[z].dt;

a[z].dt=a[z+1].dt;

a[z+1].dt=min;

VC6.0实现四种进程调度算法 测试成功

min=a[z].st;

a[z].st=a[z+1].st; a[z+1].st=min;

min=a[i].id; a[i].id=a[i+1].id; a[i+1].id=min;

}

}

} }

printf("\n进程:到达时间\t服务时间\t优先级\t完成时间\t周转时间\t带权周转时间\n"); sum1=0;

sum2=0; for(j=0;j<n;j++)

{ for(i=0;i<n;i++) if(a[i].id==j+1) {

printf("%d: %d\t\t%d\t\t%d\t\t%d\t\t%.0f\t%.2f\n",a[i].id,a[i].dt,a[i].yxj,a[i].st,a[i].wct,a[i].zt,a[i].dczt); sum1+=a[i].zt;

sum2+=a[i].dczt;

}

}

printf("*********************************************************************\n");

}

void main()

{ int n;

input(a); printf("以下是先到先服务调度:");

fcfs(a);

printf("以下是短作业优先调度:");

sjf(a);

printf("以下是时间片轮转法:");

sjp(a,sj);

printf("以下是优先级优先调度:");

VC6.0实现四种进程调度算法 测试成功

}

…… 此处隐藏:1292字,全部文档内容请下载后查看。喜欢就下载吧 ……
四种进程调度算法 先到先服务,优先级,短作业优先,时间片轮转(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/115531.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)