操作系统中调度算法

  • 调度算法
  • FCFS(First Come First Service)先来先服务
  • SPN(Short Job First)最短进程优先
  • SRT(Shortest Remaining Time)最短剩余时间优先
  • RR 轮转
  • HRRN 高响应比优先调度算法


调度算法

决策模式:决策模式说明选择函数在执行的瞬间的处理方式。
通常分为:

  • 非抢占:一旦进入运行状态,就不会终止直到运行结束。
  • 抢占:当前正在运行的进程可能会被打断,并转移到就绪状态。

一个调度能否被抢占,对进程的顺序有极大的影响。

FCFS(First Come First Service)先来先服务

FIFO,是一个非抢占,根据进程到达时间决定先运行哪一个。

  • 结束时间 = 开始时间 + 服务时间
  • 周转周期 = 结束时间 - 到达时间
  • 带权周转时间 = lvs常用调度算法 stride调度算法_时间片

SPN(Short Job First)最短进程优先

非抢占,根据服务的时间进行选择,在等待的进程中选择用时最短的。

SRT(Shortest Remaining Time)最短剩余时间优先

针对 SPN 增加抢占机制版本。
例如:A,B,C,D,E 进程,B 运行时,C,D 都在等待,并运行时间更短,如将其中断,先处理所需时间更短的,运行效率更高。

RR 轮转

时间片(Time Slicing):将一个较小时间单元定义为时间量或时间片,时间片的大小通常为 10~100ms。

基于 FCFS 增加抢占机制。对于轮转最重要的时时间片的长度,轮转算法以一个周期产生中断。当中断发生时,当前运行程序至于就绪队尾,然后基于 FCFS 进行下一个就绪作业运行。

HRRN 高响应比优先调度算法

主要作用于作业调度,该算法时对 FCFS 调度算法和 SJF 调度算法的一种平衡。同时考虑每个作业的等待时间和运行时间,在每次进行作业调度时,先计算后备作业队列中每个作业的相应比,从中选出相应比最高的作业投入运行。

相应比 = lvs常用调度算法 stride调度算法_操作系统_02