Skip to content

服务算法(FCFS——First Come First Serve)

按照进程就绪的先后顺序使用CPU。特点:非抢占,公平,实现简单,长进程后面的短进程需要等很长时间,不利于用户体验。

最短作业优先(SJF——Shortest Job First)

具有最短完成时间的进程优先执行,非抢占。

最短剩余时间优先(SRTN——Shortest Remaining Time Next)

SJF抢占式版本,即当一个新就绪的进程比当前运行进程具有更短完成时间时,系统抢占当前进程,选择新就绪的进程执行。 特点:有最短的平均周转时间,但不公平,源源不断的短任务到来,可能使长的任务长时间得不到运行,从而产生 “饥饿”现象 (starvation)。

最高响应比优先算法(HRRN——Highest Response Ratio Next)

是一个综合算法,调度时,首先计算每个进程的响应比R,之后总是选择R最高的进程执行。 {响应比R = 周转时间 / 处理时间 =(处理时间 + 等待时间)/ 处理时间 = 1 +(等待时间 / 处理时间)} 特点:折中权衡

优先级调度算法(Priority Scheduling Algorithm——PSA)

即给每个作业一个优先级,优先级越高越紧迫,应该先执行。通常:系统进程优先级高于用户进程;前台进程优先级高于后台进程;操作系统更偏好 I/O型进程。 特点:实现简单,但不公平,可能导致优先级低的进程产生饥饿现象; 可能产生优先级反转问题(基于优先级的抢占式算法),即一个低优先级进程持有一个高优先级进程所需要的资源,使得高优先级进程等待低优先级进程运行