【8】调度算法

1、常见的处理机调度算法

  • 先来先服务
  • 短进程优先
  • 优先权
  • 高响应比优先
  • 时间片轮转
  • 多级反馈队列
1.1 先来先服务调度算法

调度策略:根据进程进入就绪状态的先后顺序调度进程
实现:FIFO队列
先来先服务调度算法
优点:简单

缺点:

  • 平均等待时间波动较大
  • I/O资源和CPU资源利用率较低
1.2 短进程优先调度算法

调度策略:选择就绪队列中执行时间最短进程占用CPU进入运行状态
特点:就绪队列按预估的执行时间来排序

优点:

  • 降低了短进程的等待时间,平均周转时间和平均带权周转时间小;
  • 提高系统的吞吐量

缺点:

  • 对长进程非常不利,可能长时间得不到运行
  • 未能依据进程的紧迫程度来划分执行的优先级
  • 难以准确估计进程的执行时间,从而影响调度性能
1.3 优先权调度算法

调度策略:选择就绪队列中优先级最高的进程投入运行

算法分类:

  • 抢占式优先权算法:可剥夺当前运行进程CPU;
  • 非抢占式优先权算法:仅发生在进程放弃CPU

优先权类型:

  • 静态优先权:在进程创建时指定优先权,在进程运行时优先数不变;
  • 动态优先权:在进程创建时创立一个优先级,但在其生命周期内优先数可以动态变化,如等待时间长优先数可改变

确定优先权依据:进程类型;对资源的需求;用户要求

优点:算法可以体现进程的紧急程度,非常适合实时系统
缺点:无穷阻塞问题(很早进入就绪队列的低优先权进程长期等待得不到响应,处于饥饿状态)

1.4 高响应比优先调度算法

响应比 R (优先权) = 等待时间 + 要求服务时间 要求服务时间 响应比R(优先权) = \frac{等待时间+要求服务时间}{要求服务时间} 响应比R(优先权)=要求服务时间等待时间+要求服务时间
是对FCFS和SJF算法的折中设计

1.5 时间片轮转调度算法

时间片:分配处理机资源的基本资源
调度策略:时间片结束时,时钟中断,按FCFS算法切换到下一个就绪进程
特点:

  • 算法性能与时间片大小有关
  • 周转时间依赖时间片
1.6 多级反馈队列调度算法

CPU密集型进程希望定义大的时间片,减小上下文切换次数;
I/O进程希望定义小时间片,可以及时响应

该算法设置多个就绪队列,赋予不同的优先权,就绪队列1优先权最高,其他逐级降低,
每队列赋予不同的时间片,规定优先权越低则时间片越长

多级反馈队列调度算法优点:兼顾I/O密集和CPU密集型进程
缺点:算法相对复杂

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值