12-高响应比优先与时间片轮转算法
高响应比优先
算法思想
要综合考虑作业/进程的等待时间和要求服务时间
算法规则
- 在每次调度的时候要先计算各个作业/进程的相应比,选择相应比最高的作业/进程为其服务
- 相应比=等待时间+要求服务时间/要求服务时间
用途和模式
- 既可用于作业调度,也可用于进程调度
是否可抢占
非抢占式的算法。因此只有当前运行的作业/进程主动放弃处理机时,才需要调度,才需要计算相应比。
例题
优缺点
优点
- 综合考虑了等待时间和运行时间(要求服务时间)
- 等待时间相同时,要求服务时间短的优先
- 要求时间相同时,等待时间长的优先
- 对于长作业来说,随着等待时间的变长,其相应比也会增加,避免了长作业的饥饿问题
缺点
不会考虑是否饥饿
时间片轮转调度算法(RR)
算法思想
公平地、轮流的为各个进程服务,让每个进程在一定时间间隔内都可以得到响应。是伴随着[[001-1-3-发展#分时操作系统 |分时操作系统]]的产生出现的
算法规则
按照各进程到达就绪队列的顺序,轮流的让各个进程执行一个时间片(如100ms)。若进程未在一个时间片内执行完,则剥夺处理机,将进程重新放到就绪队列队尾重新排队。
用途和模式
- 用于进程调度(只有作业放入了内存建立了响应的进程后,才能被分配处理机时间片)
是否可抢占
- 若进程未能在时间片内运行完,则会被强行剥夺处理机使用权,因此时间片轮转调度算法属于抢占式的算法。由时钟装置发出[[001-1-4-机制#时钟管理| 时钟中断]]来通知CPU时间已到
例题
优缺点
优点
- 公平
- 响应快,适用于分时操作系统
- 不会产生饥饿
缺点
- 如果时间片太大,使得每一个进程在一个时间片内就能完成,则时间片轮转调度算法就会退化为先来先服务算法,并且增大进程的响应时间。因此时间片不能太大
- 如果时间片太小了,会导致进程切换过于频繁,系统会花大量时间来处理进程切换,从而导致实际用于进程执行的时间比例减少,可见时间片比例不能太小(设计时间片要让切换进程的开销占比不到1%)
- 不区分任务的紧急程度