操作系统——时间片的轮转调度算法

发布于:2022-12-09 ⋅ 阅读:(919) ⋅ 点赞:(0)

Hellow,我是jack,今天给大家分享的是时间片的轮转调度算法。话不多说,让我们直接进入正题。首先让我们先了解一下1·时间片轮转法,2·多级反馈队列算法

时间片轮转法:

主要用于分时系统中的进程调度。为了实现轮转调度,系统把所有就绪进程按先入先出的原则排成一个队列。新来的进程加到就绪队列末尾。每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间片的时间。时间片是一个小的时间单位,通常为10~100ms数量级。当进程用完分给它的时间片后,系统的计时器发出时钟中断,调度程序便停止该进程的运行,把它放入就绪队列的末尾;然后,把CPU分给就绪队列的队首进程,同样也让它运行一个时间片,如此往复。

注:时间片的选取时间片过长则变成了先来先服务算法;时间片过短则会产生过多的上下文切换,系统内耗重;一般根据经验:时间片选取的长度不应使得上下文切换开销超过1%。

多级反馈队列算法

1.调度机制:

1)设置多个就绪队列。在系统中设置多个就绪队列,并为每个队列赋予不同的优先级,从第一个开始逐个降低。不同队列进程中所赋予的执行时间也不同,优先级越高,时间片越小。

2)每个队列都采用FCFS(先来先服务)算法。轮到该进程执行时,若在该时间片内完成,便撤离操作系统,否则调度程序将其转入第二队列的末尾等待调度,。若进程最后被调到第N队列中时,便采用RR方式运行。

3)按队列优先级调度。调度按照优先级最高队列中诸进程运行,仅当第一队列空闲时才调度第二队列进程执行。若优先级低队列执行中有优先级高队列进程执行,应立刻将此进程放入队列末尾,把处理机分配给新到高优先级进程。

2.多级反馈队列调度算法的特点

CPU密集型进程:进程优先级会下降很快,得到较大的时间片,减少进程切换的开销;

I/O密集型进程:进程会停留在高优先级队列中,因为每次需要CPU执行的时间很短。

接下来然我们学习一下调度算法准则

1.面向用户的准则

  1. 周转时间短周转时间Ti,是指从作业被提交给系统开始,到作业完成为止的这段时间间隔(称为作业周转时间)

平均周转时间T = (T1+T2+...Tn)/n

带权平均周转时间Tw=(T1/ TS1+ T1/ TS1+ ... ...+Tn / TSn)/n

其中TS为服务时间

  1. 响应速度快

响应时间=等待时间+服务时间

(在批处理系统的情况下,响应时间等于周转时间)

  1. 截止时间的保证截止时间:是指某任务必须开始执行的最迟时间,或必须完成的最迟时间。截止时间是评价实时系统性能的重要指标,是选择实时调度算法的重要准则

面向系统的准则

        1)系统吞吐量高;

        2)处理机利用率好;

        3)各类资源的平衡利用。

本章就和大家分享到这里,谢谢。

欢迎指正。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到