轮转调度算法计算平均周转时间,轮转调度算法怎么求完成时间

2022年 10月 20日 发表评论
腾讯云618会场:点此直达 阿里云618会场:点此直达
免费/便宜/高性价比服务器汇总入口(已更新):点此直达

一、实验步骤

1、在文档右边的虚拟化操作系统中,打开桌面的 Xfce 终端,输入cd Desktop

2、输入touch 4-1.c

3、输入gedit 4-1.c

4、在 gedit 里面输入源代码,点击 save 保存

5、关掉 gedit 编辑器

6、输入gcc -o 4-1 4-1.c

7、在桌面的 Xfce 终端继续输入命令./4-1

8、按要求输入并运行,观察结果

9、理解与分析源代码,反复调试运行

10、按要求修改程序,增加时间片轮转调度法

11、修改程序:将时间片改为2

二、实验结果

三、实验改进

1、增加时间片轮转调度法;时间片为1;进程运行一次后直接挂入就绪队列队尾。

修改的程序代码:

1)增加函数insert2/轮转法的插入算法,直接插入就绪队列的队尾/ insert2(PCB q)

{

PCB *p1,*s,*r;

int b;

s=q;

p1=ready;

r=p1;

while (p1!=NULL)

{

r=p1;

p1=p1->next;

}

r->next=s;

s->next=NULL;

}

2)增加函数create2/轮转法创建初始PCB信息

void create2(char alg)

{

PCB p;

int i,time;

char na[10];

ready=NULL;

finish=NULL;

run=NULL;

printf("输入进程号和运行时间:n");

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

{

p=(PCB *)malloc(sizeof(PCB));

scanf("%s",na);

scanf("%d",&time);

strcpy(p->name,na);

p->cputime=0;

p->needtime=time;

p->state='w';

p->count=0;

p->round=1;

if(ready!=NULL)

insert2(p);

else

{

p->next=ready;

ready=p;

}

}

//clrscr();

printf("

printf("****n");

prt(alg);

run=ready;

ready=ready->next;

run->state='R';

}

3)增加函数roundrun/轮转片调度算法

roundrun(char alg)

{

while(run!=NULL)

{

run->cputime=run->cputime+1;

run->needtime=run->needtime-1;

run->count=run->count+1;

if(run->needtime==0)

{

run->next=finish;

finish=run;

run->state='F';

run=NULL;

if(ready!=NULL)

firstin();

}

else

if (ready!=NULL)

{

run->state='W';

insert2(run);

firstin();

}

prt(alg);

}

}

4)修改主函数

main()

{

char algo;

//clrscr();

printf("选择算法:P/R(优先数算法/时间片轮转算法)n");

scanf("%c",&algo);

//algo='p';

printf("输入进程数:n");

scanf("%d",&N);

if(algo=='P'||algo=='p')

{

create1(algo);

priority(algo);

}

else

if(algo=='R'||algo=='r')

{

create2(algo);

roundrun(algo);

}

}

2、修改程序:将时间片改为2。

p->round=1改为:p->round=2

52792965

腾讯云618活动:点此领取】8888元代金券,附云服务器价格表,2核2G4M轻量应用服务器99元1年,新老用户都可以买,可以享受1次续费99元一年、135元15个月、三年560元,MySQL云数据库59元1年起,2核2G3M配置82元1年,2核4G5M配置188元一年、3年900元,4核8G12M轻量服务器880元15个月,8核16G配置1890元15个月,更多16核32G28M带宽和云服务器CVM标准型S5、GPU服务器、CVM标准型SA2租用优惠价格如下,可以 点此进入最新活动页 查看当前最新的优惠券和活动信息。 腾讯云首购便宜续费贵,点击前往 【爆品专区】选择3年/5年,免得续费贵;首购便宜升级贵,建议 点击 选择8核16G/16核32G配置高的服务器。 阿里云618活动:点击领取】5亿上云补贴和2088元满减代金券,阿里云服务器租用费用618活动最新价格表【点击了解】,最便宜轻量应用服务器2核2G3M带宽82元1年,ECS云服务器2核2G3M带宽99元一年,ECS u1实例2核4G5M带宽优惠价格199元一年,香港30M带宽轻量服务器24元1个月、288元一年,4核8G服务器706元一年,ECS云服务器4核16G10M带宽30元1个月、90元3个月,云服务器8核32G10M带宽109元1个月、327元3个月。 腾讯云老用户享新人优惠的方法:用Qq登录、1人可注册3个新账号/用家人朋友的身份注册新号(点击注册新账号)。
小咸鱼

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: