作者:崔佳丽童鞋 | 来源:互联网 | 2023-08-06 11:27
常见的进程调度算法
一、先来先服务于短作业优先
1.先来先服务调度算法
(FCFS)算法是一种最简单的调度算法,该算法即可用于作业调度,
也可用于进程调度。
2.短作业(进程)优先调度算法
SJ(P)F算法是指对短作业或进程优先调度的算法。它们可以分别用
于作业调度和进程调度
短作业优先(SJF)是指从后备队列中选择一个或若干个估计运行时间
最短的作业,将它们调入内存运行
短进程优先(SPF)则是从就绪队列中选出一个估计运行时间最短的进
程,将处理机分配给它,使它立即执行并一直执行到完成,或发生某事件
而被阻塞放弃处理机时再重新调度
二、高优先权优先
1.优先权调度算法的类型
为了照顾紧迫型作业使之在进入系统后便获得优先处理,引入了最高优
先权优先算法。常被用于批处理系统中(系统将从后备队列中选择若干个
优先权最高的作业装入内存);也可用于实时系统中;还可用于多种操作
系统中的进程调度算法(把处理机分配给就绪队列中优先权最高的进程)。
这时把该算法分为两种:
(1)非抢占式优先权算法
(2)抢占式优先权算法
2.高响应比优先
在批处理系统中,短作业优先算法是一种比较好的算法,其主要的不足
之处是长作业的运行得不到保证
三、基于时间片的轮转
1.时间片轮转法
(1)基本原理
系统将所有的就绪进程按先来先服务的原则排成一个队列,每次调度
时把CPU分配给队首进程,并令其执行一个时间片。时间片的大小从几ms到
几百ms。当执行的时间片用完时,由一个计时器发出时钟中断的请求,调度
程序便据此信号来停止该进程的执行,并将它送往就绪队列的末尾;然后,
再把处理机分配给就绪队列中新的队首进程,同时也让它执行一个时间片。
换言之。系统能在给定时间内响应所有用户的请求。
2.多级反馈队列
前面几种算法都有一定的局限性
(1)应设置多个就绪队列并为各个队列赋予不同的优先级
(2)当一个新进程进入内存后,首先将它放入第一队列的末尾按FCFS原则排
队等待调度
(3)仅当第一队列空闲时,调度程序才调度第二队列中的进程运行。