欢迎来到天天文库
浏览记录
ID:59184019
大小:14.93 KB
页数:14页
时间:2020-09-10
《四种进程调度算法先到先服务优先级短作业优先时间片轮转.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include"stdio.h"#defineN50intn;intsj;structGzuo{ intid; //进程名字 intdt; //到达时刻 intst; //服务时间 intwct; //完成时刻 intyxj;//优先级 intst2;//标志是否完成 floatzt; //周转时间 floatdczt; //带权周转时间 }; Gzuoa[N];voidinput(Gzuoa[]){ printf("请输入进程个数:"); scanf("%d",&n);for(inti=0;i2、("t到达时间: "); scanf("%d",&a[i].dt); printf("t服务时间: "); scanf("%d",&a[i].st); a[i].st2=a[i].st; printf(""); }printf("t请输入时间片大小(03、hile(n>504、5、n<=0) { printf("nt请重新输入: "); scanf("%d",&n); } printf(""); printf("t请输入时间片大小(06、 floatdczt; //带权周转时间 }; Gzuoa[N]; for(i=0;i=0;j--) { for(i=0;ia[i+1].dt) { min=a[i].dt; a[i].d7、t=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].st2; a[i].st2=a[i+1].st2; a[i+1].st2=min; min=a[i].id; a[i].id=a[i+1].id; a[i+1].id=min; } } } time=a[0].dt; //printf("赋值后TIME值为:%d",time); min=0; while(min8、ag=true; for(i=0;i0&&a[i].dt<=time) flag=false; } for(i=0;i0) { if(a[i].dt<=time) { //printf("当前a[%d].st2值为:%d",i,a[i].st2); a[i].st2=a[i].st2-sj; //printf("运算后当前a[%d].st2值为:%d",i,a[i].st2); //printf("当前TIME值为9、:%d",time); time=time+sj; //printf("增加之后TIME值为:%d",time); if(a[i].st2<=0) { a[i].wct=time+a[i].st2; a[i].zt=(float)(a[i].wct-a[i].dt); a[i].dczt=a[i].zt/a[i].st;
2、("t到达时间: "); scanf("%d",&a[i].dt); printf("t服务时间: "); scanf("%d",&a[i].st); a[i].st2=a[i].st; printf(""); }printf("t请输入时间片大小(03、hile(n>504、5、n<=0) { printf("nt请重新输入: "); scanf("%d",&n); } printf(""); printf("t请输入时间片大小(06、 floatdczt; //带权周转时间 }; Gzuoa[N]; for(i=0;i=0;j--) { for(i=0;ia[i+1].dt) { min=a[i].dt; a[i].d7、t=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].st2; a[i].st2=a[i+1].st2; a[i+1].st2=min; min=a[i].id; a[i].id=a[i+1].id; a[i+1].id=min; } } } time=a[0].dt; //printf("赋值后TIME值为:%d",time); min=0; while(min8、ag=true; for(i=0;i0&&a[i].dt<=time) flag=false; } for(i=0;i0) { if(a[i].dt<=time) { //printf("当前a[%d].st2值为:%d",i,a[i].st2); a[i].st2=a[i].st2-sj; //printf("运算后当前a[%d].st2值为:%d",i,a[i].st2); //printf("当前TIME值为9、:%d",time); time=time+sj; //printf("增加之后TIME值为:%d",time); if(a[i].st2<=0) { a[i].wct=time+a[i].st2; a[i].zt=(float)(a[i].wct-a[i].dt); a[i].dczt=a[i].zt/a[i].st;
3、hile(n>50
4、
5、n<=0) { printf("nt请重新输入: "); scanf("%d",&n); } printf(""); printf("t请输入时间片大小(06、 floatdczt; //带权周转时间 }; Gzuoa[N]; for(i=0;i=0;j--) { for(i=0;ia[i+1].dt) { min=a[i].dt; a[i].d7、t=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].st2; a[i].st2=a[i+1].st2; a[i+1].st2=min; min=a[i].id; a[i].id=a[i+1].id; a[i+1].id=min; } } } time=a[0].dt; //printf("赋值后TIME值为:%d",time); min=0; while(min8、ag=true; for(i=0;i0&&a[i].dt<=time) flag=false; } for(i=0;i0) { if(a[i].dt<=time) { //printf("当前a[%d].st2值为:%d",i,a[i].st2); a[i].st2=a[i].st2-sj; //printf("运算后当前a[%d].st2值为:%d",i,a[i].st2); //printf("当前TIME值为9、:%d",time); time=time+sj; //printf("增加之后TIME值为:%d",time); if(a[i].st2<=0) { a[i].wct=time+a[i].st2; a[i].zt=(float)(a[i].wct-a[i].dt); a[i].dczt=a[i].zt/a[i].st;
6、 floatdczt; //带权周转时间 }; Gzuoa[N]; for(i=0;i=0;j--) { for(i=0;ia[i+1].dt) { min=a[i].dt; a[i].d
7、t=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].st2; a[i].st2=a[i+1].st2; a[i+1].st2=min; min=a[i].id; a[i].id=a[i+1].id; a[i+1].id=min; } } } time=a[0].dt; //printf("赋值后TIME值为:%d",time); min=0; while(min8、ag=true; for(i=0;i0&&a[i].dt<=time) flag=false; } for(i=0;i0) { if(a[i].dt<=time) { //printf("当前a[%d].st2值为:%d",i,a[i].st2); a[i].st2=a[i].st2-sj; //printf("运算后当前a[%d].st2值为:%d",i,a[i].st2); //printf("当前TIME值为9、:%d",time); time=time+sj; //printf("增加之后TIME值为:%d",time); if(a[i].st2<=0) { a[i].wct=time+a[i].st2; a[i].zt=(float)(a[i].wct-a[i].dt); a[i].dczt=a[i].zt/a[i].st;
8、ag=true; for(i=0;i0&&a[i].dt<=time) flag=false; } for(i=0;i0) { if(a[i].dt<=time) { //printf("当前a[%d].st2值为:%d",i,a[i].st2); a[i].st2=a[i].st2-sj; //printf("运算后当前a[%d].st2值为:%d",i,a[i].st2); //printf("当前TIME值为
9、:%d",time); time=time+sj; //printf("增加之后TIME值为:%d",time); if(a[i].st2<=0) { a[i].wct=time+a[i].st2; a[i].zt=(float)(a[i].wct-a[i].dt); a[i].dczt=a[i].zt/a[i].st;
此文档下载收益归作者所有