Hellow,我是jack,今天给大家分享的是时间片的轮转调度算法。话不多说,让我们直接进入正题。首先让我们先了解一下1·时间片轮转法,2·多级反馈队列算法。
时间片轮转法:
主要用于分时系统中的进程调度。为了实现轮转调度,系统把所有就绪进程按先入先出的原则排成一个队列。新来的进程加到就绪队列末尾。每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间片的时间。时间片是一个小的时间单位,通常为10~100ms数量级。当进程用完分给它的时间片后,系统的计时器发出时钟中断,调度程序便停止该进程的运行,把它放入就绪队列的末尾;然后,把CPU分给就绪队列的队首进程,同样也让它运行一个时间片,如此往复。
注:时间片的选取时间片过长则变成了先来先服务算法;时间片过短则会产生过多的上下文切换,系统内耗重;一般根据经验:时间片选取的长度不应使得上下文切换开销超过1%。
多级反馈队列算法
1.调度机制:
(1)设置多个就绪队列。在系统中设置多个就绪队列,并为每个队列赋予不同的优先级,从第一个开始逐个降低。不同队列进程中所赋予的执行时间也不同,优先级越高,时间片越小。
(2)每个队列都采用FCFS(先来先服务)算法。轮到该进程执行时,若在该时间片内完成,便撤离操作系统,否则调度程序将其转入第二队列的末尾等待调度,…。若进程最后被调到第N队列中时,便采用RR方式运行。
(3)按队列优先级调度。调度按照优先级最高队列中诸进程运行,仅当第一队列空闲时才调度第二队列进程执行。若优先级低队列执行中有优先级高队列进程执行,应立刻将此进程放入队列末尾,把处理机分配给新到高优先级进程。
2.多级反馈队列调度算法的特点
CPU密集型进程:进程优先级会下降很快,得到较大的时间片,减少进程切换的开销;
I/O密集型进程:进程会停留在高优先级队列中,因为每次需要CPU执行的时间很短。
接下来然我们学习一下调度算法准则
1.面向用户的准则
- 周转时间短周转时间Ti,是指从作业被提交给系统开始,到作业完成为止的这段时间间隔(称为作业周转时间)。
平均周转时间T = (T1+T2+...Tn)/n
带权平均周转时间Tw=(T1/ TS1+ T1/ TS1+ ... ...+Tn / TSn)/n
其中TS为服务时间
- 响应速度快
响应时间=等待时间+服务时间
(在批处理系统的情况下,响应时间等于周转时间)
- 截止时间的保证截止时间:是指某任务必须开始执行的最迟时间,或必须完成的最迟时间。截止时间是评价实时系统性能的重要指标,是选择实时调度算法的重要准则
2·面向系统的准则
1)系统吞吐量高;
2)处理机利用率好;
3)各类资源的平衡利用。
本章就和大家分享到这里,谢谢。