系统中按进程类型设置多个队列
当有一个作业被调度进内存并创建进程后
将其插入某个队列
如上图
系统进程
交互式进程
需要得到即时反馈, 以提高用户体验
批处理进程
放低一些优先级体验影响不大, 大多是计算
以上是一个例子, 实际可能划分更多
队列之间可以采用
固定优先级
:
高优先级内没有进程时才能调度低优先级队列中的进程
缺点:
低优先级的可能无法及时响应
例如上述的打字软件, 当系统进程不断有进程时, 可能打字无法及时得到响应
给用户带来不好的体验
根据上面固定优先级的缺点, 队列之间可以采用
时间片划分
例如给各个队列分配时间的50%, 40%, 10%
王道考研中讲的意思大概是高优先级给的为50%, 也就是高优先级更多
但应该和多级反馈队列算法中类似, 高优先级的在前, 且给的时间由少到多
因为如上述例子, 系统进程可能并不多, 如果分配过多的时间比例, 可能大多数时间都被浪费了
而需要大量时间进行处理的进程如视频渲染这些, 处理机工作的时间过少
队列之间采用一种调度方式
而各个队列再根据进程种类的不同, 采取不同的调度方式
例如
-
系统进程队列采用优先级调度
可以区分不同任务的优先级, 便于操作系统管理 -
交互式队列采用RR(时间片轮转)
确保各类交互式进程都可以在某个周期内得到服务
保证进程不会等太久, 避免用户糟糕的体验 -
批处理队列采用FCFS
公平