现代操作系统 原理与实现(银杏书)—— 操作系统调度

操作系统调度

单核调度策略

经典调度

先到先得 / 先进先出(FIFO)
  • 缺点:
    • 长短任务混合的场景对短任务不友好
      如果长任务先到,那么所有短任务都等待很久
    • 对I/O密集型任务不友好
      I/O时会放弃CPU重新排队
最短任务优先(SJF shortest job first)
  • 缺点:
    • 必须预知任务的运行时间
    • 迟到的短任务无法优先
最短完成时间任务优先(STCF)
  • 抢占式的SJF
时间片轮转(RR Round Robin)

优先级调度

多核调度策略

能耗感知调度(EAS, Energy Aware Scheduling)

以ARM的DynamIQ架构为例,其架构包含大核和小核两种计算单元

Linux的能耗感知调度
  • linux当前使用完全公平调度器(Completely Fair Scheduler, CFS)
  • ESA需要使用当前处理器架构的功耗模型,包括:
    • 容量
      • 当前CPU在当前频率下的处理能力
      • 每个任务会占用一定的容量
    • 功率
      • 当前CPU在当前功率下的功率,单位是毫瓦(mW)
  • 系统的CPU核心会被划分为多个性能域(Performance Domain, PD)
  • 一个能耗模型中有多个性能操作点(Operating Performance Point, OPP)
    • CPU的容量和功率的对应关系
    • 同一个性能域的CPU具有同样的性能操作点(大核一样、小核一样)

当任务到来时:

  • 任务的大小为x
  • 看大核和小核的OPP中容量能够满足x的点对应的功耗,选择较小的CPU

NOTE: EAS使用于中、低负载场景。
当任一CPU核心的当前负载超过80%,Linux会开启负载均衡并关闭EAS。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值