【操作系统】-- 时间片轮转调度算法、优先级调度算法、多级反馈队列调度算法

article/2025/9/15 16:18:01

一、时间片轮转调度算法

1、算法思想

公平地、轮流地为各个进程服务,让每个进程在一定时间间隔内都可以得到响应。

2、算法规则

按照各进程到达就绪队列的顺序,轮流让各个进程执行一个时间片,若进程未在一个时间片内执行完,则会剥夺处理机,将进程重新放到就绪队列队尾重新排队。

3、用于作业/进程调度

用于进程调度

4、是否可抢占

抢占式算法

5、是否会导致饥饿

不会

6、优缺点

优点:公平,响应快,适用于分时操作系统。

缺点:由于高频率的进程切换,因此有一定的开销,不区分任务的紧急程度。

7、例题

例:各进程到达就绪队列的时间、需要运行时间如下表,使用时间片轮转调度算法,分析时间片大小是2时的进程运行情况。

进程到达时间运行时间
P105
P224
P341
P456

答:

 

0时刻(P1运行):只有P1到达就绪对列,让P1运行一个时间片2.。

2时刻(P2运行):P2到达就绪对列,P1被剥夺CPU,放到队尾,P2运行。

4时刻(P1运行):P3到达,先插到就绪队列队尾,紧接着,P2也插到队尾。

5时刻(P1运行):P4到达,插到就绪队尾。

6时刻(P3运行):P1时间片用完,重新回到就绪队尾。

7时刻(P2运行):P3主动放弃CPU。

9时刻(P4运行):P2时间片用完,并刚好运行完。

11时刻(P1运行):P4时间片用完,回到就绪队尾。

12时刻(P4运行):P1运行完,主动放弃CPU,就绪队列只剩P4。

二、优先级调度算法

1、算法思想

根据任务的紧急程度来决定处理顺序。

2、算法规则

每个 作业/进程 有各自的优先级,调度时选择优先级最高的 作业/进程。

3、用于作业/进程调度

可用于作业调度,也可用于进程调度,还可以用于I/O调度。

4、是否可抢占

抢占式、非抢占式都有。

5、是否会导致饥饿

6、优缺点

优点:用优先级区分紧急程度、重要程度,适用于实时操作系统,可灵活调整对各作业/进程的偏好程度。

缺点:若源源不断的高优先级到来,会导致饥饿。

7、例题

例:各进程到达就绪队列的时间、需要运行时间、进程优先级如下表。使用非抢占式的优先级调度算法,分析进程运行情况。

进程到达时间运行时间优先级
P1071
P2242
P3413
P4542

非抢占式

答:

 

0时刻(P1运行):只有P1到达。

7时刻(P3运行):P1运行完主动放弃处理机,其余进程都已到达,P3优先级最高。

8时刻(P2运行):P3完成,P2、P4优先级相同,由于P2先到达,P2优先。

12时刻(P4):P2完成,只剩P4。

16时刻:所有进程结束。

抢占式

答:

 

0时刻(P1运行):P1到达。

2时刻(P2运行):P2到达,优先级更高。

4时刻(P3运行):P3到达,优先级更高。

5时刻(P2运行):P3完成,主动释放,P4到达,由于P2更先进入就绪队列,P2上。

7时刻(P4运行):只剩P1、P4,P4优先级高。

11时刻(P1运行):P4完成,P1上。

注意:优先级未必只有一个,可以按照不同优先级来组织队列,高优先级在队头。

如何合理设置各进程优先级:

系统进程优先级高于用户进程

前台进程优先级高于后台进程

操作系统更偏好I/O型进程

三、多级反馈队列调度算法

1、算法思想

对其他调度算法的折中权衡。

2、算法规则

①设置多级就绪队列,各级队列优先级从高到低时间片从小到大。

②新进程到达时先进入第1级队列,按FCFS原则排队等待被分配时间片,若用完时间片进程未结束,则进程进入下一级队列队尾。如果此时已经是在最下级队列,则重新放回该队列队尾。

③只有第K级队列为空时,才会为k+1级队头的进程分配时间片。

3、用于作业/进程调度

进程调度

4、是否可抢占

抢占式

5、是否会导致饥饿

6、优缺点

对各进程公平,每个新到达的进程都可以很快得到响应,短进程只需较少的时间就可完成,不必实现估计进程的运行时间,可灵活调整对各进程的偏好程度。

7、例题

例:各进程到达就绪队列的时间、需要的运行时间如下表,使用多级反馈队列调度算法,分析各进程运行的过程。

进程到达时间运行时间
P108
P214
P351

答:

P1先到达,到第1级队列,使用1个时间片,然后进入下一个队列队尾。

P2到达,先到第1级队列,使用1个时间片,进入到下一队列队尾。

P1,在第2级队列,使用2个时间片,然后进入下一个队列队尾。

P2,在第2级队列,使用1个时间片后,P3到达第1级队列,P2被抢占,P2重新回到第2级队列队尾。

P3,在第1级队列,使用1个时间片,结束。

P2,在第2级队列,使用1个时间片,结束。

P1,在第3级队列,使用4个时间片,然后重新回到第3级队列队尾,重新调度。

上面三种调度算法适用于交互式系统。


http://chatgpt.dhexx.cn/article/ZS8qPS5g.shtml

相关文章

调度算法解析

一、常见的批处理作业调度算法 1.先来先服务调度算法(FCFS):就是按照各个作业进入系统的自然次序来调度作业。这种调度算法的优点是实现简单,公平。其缺点是没有考虑到系统中各种资源的综合使用情况,往往使短作业的用户不满意&…

进程和线程调度算法

调度算法是指:根据系统的资源分配策略所规定的资源分配算法,如任务A在执行完后,选择哪个任务来执行,使得某个因素(如进程总执行时间,或者磁盘寻道时间等)最小。对于不同的系统目标,通…

进程的调度算法

什么时候调度进程 在进程的生命周期中,当进程从一个运行状态到另外一状态变化的时候,其实会触发一次调度。 比如,以下状态的变化都会触发操作系统的调度: 从就绪态->运行态:当进程被创建时,会进入到就…

调度算法的介绍及优缺点

调度算法是根据系统的资源分配策略所规定的资源分配算法。有的调度算法适用于作业调度,有的适用于进程调度,有的两者都适用。先了解几个术语 到达时间、服务时间、开始时间 完成时间、等待时间 周转时间:完成时间-到达时间 带权周转时间&…

操作系统五种调度算法总结(含源码)

今天操作系统实验课我们做了作业调度算法的模拟。网上的调度算法参差不齐,零散杂乱。我在这里进行一个总结,并且分享给大家操作系统的五种常用算法(FCFS,SJF,HRRF,HPF,RR)并且附上代码和结果图 作业调度 作业调度又称高级调度&am…

磁盘调度算法

1 一次磁盘读/写操作需要的时间 **寻找时间(寻道时间)**Ts:在读/写数据前,需要将磁头移动到指定磁道所花费的时间。 寻道时间分两步: (1) 启动磁头臂消耗的时间:s。 (2) 移动磁头消耗的时间:假…

经典进程调度算法

介绍进程调度的概念和作用 当 CPU 有一堆任务要处理时,由于其资源有限,这些事情就没法 同时处理。这就需要确定某种规则来决定处理这些任务的顺序,这 就是 “调度” 研究的问题。除了接下来将要说的进程调度,还有 作业调度、内存…

实时调度算法

必要的名词解释 开始截止时间:某个任务必须在某个时间之前开始执行 实时调度算法的分类 根据实时任务性质分类 硬实时调度算法:即任务必须在确定的时间内完成软实时调度算法:即大部分任务必须在确定的时间内完成 根据调度方式分类 关于…

操作系统的常见调度算法

1.先来先服务调度算法(FCFS) 特性:相对其他调度算法最简单、具有非抢占性、不可剥夺、可用于作业调度和进程调度。 使用特点:用于长作业,不利于短作业(对于SJF(短作业)的高响应比&…

常见的作业调度算法

目录 写在前面先来先服务算法短作业优先算法高响应比优先调度算法 写在前面 评价作业调度算法的优劣,通常看平均周转时间和带权周转时间周转时间 作业完成时间 - 作业到达时间平均周转时间 (作业完成时间 - 作业到达时间)/ 作业数量带权周…

进程(作业)调度算法

3.2 调度算法(重点!!!) 一、先来先服务和短作业(进程)优先调度算法二、高优先权优先调度算法三、基于时间片的轮转调度算法 一、先来先服务和短作业(进程)优先调度算法…

优先级调度算法

算法介绍 优先调度算法的类型(用于作业调度) 1)非抢占式优先权调度算法 系统一旦把处理机分配给优先权最高的进程后,便一直执行下去,至完成。 2)抢占式优先权调度算法 只要系统中出现一个新的就绪进程…

进程调度算法;先来先服务调度算法、短作业优先调度算法、时间片轮转调度算法

一、 实验目的和要求 1. 了解进程调度算法的特点 2. 掌握进程调度算法,如先来先服务调度算法(first come first served,FCFS)、短作业优先调度算法(shotjob first,SJF)、时间片轮转调度算法。 二、 实验内容 …

操作系统调度算法--高响应比优先调度算法解析

高响应比优先调度算法(Highest Response Radio Next,HRRN)是一种对CPU中央控制器响应比的分配的算法。HRRN是介于FCFS(先来先服务算法)与SJF(短作业优先算法)之间的折中算法。FCFS算法所考虑的只…

进程调度算法

操作系统常见的进程调度算法 调度算法是指:根据系统的资源分配策略所规定的资源分配算法。常见的进程调度算法有: 1.先来先去服务 2.时间片轮转法 3.多级反馈队列算法 4.最短进程优先 5.最短剩余时间优先 6.最高响应比优先 7.多级反馈队列调度算法 一、…

【操作系统】调度算法

目录 🏫基本概念 🏥先来先服务(FCFS, First Come First Serve) 🏩短作业优先(SJF, Shortest Job First) 🍆细节 ⛪️高响应比优先(HRRN,Highest Response Ratio Next) &#x…

调度算法

1.先来先服务调度算法(FCFS): 按照到达的先后顺序进行调度。 周转时间完成时间 - 到达时间 带权周转时间周转时间 / 运行时间 等待时间周转时间 - 运行时间 特殊情况:当有I/O操作(输入/输出)的进程的时候…

操作系统——调度算法

文章目录 前言一、先来先服务(FCFS)二、最短时间优先(SJF)三、最高响应比优先(HRRN)四、时间片轮转(RR)五、优先级调度六、多级反馈队列总结 前言 本文的主要内容是调度算法的介绍,包括先来先服务(FCFS)、最短时间优先(SJF)、最高响应比优先(HRRN)、时间片轮转(RR)…

调度算法-优先级调度算法+例题详解

1. 优先级调度算法的类型 优先级进程调度算法,是把处理机分配给就绪队列中优先级最高的进程。这时,又可进一步把该算法分成如下两种。 非抢占式优先级调度算法。抢占式优先级调度算法。 2. 优先级的类型 静态优先级 静态优先级是在创建进程时确定的&…

【操作系统】常用的调度算法

文章目录 前言先来先服务调度算法(FCFS)短作业/短进程优先算法(SJF/SPF)时间片轮转调度算法(RR)高响应比优先调度算法(HRRF)优先级调度算法(PSA)静态优先级动…