操作系统——CPU调度

  • 基本概念
    • 进程执行由CPU区间和I/O区间组成,I/O为主程序里短CPU区间多,CPU为主程序里长CPU区间多。
    • CPU调度程序:抢占调度,非抢占调度
    • 分派程序:切换上下文,切换到用户模式,跳转到用户程序的合适位置,重新启动程序
      • 分派延迟:分派程序停止一个进程启动另一个所花的时间
  • 调度准则:CPU使用率,吞吐量,周转时间,等待时间,响应时间
  • 调度算法
    • 先到先得FIFO
      • 护航效果:所有其他小进程等待大进程释放CPU
    • 最短作业优先调度:选择CPU 区间长度最短的
      • 非抢占式

      • 抢占式

    • 优先级:抢占式、非抢占式

      • 饥饿/无限阻塞:低优先级无法运行
        • 解决:老化,随着等待时间长度增加进程优先级
    • 轮转法:抢占式,时间片过大与FIFO相同,过小上下文切换负担重,应大于80%的CPU区间
    • 多级队列
      • 队列内调度机制
      • 队列间调度机制
        • 固定优先级抢占调度
        • 队列之间划分时间片
    • 多级反馈队列:进程可以在多个队列之间移动,老化的实现方式
  • 多处理器调度
    • 对称多处理:不允许多处理器之间移动,每个处理器有自己的调度算法
    • 非对称多处理:允许处理器之间移动,只有一个处理器进行调度任务
      • 进程软亲和性:允许处理器之间移动
      • 进程硬亲和性:不允许处理器之间移动
    • 负载平衡:SMP系统中保持所有处理器负载平衡
  • 线程调度:多线程系统调度对象是线程
    • 局部调度:同一个进程内线程竞争
    • 全局调度:所有系统线程
  • 实时调度
    • 硬实时系统:严格截止时间
    • 软实时系统:无严格截止时间

猜你喜欢

转载自blog.csdn.net/qq_56061892/article/details/126139293