多级队列调度算法

  • Post author:
  • Post category:其他


系统中按进程类型设置多个队列

在这里插入图片描述

当有一个作业被调度进内存并创建进程后

将其插入某个队列

如上图

系统进程

交互式进程

需要得到即时反馈, 以提高用户体验

批处理进程

放低一些优先级体验影响不大, 大多是计算

以上是一个例子, 实际可能划分更多

队列之间可以采用

固定优先级

:

高优先级内没有进程时才能调度低优先级队列中的进程

缺点:

低优先级的可能无法及时响应

例如上述的打字软件, 当系统进程不断有进程时, 可能打字无法及时得到响应

给用户带来不好的体验

根据上面固定优先级的缺点, 队列之间可以采用

时间片划分


例如给各个队列分配时间的50%, 40%, 10%

王道考研中讲的意思大概是高优先级给的为50%, 也就是高优先级更多
但应该和多级反馈队列算法中类似, 高优先级的在前, 且给的时间由少到多
因为如上述例子, 系统进程可能并不多, 如果分配过多的时间比例, 可能大多数时间都被浪费了
	而需要大量时间进行处理的进程如视频渲染这些, 处理机工作的时间过少

队列之间采用一种调度方式

而各个队列再根据进程种类的不同, 采取不同的调度方式

例如

  1. 系统进程队列采用优先级调度

    可以区分不同任务的优先级, 便于操作系统管理

  2. 交互式队列采用RR(时间片轮转)

    确保各类交互式进程都可以在某个周期内得到服务

    保证进程不会等太久, 避免用户糟糕的体验

  3. 批处理队列采用FCFS

    公平



版权声明:本文为weixin_45575944原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。