调度算法-多级反馈队列+例题详解

1. 调度机制

(1) 设置多个就绪队列。
优先级从高到低,时间片从小到大。
(2) 每个队列都采用FCFS算法。
当新进程进入内存后,首先将它放入第一队列的末尾,按FCFS原则等待调度。当轮到该进程执行时,如它能在该时间片内完成,便可撤离系统。否则,调度程序将其转入第二队列的末尾等待调度;如果它在第二队列中运行一个时间片后仍未完成,再依次将它放入第三队列,……,依此类推。
(3) 按队列优先级调度。
调度程序首先调度最高优先级队列中的诸进程运行,仅当第一队列空闲时才调度第二队列中的进程运行;换言之,仅当第1~(i-1)所有队列均空时,才会调度第i队列中的进程运行。如果处理机正在第i队列中为某进程服务时又有新进程进入任一优先级较高的队列,此时须立即把正在运行的进程放回到第i队列的末尾,而把处理机分配给新到的高优先级进程。

2.例题

各进程到达就绪队列的时间、需要的运行时间如下表所示。使用多级反馈队列调度算法,分析进程运行的过程。
在这里插入图片描述

调度过程:
0时刻:P1进程进入第1级队列,运行时间为1,时间片为1,一个时间片结束,P1进程进入第2级队列。
1时刻:P2进程进入第1级队列,此时P1进程进入第2级队列;由于第1级队列大于第2级队列,所以P2进行在第1级队列运行一个时间片,然后进入第2级队列。此时第2级队列有P1进程和P2进程。
2-4时刻:第1级队列为空,则调度第2级队列中的进程。先调度P1进程,运行2个时间片,然后进入第3级队列。接着调度P2,此时只运行了1个单位的时间。时间片还没有用完的情况下,时刻5到了,P3进程进入第1级队列。
5时刻:此时P2只运行了1个单位的时间。时间片还没有用完,时刻5到了,P3进程进入第1级队列。第1级队列大于第2级队列,于是先让P3使用CPU一个时间片。P2重新回到第2级队列的队尾。
接下来就是第2级队列中的P2进程,运行一个单位的时间,调出内存。最后当第1级队列,第2级队列为空时,开始第3级队列的P1,分配处理机。运行结束,调出内存。

在这里插入图片描述

调度算法-优先级调度算法+例题详解

  • 23
    点赞
  • 120
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Devour123

愿每一份用功都可以得到回报

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

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

打赏作者

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

抵扣说明:

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

余额充值