作业调度算法【平均周转时间、平均带权周转时间、先来先服务FCFS、短作业优先SJF、高优先权(级)算法FPF、高响应比优先算法HRRN】

文章目录

  • 先来先服务算法(FCFS)
  • 短作业优先算法(SJF)、短进程优先算法(SPF)
  • 周转时间和带权周转时间
  • 高优先权(级)调度算法FPF
  • 高响应比优先调度算法HRRN

先来先服务算法(FCFS)

既可用于作业调度,又可用于进程调度

  • 作业调度:优先调度最先进入后备队列的作业
  • 进程调度:优先调度最先进入就绪队列的进程

利于长作业(长进程),不利于短作业(短进程)

利于CPU繁忙型,不利于I/O繁忙型

短作业优先算法(SJF)、短进程优先算法(SPF)

即优先调度时间短的作业/进程

  • SJF:从后备队列中找到估计运行时间最短的作业
  • SPF:从就绪队列中找到估计运行时间最短的作业

有效降低作业的平均等待时间,提高系统吞吐量

对长作业不利,不能对紧急作业做有效处理

周转时间和带权周转时间

  • 周转时间 = 进程完成时间 - 进程到达时间
  • 平均周转时间 = 周转时间之和 / 进程个数
  • 带权周转时间 = 周转时间 / 进程实际运行时间
  • 平均带权周转时间 = 带权周转时间之和 / 进程个数

作业调度算法【平均周转时间、平均带权周转时间、先来先服务FCFS、短作业优先SJF、高优先权(级)算法FPF、高响应比优先算法HRRN】_第1张图片
FSFS
作业调度算法【平均周转时间、平均带权周转时间、先来先服务FCFS、短作业优先SJF、高优先权(级)算法FPF、高响应比优先算法HRRN】_第2张图片
平均周转时间 = [(4-0)+(7-1)+(12-2)+(14-3)+(18-4)] / 5 = 9

平均带权周转时间 = [(4-0)/ 4 +(7-1)/ 3 + (12-2)/ 5 +(14-3)/ 2 + (18-4)/ 4 ] / 5=2.8

SPF作业调度算法【平均周转时间、平均带权周转时间、先来先服务FCFS、短作业优先SJF、高优先权(级)算法FPF、高响应比优先算法HRRN】_第3张图片
平均周转时间 = [(4-0)+(9-1)+(18-2)+(6-3)+(13-4)] / 5 = 8

平均带权周转时间 = [(4-0)/ 4 +(9-1)/ 3 +(18-2)/ 5 +(6-3)/2 +(13-4)/ 4] / 5 = 2.1

高优先权(级)调度算法FPF

  • 分为抢占式优先算法非抢占式优先算法
  • 系统依据作业的优先权高低决定谁先执行
  • 优先权与进程类型、进程对资源的需求,用户要求等有关
  • 优先权分为静态优先权动态优先权
  • 静态优先权在创建进程时确定,运行过程中保持不变
  • 动态优先权可以随进程的推进或时间的推移而发生改变

高响应比优先调度算法HRRN

在批处理系统中,短作业优先算法是很好的算法,但主要不足是长作业的运行得不到保证。因此我们为每个作业引进了动态优先权

优先权 = (等待时间+要求服务时间)/要求服务时间
     = (响应时间) / 要求服务时间

  • 等待时间相同,要求服务时间越短优先级越高,对短作业有利
  • 要求服务时间相同,等待时间越长优先级越高,先来的先执行
  • 对于长作业,等待时间越长,优先级越高,等待时间足够长,也能获得处理机

你可能感兴趣的:(一天学完操作系统系列,操作系统)