【学习笔记】第二章——调度算法:先来先服务FCFS、短作业优先SJF、高响应比HRRN

文章目录

  • 一. 先来先服务(FCFS)
  • 二. 短作业优先(SJF)
  • 三. 高响应比优先
      • 1. 对前面两种算法的思考
      • 2. 描述
  • 四. 一、二、三总结

例子都要手动写一遍哦~这三个是供早期的批处理系统使用的算法

一. 先来先服务(FCFS)

  • 公平
  • 作业 - 后备队列;进程 - 就绪队列
  • 非抢占式
  • 缺点:对排在长作业后面的短作业不友好
  • 不会饥饿(毕竟按序走完)
    【学习笔记】第二章——调度算法:先来先服务FCFS、短作业优先SJF、高响应比HRRN_第1张图片
  • 例子:
  • 注意:式子不是一成不变的,要具体问题具体分析
  • 可以先画个实际运行图(如下图红黄绿紫段),再具体计算。
    【学习笔记】第二章——调度算法:先来先服务FCFS、短作业优先SJF、高响应比HRRN_第2张图片

二. 短作业优先(SJF)

  • 用于进程时叫“短进程优先(SPF)”
  • 非抢占;也有抢占式版本“最短剩余时间优先算法(SRTN)
  • 优点:“最短的”平均等待时间、平均周转时间(为啥打引号,看下文)
  • 缺点:不公平,可能会产生饥饿现象(可能会一直短作业优先,导致长作业无限后延)
    【学习笔记】第二章——调度算法:先来先服务FCFS、短作业优先SJF、高响应比HRRN_第3张图片
  • 例子:非抢占
  • 对比 FCFS,各方面都更优秀
  • 例子(抢占):
  • 对比非抢占,指标要更好。
  • 默认非抢占
  • SJF 平均等待时间、平均周转时间最少:不一定对,需要注意一下
    【学习笔记】第二章——调度算法:先来先服务FCFS、短作业优先SJF、高响应比HRRN_第4张图片

三. 高响应比优先

1. 对前面两种算法的思考

  • FCFS 对短作业不友好
  • SJF 对长作业不友好,可能会造成饥饿
    【学习笔记】第二章——调度算法:先来先服务FCFS、短作业优先SJF、高响应比HRRN_第5张图片

2. 描述

  • 响应比:(等待时间 + 要求服务时间)/ 要求服务时间,一定 >= 1
  • 作业、进程调度都可以
  • 非抢占
  • 综合了FCFS、SJF 的优点,以响应比的形式避免了长作业的饥饿问题
    【学习笔记】第二章——调度算法:先来先服务FCFS、短作业优先SJF、高响应比HRRN_第6张图片
  • 例子:
    【学习笔记】第二章——调度算法:先来先服务FCFS、短作业优先SJF、高响应比HRRN_第7张图片

四. 一、二、三总结

  • 这三种算法,适用于早期的批处理系统
    【学习笔记】第二章——调度算法:先来先服务FCFS、短作业优先SJF、高响应比HRRN_第8张图片

你可能感兴趣的:(操作系统学习,操作系统)