循环调度算法示例

在以下示例中,有六个进程分别命名为P1,P2,P3,P4,P5和P6。 他们的到达时间和爆发时间如下表所示。 系统的时间量是4个单位。

进程ID到达时间突发时间
105
216
323
431
545
664

根据算法,我们必须保持就绪队列和甘特图。 两个数据结构的结构在每次调度后都会改变。

就绪队列:
最初,在时间0,过程P1到达,其将被安排为时间片4单位。 因此,在就绪队列中,在CPU突发时间5个单元开始时将只有一个进程P1。

P1
5

甘特图
P1将首先执行4个单位。

就绪队列

同时执行P1,另外四个进程P2,P3,P4和P5到达就绪队列。 P1还没有完成,它需要另外1个单位时间,因此它也将被添加回就绪队列。

P2P3P4P5P1
63151

甘特图

在P1之后,P2将在甘特图中显示的4个单位时间内执行。

就绪队列

在执行P2期间,再有一个进程P6进入就绪队列。 由于P2尚未完成,因此P2也将被添加回就绪队列,剩余的突发时间为2个单位。

P3P4P5P1P6P2
315142

甘特图
在P1和P2之后,由于其CPU突发时间仅为3秒,因此P3将执行3个单位时间。

就绪队列

由于P3已经完成,因此它将被终止并且不会被添加到就绪队列中。 下一个进程将执行P4。

P4P5P1P6P2
15142

甘特图

之后,P1,P2和P3,P4将被执行。 它的爆发时间只有1个单位,与时间量相比更小,因此它会完成。

就绪队列

就绪队列中的下一个进程是P5,有5个单位的突发时间。 由于P4已完成,因此它不会被添加回队列。

P5P1P6P2
5142

甘特图
P5将在整个时间片执行,因为它需要5个单位的突发时间,这比时间片更高。

就绪队列
P5尚未完成; 它将被添加回队列中,其余的突发时间为1个单位。

P1P6P2P5
1421

甘特图
进程P1将在下一个回合完成执行。 由于它只需要1单位的突发时间,因此它将被完成。

就绪队列
P1已完成并且不会被添加回就绪队列。 接下来的处理P6仅需要4个单位的突发时间,接下来将被执行。

P6P2P5
421

甘特图
P6将执行4个单位时间直至完成。

就绪队列
由于P6已完成,因此不会再次添加到队列中。 就绪队列中只有两个进程。 下一个进程P2只需要2个单位的时间。

P2P5
21

甘特图

P2将再次执行,因为它只需要2个单位时间,因此这将会完成。

就绪队列

现在,队列中唯一可用的进程是P5,它需要1个单位的突发时间。 由于时间片是4个单位,因此它会在下一次突发中完成。

P5
1

甘特图
P5将被执行直至完成。

完成时间,周转时间和等待时间将按下表所示计算。

周转时间 = 完成时间 - 到达时间
等待时间 = 周转时间 - 爆发时间

Shell

进程ID到达时间爆发时间完成时间周转时间等待时间
105171712
216232216
3231196
4311298
545242015
664211511

平均等待时间=(12 + 16 + 6 + 8 + 15 + 11)/ 6 = 76/6个单位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智慧浩海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值