操作系统时间片轮转调度算法 进程 到达时间 服务时间 p1 p2 p3 p4

时间片轮转调度算法详细判断流程:

例题:

进程到达时间服务时间
P10.07
P22.04
P34.01
P45.04

时间片为1

先放出来最终的结果

P1P1P2P1P2P3P1P4P2P1P4P2P1P4P1P4
P1P2P3P1P4P2P1P4P2P1P4P1P4
P1P4P2P1P4P2P1P4
P2

因为时间片为1,所以我们每隔1就要中断一下

0时刻,P1到达,第1个时间片执行服务开始,此时队列中的数据如下(箭头向上代表流动方向,上面的代表出队列,下面的代表入队列

P1

1时刻没有陆续到达的,第1个时间片执行完成,队列中仍然是P1

p1已服务时间: 1    ,p2已服务时间: 0   ,p3已服务时间: 0   ,p4已服务时间: 0   

队列如下  

P1

再执行1个时间片(第2个时间片执行服务开始),总状态(除最后一列外的左边列代表已执行过的队列,最后一列代表当前队列)  

P1P1

2时刻P2到达,第2个时间片执行完成,P2入队列,P1出队列循环到队尾,此时队列如下

p1已服务时间: 2    ,p2已服务时间: 0   ,p3已服务时间: 0   ,p4已服务时间: 0   

P2
P1

再执行1个时间片(第3个时间片执行服务开始),总状态 

P1P1P2
P1

3时刻没有到达的,第3个时间片执行完成,继续循环出队列然后进队列,P2到队尾,此时状态

p1已服务时间: 2    ,p2已服务时间: 1   ,p3已服务时间: 0   ,p4已服务时间: 0   

P1
P2

再执行1个时间片(第4个时间片执行服务开始),总状态 

P1P1P2P1
P1P2

继续循环,4时刻,P3到达,第4个时间片执行完成,P1到队尾,此时状态

p1已服务时间: 3    ,p2已服务时间: 1   ,p3已服务时间: 0   ,p4已服务时间: 0   

P2
P3
P1

再执行1个时间片(第5个时间片执行服务开始),总状态

P1P1P2P1P2
P1P2P3
P1

继续循环,5时刻,P4到达,第5个时间片执行完成,P2到队尾,此时的状态

p1已服务时间: 3    ,p2已服务时间: 2   ,p3已服务时间: 0   ,p4已服务时间: 0   

P3
P1
P4
P2

再执行1个时间片(第6个时间片执行服务开始),总状态

P1P1P2P1P2P3
P1P2P3P1
P1P4
P2

继续循环,6时刻,第6个时间片执行完成,P3完成,此时状态

p1已服务时间: 3    ,p2已服务时间: 2   ,p3已服务时间: 1   ,p4已服务时间: 0   

P1
P4
P2

再执行1个时间片(第7个时间片执行服务开始),总状态

P1P1P2P1P2P3P1
P1P2P3P1P4
P1P4P2
P2

继续循环,7时刻,第7个时间片执行完成,P1到队尾,此时状态

p1已服务时间: 4    ,p2已服务时间: 2   ,p3已服务时间: 1   ,p4已服务时间: 0

P4
P2
P1

再执行1个时间片(第8个时间片执行服务开始),总状态

P1P1P2P1P2P3P1P4
P1P2P3P1P4P2
P1P4P2P1
P2

继续循环,8时刻,第8个时间片执行完成,P4到队尾,此时状态

p1已服务时间: 4    ,p2已服务时间: 2   ,p3已服务时间: 1   ,p4已服务时间: 1

P2
P1
P4

再执行1个时间片(第9个时间片执行服务开始),总状态

P1P1P2P1P2P3P1P4P2
P1P2P3P1P4P2P1
P1P4P2P1P4
P2

继续循环,9时刻,第9个时间片执行完成,p2到队尾,此时状态

p1已服务时间: 4    ,p2已服务时间: 3   ,p3已服务时间: 1   ,p4已服务时间: 1

P1
P4
P2

再执行1个时间片(第10个时间片执行服务开始),总状态

P1P1P2P1P2P3P1P4P2P1
P1P2P3P1P4P2P1P4
P1P4P2P1P4P2
P2

继续循环,10时刻,第10个时间片执行完成,P1到队尾,此时状态

p1已服务时间: 5    ,p2已服务时间: 3   ,p3已服务时间: 1   ,p4已服务时间: 1

P4
P2
P1

再执行1个时间片(第11个时间片执行服务开始),总状态

P1P1P2P1P2P3P1P4P2P1P4
P1P2P3P1P4P2P1P4P2
P1P4P2P1P4P2P1
P2

继续循环,11时刻,第11个时间片执行完成,P4到队尾,此时状态

p1已服务时间: 5    ,p2已服务时间: 3   ,p3已服务时间: 1   ,p4已服务时间: 2

P2
P1
P4

再执行1个时间片(第12个时间片执行服务开始),总状态

P1P1P2P1P2P3P1P4P2P1P4P2
P1P2P3P1P4P2P1P4P2P1
P1P4P2P1P4P2P1P4
P2

继续循环,12时刻,第12个时间片执行完成,P2完成,此时状态

p1已服务时间: 5    ,p2已服务时间: 4   ,p3已服务时间: 1   ,p4已服务时间: 2

P1
P4

再执行1个时间片(第13个时间片执行服务开始),总状态

P1P1P2P1P2P3P1P4P2P1P4P2P1
P1P2P3P1P4P2P1P4P2P1P4
P1P4P2P1P4P2P1P4
P2

继续循环,13时刻,第13个时间片执行完成,P1到队尾,此时状态

p1已服务时间: 6    ,p2已服务时间: 4   ,p3已服务时间: 1   ,p4已服务时间: 2

P4
P1

再执行1个时间片(第14个时间片执行服务开始),总状态

P1P1P2P1P2P3P1P4P2P1P4P2P1P4
P1P2P3P1P4P2P1P4P2P1P4P1
P1P4P2P1P4P2P1P4
P2

继续循环,14时刻,第14个时间片执行完成,P4到队尾,此时状态

p1已服务时间: 6    ,p2已服务时间: 4   ,p3已服务时间: 1   ,p4已服务时间: 3

P1
P4

再执行1个时间片(第15个时间片执行服务开始),总状态

P1P1P2P1P2P3P1P4P2P1P4P2P1P4P1
P1P2P3P1P4P2P1P4P2P1P4P1P4
P1P4P2P1P4P2P1P4
P2

继续循环,15时刻,第15个时间片执行完成,P1完成,此时状态

p1已服务时间: 7    ,p2已服务时间: 4   ,p3已服务时间: 1   ,p4已服务时间: 3

P4

再执行1个时间片(第16个时间片执行服务开始),总状态

P1P1P2P1P2P3P1P4P2P1P4P2P1P4P1P4
P1P2P3P1P4P2P1P4P2P1P4P1P4
P1P4P2P1P4P2P1P4
P2

第16个时间片执行完,16时刻,第15个时间片执行完成,P4结束,全部完成,此时状态

p1已服务时间: 7    ,p2已服务时间: 4   ,p3已服务时间: 1   ,p4已服务时间: 4

最终结束完毕,状态如下:

P1P1P2P1P2P3P1P4P2P1P4P2P1P4P1P4
P1P2P3P1P4P2P1P4P2P1P4P1P4
P1P4P2P1P4P2P1P4
P2

所以调度结果为:

P1P1P2P1P2P3P1P4P2P1P4P2P1P4P1P4

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值