基于时间片的轮转调度算法
时间片轮转法
在早期的时间片轮转法中系统将所有的就绪进程按先来先服务的原则排成一个队列每次调度时把CPU分配给队首进程并令其执行一个时间片时间片的大小从几ms到几百ms当执行的时间片用完时由一个计时器发出时钟中断请求调度程序便据此信号来停止该进程的执行并将它送往就绪队列的末尾然后再把处理机分配给就绪队列中新的队首进程同时也让它执行一个时间片这样就可以保证就绪队列中的所有进程在一给定的时间内均能获得一时间片的处理机执行时间
多级反馈队列调度算法
() 应设置多个就绪队列并为各个队列赋予不同的优先级第一个队列的优先级最高第二个队列次之其余各队列的优先权逐个降低该算法赋予各个队列中进程执行时间片的大小也各不相同在优先权愈高的队列中为每个进程所规定的执行时间片就愈小例如第二个队列的时间片要比第一个队列的时间片长一倍……第i+个队列的时间片要比第i个队列的时间片长一倍图 是多级反馈队列算法的示意
() 当一个新进程进入内存后首先将它放入第一队列的末尾按FCFS原则排队等待调度当轮到该进程执行时如它能在该时间片内完成便可准备撤离系统如果它在一个时间片结束时尚未完成调度程序便将该进程转入第二队列的末尾再同样地按FCFS原则等待调度执行如果它在第二队列中运行一个时间片后仍未完成再依次将它放入第三队列……如此下去当一个长作业(进程)从第一队列依次降到第n队列后在第n队列中便采取按时间片轮转的方式运行
() 仅当第一队列空闲时调度程序才调度第二队列中的进程运行仅当第~(i) 队列均空时才会调度第i队列中的进程运行如果处理机正在第i队列中为某进程服务时又有新进程进入优先权较高的队列(第~(i)中的任何一个队列)则此时新进程将抢占正在运行进程的处理机即由调度程序把正在运行的进程放回到第i队列的末尾把处理机分配给新到的高优先权进程
多级反馈队列调度算法的性能
() 终端型作业用户
() 短批处理作业用户
() 长批处理作业用户
——返回教材目录
了解更多计算机相关基础课程视频