操作系统中常用的几种进程调度算法

1. 先进先出进程调度算法(FIFO) (先来先服务FCFS)

按照进程就绪的先后次序来调度进程。
优点: 实现简单
缺点: 没考虑进程的优先级

2. 短作业(进程)优先调度算法(SJF SPF)

选择就绪队列中估计运行时间最短的进程投入运行。
优点: 平均周转时间,带权平均周转时间都改善
缺点: 对长作业非常不利,不能保证紧迫性进程得到及时处理,估计运行时间不准确

3. 时间片轮转调度算法(RR—Round Robin)

把CPU划分成若干时间片,并且按顺序赋给就绪队列中的每一个进程,进程轮流占有CPU,当时间片用完时,即使进程未执行完毕,系统也剥夺该进程的CPU,将该进程排在就绪队列末尾。同时系统选择另一个进程运行。

4. 优先权调度算法(HPF—Highest Priority First)

优先选择就绪队列中优先权最高的进程投入运行。
非抢占式优先权算法: 仅在事件发生放弃处理机时
抢占式优先权算法: 可将正在运行的运行权剥夺

5. 高响应比优先调度算法:

高响应比优先调度算法的基本思想是把CPU分配给就绪队列中响应比最高的进程。

短作业优先调度算法 + 动态优先权机制
既考虑作业的执行时间也考虑作业的等待时间,综合了先来先服务和最短作业优先两种算法的特点。

计算公式:响应比 =(等待时间+要求服务时间)/ 要求服务时间,即RR=(w+s)/s=1+w/s,因此响应比一定是大于1的。

优点: 短作业与先后次序的兼顾,且不会使长作业长期得不到服务
缺点: 响应比计算系统开销,增加系统开销

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