操作系统之调度算法

1. 调度算法分类:

  • 批处理
  • 交互式
  • 实时

2. 调度算法:

2.1. 批处理调度:

  • 先来先服务
  • 最短作业优先
  • 最短剩余时间优先
    • 是最短作业优先的抢占式版本。把总运行时间的比较修改为剩余运行时间的比较。

2.2. 交互式调度:

  • 轮转调度(round robin)
  • 优先级调度
    • 高优先级的进程优先运行,每个时钟中断可以将当前正在运行的程序的优先级降级,以防止当前进程无休止地运行下去。
    • 设置优先级可以与上一次执行时间成反比。
    • 可以将不同类型进程之间的调度采用优先级调度,而相同类型内部的一组进程采用轮转调度。上一个优先级的进程为空时才运行下一个优先级的进程。所以如果不对上一个优先级的进程的优先级进行调整且上一个优先级的进程源源不断,则下面优先级的进程有可能会出现饥饿现象。
  • 多级队列
    • 最高优先级的进程使用一个时间片,次高优先级的进程使用两个时间片,…,依次类推。
  • 最短进程优先调度
    • key point在于如何评估进程的运行时间,可以将之前的运行时间加权计算。
  • 保证调度
  • 彩票调度
  • 公平分享调度

2.3 实时系统中的调度

正确的迟到的应答有可能比没有还要糟糕。
分为硬实时和软实时。前者必须满足绝对的截止时间,后者虽然不希望但是可以容忍偶尔的错失截止时间。

你可能感兴趣的:(学习笔记)