CN112596891A - 时间片轮转结合扩展中断的多任务管理方法 - Google Patents
时间片轮转结合扩展中断的多任务管理方法 Download PDFInfo
- Publication number
- CN112596891A CN112596891A CN202110233016.7A CN202110233016A CN112596891A CN 112596891 A CN112596891 A CN 112596891A CN 202110233016 A CN202110233016 A CN 202110233016A CN 112596891 A CN112596891 A CN 112596891A
- Authority
- CN
- China
- Prior art keywords
- queue
- priority
- tasks
- task
- time slice
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4825—Interrupt from clock, e.g. time of day
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
发明公开了一种时间片轮转结合扩展中断的多任务管理方法。该方法先将任务进行一次等级划分,划分为L、M、H三个不同等级,在该等级机制下可对M级、H级进行二次等级细分,采用数字表征二次优先级。在提供4个任务队列的条件下,根据两次等级划分触发不同的中断,从而实现了利用扩展的多优先级中断管理系统,协助CPU完成多任务之间的切换与资源调度。本发明在任务切换与资源调度过程中结合了扩展中断与时间片轮转策略,同时对时间片轮转策略进行了改进,提出了动态双队列交替时间片轮转调度策略。
Description
技术领域
本发明属于系统任务管理技术领域,具体涉及一种时间片轮转结合扩展中断的多任务管理方法。
背景技术
在多任务管理办法中,任务进程调度程序会按照一定的算法,动态地把CPU分配给就绪队列中的任务,让任务执行。当前,常见的任务进程算法包括先来先服务、短作业优先、时间片轮转、优先级调度、最短剩余时间算法。其中时间片轮转法为发明主要用于改进的算法架构,其原理是系统将所有的就绪任务进程按先来先服务的原则排成一个队列,每次调度时,把CPU分配给队首进程,并令其执行一个时间片;当执行的时间片用完时,由一个计时器发出时钟中断请求,调度程序便停止该进程的执行,并将其放就绪队列尾;然后,再把处理机分配给就绪队列中新的队首;时间片的大小从几毫秒到几百毫秒。然而时间片轮转调度方法具有一些瓶颈问题,主要体现在整个系统只有一个就绪队列供多个处理器共享;时间片大小的设定会对性能产生影响,时间片设置过短,会导致进程频繁切换,降低CPU效率;时间片设置过长,会引起短交互任务响应变差。
发明内容
发明目的:本发明的目的在于提供一种根据任务实时性需求,协助CPU完成多任务之间的切换和资源调度的时间片轮转结合扩展中断的多任务管理方法。
技术方案:本发明的时间片轮转结合扩展中断的多任务管理方法,包括如下步骤:(1)对已知所有任务进行优先级标注;(2)提供4个任务队列;(3)利用中断触发配合运行逻辑对任务进行调度。
其中,步骤(1)中,所述优先级标注会产生两种不同的优先级标签,第一种标签包含三个优先级,分别为L级(低优先级)、M级(中等优先级)和H级(高优先级),第一种标签用于决策系统的运行状态判定;第二种标签为数字标签,数字越大,优先级越高,第二种标签用于辅助设定时间片大小以及特定运行状态下的任务调度判定。数字标签的标注可根据任务运行所需时间以及任务重要性综合衡量进行标注。第一种标签的划分可根据第二种标签的值进行划分,通常L级对应最小的数字标签,即系统处理的常规任务;H级对应数字标签中数值较大开始,直至最大值的多个连续数字,即比较重要的任务;M级对应剩下的所有数字,即普通非常规任务。这里称第一种标签为第一优先级,第二种标签为第二优先级。
步骤(2)中,所述4个任务队列包括常队列、应急队列、等待队列1和等待队列2;其中常队列用于L级任务的调度,应急队列用于M级、H级任务的调度,等待队列1用于临时存放M级任务,等待队列2用于临时存放H级任务,由常队列与应急队列最终将任务传至CPU运行。
进一步地,步骤(3)中,所述中断触发配合运行逻辑包括如下步骤:
一、先将任务传入,进行第一优先级的判断;
二、若第一优先级为L级,则判断Hflag是否为1,若为1则将任务传入常队列但不运行,若不为1则判断Mflag是否为1,若为1,则根据M级的第二优先级高低设定常队列时间片,进行动态双队列交替时间片轮转调度,若不为1,则传入常队列,设定合适时间片进行时间片轮转调度;其中, Hflag为判断H级任务是否已经存在的标志位,Mflag为判断M级任务是否已经存在的标志位;
三、若第一优先级为M级,则判断Hflag是否为1,若为1则将任务传入等待队列1,若不为1则根据M级的第二优先级高低设定应急队列时间片,进行双队列交替时间片轮转调度;
四、若第一优先级为H级,则判断Hflag是否为1,若不为1,则先将时间片设定为默认最小值,将应急队列中M级任务排入等待队列1,停止常队列任务运行,令Hflag=1,设定时间片为合适值,将任务传入应急队列进行轮转调度,若Hflag为1则比较该任务与正在应急队列中的任务的第二优先级,若小于则将任务传入等待队列2,若等于则传入应急队列,若大于,则将应急队列中任务传入等待队列2,并将新任务传入应急队列。
中断系统的介入体现在任务传入后所触发的运行程序通过扩展中断来实现。
进一步地,所述双队列交替时间片轮转调度为固定时间片T内存在两个子时间片T1、T2,执行的两个子时间片T1、T2的值动态可变;T1、T2分别为常队列与应急队列首任务单次送入CPU的处理时间,通过可变化的时间片大小来实现对不同优先级任务的区别对待,同时让常规任务在优先级相对较低的任务运行时可以通过时间片轮转的方式得以运行,T1、T2的公式为:
其中,a、b分别为常队列与应急队列队首的任务的第二优先级,n为任务传入调度所需时间,n≥0。
有益效果:与现有技术相比,本发明具有如下显著优点:
1、通过扩展中断系统提升了任务调度的灵活性,具体的体现在通过中断创建了任务调度逻辑;
2、对原有的时间片轮转调度方法进行了改进,采用了双队列交替时间片轮转调度的方法,通过可变化的时间片大小来实现对不同优先级任务的区别对待,同时让常规任务在优先级相对较低的任务运行时可以通过时间片轮转的方式运行。
附图说明
图1为本发明方法的总流程图;
图2为本发明优先级划分原理图;
图3为本发明利用中断触发配合运行逻辑对任务进行调度的运行逻辑图;
图4为本发明动态双队列交替时间片轮转调度的原理图。
具体实施方式
下面结合附图对本发明的技术方案作进一步说明。
如图1所示,本发明提供的时间片轮转结合扩展中断的多任务管理方法,其步骤如下:(1)对已知所有任务进行优先级标注;(2)提供4个任务队列;(3)利用中断触发配合运行逻辑对任务进行调度。
步骤(1):对已知所有任务进行优先级标注,其原理如图2所示,该步骤将会产生两种不同的优先级标签,第一种标签包含三个优先级,分别为低优先级(L级)、中等优先级(M级)、高优先级(H级);第二种为数字标签,数字越大,优先级越高。这里称第一种标签为第一优先级,第二种标签为第二优先级。对第一优先级的判断将用于决定系统的运行状态。第二优先级则用于辅助设定时间片大小以及特定运行状态下的任务调度判定。第二优先级中数字标签的标注可根据任务运行所需时间以及任务重要性综合衡量进行标注。第一优先级的划分可根据第二优先级的值进行划分,通常L级对应最小的数字标签,即系统处理的常规任务,在原理图中表现为第二优先级中的1对第一优先级的L级;H级对应数字标签中数值较大开始,直至最大值的多个连续数字,即比较重要的任务,在原理图中表现为第二优先级的K+1至N对应第一优先级中的H级;M级对应剩下的所有数字,即普通非常规任务,在原理图中表现为第二优先级的2至K对应第一优先级中的H级。
步骤(2):提供4个任务队列,分别为常队列、应急队列、等待队列1、等待队列2。其中常队列用于L级任务的调度,应急队列用于M级、H级任务的调度,等待队列1用于临时存放M级任务,等待队列2用于临时存放H级任务。由常队列与应急队列最终将任务传至CPU运行。
步骤(3):利用中断触发配合运行逻辑对任务进行调度。其运行逻辑如图3所示,先将任务传入,进行第一优先级的判断。若为L级,则判断Hflag是否为1,若为1则将任务传入常队列但不运行,若不为1则判断Mflag是否为1,若为1,则根据M级的第二优先级高低设定常队列时间片,进行动态双队列交替时间片轮转调度,若不为1,则传入常队列,设定合适时间片进行时间片轮转调度;若第一优先级为M级,则判断Hflag是否为1,若为1则将任务传入等待队列1,若不为1则根据M级的第二优先级高低设定应急队列时间片,进行双队列交替时间片轮转调度;若第一优先级为H级,则判断Hflag是否为1,若不为1,则先将时间片设定为默认最小值,将应急队列中M级任务排入等待队列1,停止常队列任务运行,令Hflag=1,设定时间片为合适值,将任务传入应急队列进行轮转调度,若Hflag为1则比较该任务与正在应急队列中的任务的第二优先级,若小于则将任务传入等待队列2,若等于则传入应急队列,若大于,则将应急队列中任务传入等待队列2,并将新任务传入应急队列。
由步骤(3)所述的任务传入步骤,将优先传入非等待队列1,2中的任务,其次传入等待队列2中的任务,最后传入等待队列1中的任务。
由步骤(3)所述动态双队列交替时间片轮转调度,其原理图如图4所示,图中任务标注字母数字意义按顺序依次为第一优先级等级、第二优先级(任务在队列中的排序)。其中常队列存放着L级任务,应急队列存在着不同第二优先级的M级任务。先设置一个合适且固定的时间片,其大小为T;根据常队列与应急队列队首的任务的第二优先级,这里记为a,b,可获得另外两个时间片T1、T2,其公式为:
其中n为任务传入调度所需时间,通常为经验值,可自行调整,n≥0。即在一个固定时间片T内CPU将依次执行应急队列队首任务T2时长,再执行常队列队首任务T1时长。当固定时间片T结束后,将两个队列的队首任务分别放入两个队列的队尾。循环此步骤直至触发中断,进行其他操作。该调度策略的动态体现于单个时间片T内执行的两个子时间片T1,T2的值可变。
由步骤(3)所述中断触发部署于不同运行模式的变更,即如图3所示,体现在以下操作,判定为L级任务之后,将任务传入常队列,设定合适时间片并正常运行操作;判定为L级或M级之后,根据M级任务第二优先级确定时间片大小,进入动态双队列交替时间片轮转调度操作;判定为H级操作之后,根据任务优先级以及Hflag值选择不同的时间片轮转策略操作,即判定Hflag为0以及任务第二优先级大于应急队列中任务后的操作。当满足这些操作的触发条件后,触发扩展中断,执行操作任务。
Claims (3)
1.一种时间片轮转结合扩展中断的多任务管理方法,其特征在于,包括如下步骤:(1)对已知所有任务进行优先级标注;(2)提供4个任务队列;(3)利用中断触发配合运行逻辑对任务进行调度;
其中,步骤(1)中,所述优先级标注会产生两种不同的优先级标签,第一种标签包含三个优先级,分别为L级、M级和H级,第一种标签用于决策系统的运行状态判定;第二种标签为数字标签,数字越大,优先级越高,第二种标签用于辅助设定时间片大小以及特定运行状态下的任务调度判定;
步骤(2)中,所述4个任务队列包括常队列、应急队列、等待队列1和等待队列2;其中常队列用于L级任务的调度,应急队列用于M级、H级任务的调度,等待队列1用于临时存放M级任务,等待队列2用于临时存放H级任务。
2.根据权利要求1所述的时间片轮转结合扩展中断的多任务管理方法,其特征在于,步骤(3)中,所述中断触发配合运行逻辑包括如下步骤:
一、先将任务传入,进行第一优先级的判断;
二、若第一优先级为L级,则判断Hflag是否为1,若为1则将任务传入常队列但不运行,若不为1则判断Mflag是否为1,若为1,则根据M级的第二优先级高低设定常队列时间片,进行动态双队列交替时间片轮转调度,若不为1,则传入常队列,设定合适时间片进行时间片轮转调度;其中, Hflag为判断H级任务是否已经存在的标志位,Mflag为判断M级任务是否已经存在的标志位;
三、若第一优先级为M级,则判断Hflag是否为1,若为1则将任务传入等待队列1,若不为1则根据M级的第二优先级高低设定应急队列时间片,进行双队列交替时间片轮转调度;
四、若第一优先级为H级,则判断Hflag是否为1,若不为1,则先将时间片设定为默认最小值,将应急队列中M级任务排入等待队列1,停止常队列任务运行,令Hflag=1,设定时间片为合适值,将任务传入应急队列进行轮转调度,若Hflag为1则比较该任务与正在应急队列中的任务的第二优先级,若小于则将任务传入等待队列2,若等于则传入应急队列,若大于,则将应急队列中任务传入等待队列2,并将新任务传入应急队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110233016.7A CN112596891B (zh) | 2021-03-03 | 2021-03-03 | 时间片轮转结合扩展中断的多任务管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110233016.7A CN112596891B (zh) | 2021-03-03 | 2021-03-03 | 时间片轮转结合扩展中断的多任务管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112596891A true CN112596891A (zh) | 2021-04-02 |
CN112596891B CN112596891B (zh) | 2021-06-11 |
Family
ID=75210118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110233016.7A Active CN112596891B (zh) | 2021-03-03 | 2021-03-03 | 时间片轮转结合扩展中断的多任务管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112596891B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448705A (zh) * | 2021-06-25 | 2021-09-28 | 皖西学院 | 一种不平衡作业调度算法 |
CN116450306A (zh) * | 2022-09-26 | 2023-07-18 | 宁德时代新能源科技股份有限公司 | 任务调度方法、装置、设备、存储介质及产品 |
EP4357920A4 (en) * | 2021-07-12 | 2024-07-24 | Huawei Tech Co Ltd | TASK SCHEDULING METHOD AND APPARATUS |
WO2024171526A1 (ja) * | 2023-02-14 | 2024-08-22 | 株式会社日立製作所 | 保安装置および車両 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103713948A (zh) * | 2013-12-30 | 2014-04-09 | 北京控制工程研究所 | 一种优先级抢占时间片轮转操作系统中任务定时调度方法 |
CN105955796A (zh) * | 2016-04-22 | 2016-09-21 | 华中科技大学 | 一种云平台上高性能并行应用的调度方法及系统 |
WO2016177138A1 (zh) * | 2015-08-27 | 2016-11-10 | 中兴通讯股份有限公司 | 一种调度任务的方法、装置及系统 |
CN108572635A (zh) * | 2018-07-30 | 2018-09-25 | 天津中德应用技术大学 | 基于共享内存池和改进型时间片轮转法的工业网络节点 |
CN110347507A (zh) * | 2019-07-01 | 2019-10-18 | 电子科技大学 | 基于时间片轮转的多级融合实时调度方法 |
CN110347485A (zh) * | 2019-07-01 | 2019-10-18 | 电子科技大学 | 基于固定优先级的多核抢占式的多级融合实时调度方法 |
CN111338777A (zh) * | 2020-02-26 | 2020-06-26 | 山东超越数控电子股份有限公司 | 一种低延时高稳定性的自主平台中断响应方法及设备 |
-
2021
- 2021-03-03 CN CN202110233016.7A patent/CN112596891B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103713948A (zh) * | 2013-12-30 | 2014-04-09 | 北京控制工程研究所 | 一种优先级抢占时间片轮转操作系统中任务定时调度方法 |
WO2016177138A1 (zh) * | 2015-08-27 | 2016-11-10 | 中兴通讯股份有限公司 | 一种调度任务的方法、装置及系统 |
CN105955796A (zh) * | 2016-04-22 | 2016-09-21 | 华中科技大学 | 一种云平台上高性能并行应用的调度方法及系统 |
CN108572635A (zh) * | 2018-07-30 | 2018-09-25 | 天津中德应用技术大学 | 基于共享内存池和改进型时间片轮转法的工业网络节点 |
CN110347507A (zh) * | 2019-07-01 | 2019-10-18 | 电子科技大学 | 基于时间片轮转的多级融合实时调度方法 |
CN110347485A (zh) * | 2019-07-01 | 2019-10-18 | 电子科技大学 | 基于固定优先级的多核抢占式的多级融合实时调度方法 |
CN111338777A (zh) * | 2020-02-26 | 2020-06-26 | 山东超越数控电子股份有限公司 | 一种低延时高稳定性的自主平台中断响应方法及设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448705A (zh) * | 2021-06-25 | 2021-09-28 | 皖西学院 | 一种不平衡作业调度算法 |
EP4357920A4 (en) * | 2021-07-12 | 2024-07-24 | Huawei Tech Co Ltd | TASK SCHEDULING METHOD AND APPARATUS |
CN116450306A (zh) * | 2022-09-26 | 2023-07-18 | 宁德时代新能源科技股份有限公司 | 任务调度方法、装置、设备、存储介质及产品 |
CN116450306B (zh) * | 2022-09-26 | 2023-12-26 | 宁德时代新能源科技股份有限公司 | 任务调度方法、装置、设备、存储介质及产品 |
WO2024171526A1 (ja) * | 2023-02-14 | 2024-08-22 | 株式会社日立製作所 | 保安装置および車両 |
Also Published As
Publication number | Publication date |
---|---|
CN112596891B (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112596891B (zh) | 时间片轮转结合扩展中断的多任务管理方法 | |
CN108762896B (zh) | 一种基于Hadoop集群任务调度方法及计算机设备 | |
US10445850B2 (en) | Technologies for offloading network packet processing to a GPU | |
US8539498B2 (en) | Interprocess resource-based dynamic scheduling system and method | |
US6757897B1 (en) | Apparatus and methods for scheduling and performing tasks | |
CN109766180B (zh) | 负载均衡方法和装置、存储介质、计算设备及计算系统 | |
CN108363615A (zh) | 用于可重构处理系统的任务分配方法和系统 | |
CN111367652A (zh) | 一种嵌入式实时操作系统的任务调度处理系统和方法 | |
CN102855156B (zh) | 一种中断控制器及中断控制方法 | |
CN109947552A (zh) | 基于进程与线程调度的边缘控制器动态任务调度方法 | |
CN105389204B (zh) | 一种多资源偏序调度方法 | |
CN103365711A (zh) | 应用于物联网业务平台的任务调度机制和方法 | |
WO2014173166A1 (zh) | 一种共享资源的调度方法和系统 | |
CN114579285B (zh) | 一种任务运行系统、方法及计算设备 | |
US20090292846A1 (en) | Method of interrupt scheduling | |
CN112162835A (zh) | 一种异构云环境下实时任务的调度优化方法 | |
CN109656716B (zh) | 一种Slurm作业调度方法及系统 | |
CN106354555A (zh) | 一种操作系统进程调度算法 | |
Garg | Real-time linux kernel scheduler | |
CN116048756A (zh) | 一种队列调度方法、装置及相关设备 | |
CN114579279A (zh) | 任务调度方法及装置 | |
CN115686863A (zh) | 一种混合轮询方法、装置、设备及可读存储介质 | |
CN108628667A (zh) | 一种基于多属性决策的启发式动态任务调度系统及其实现方法 | |
CN104021041B (zh) | 一种多任务操作环境状态的计算机调度方法 | |
CN112506640A (zh) | 一种用于加密运算芯片的多处理器架构及调配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |