操作系统中调度算法
- 调度算法
- FCFS(First Come First Service)先来先服务
- SPN(Short Job First)最短进程优先
- SRT(Shortest Remaining Time)最短剩余时间优先
- RR 轮转
- HRRN 高响应比优先调度算法
调度算法
决策模式:决策模式说明选择函数在执行的瞬间的处理方式。
通常分为:
- 非抢占:一旦进入运行状态,就不会终止直到运行结束。
- 抢占:当前正在运行的进程可能会被打断,并转移到就绪状态。
一个调度能否被抢占,对进程的顺序有极大的影响。
FCFS(First Come First Service)先来先服务
FIFO,是一个非抢占,根据进程到达时间决定先运行哪一个。
- 结束时间 = 开始时间 + 服务时间
- 周转周期 = 结束时间 - 到达时间
- 带权周转时间 =
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 调度算法的一种平衡。同时考虑每个作业的等待时间和运行时间,在每次进行作业调度时,先计算后备作业队列中每个作业的相应比,从中选出相应比最高的作业投入运行。
相应比 =