教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 初中教育 >

一种改进的实时混合任务调度算法

来源:网络收集 时间:2026-03-21
导读: 文章提出了结合TBS(总带宽服务器法)算法和DMS(时限单调算法)算法的实时混合任务的调度算法,该方法能保证周期任务满足时限的要求,还能缩短非周期任务的响应时间。基于TBS服务器思想将非周期任务转换成有时限要求的硬实时任务,然后基于DMS调度周期任务和非周期

文章提出了结合TBS(总带宽服务器法)算法和DMS(时限单调算法)算法的实时混合任务的调度算法,该方法能保证周期任务满足时限的要求,还能缩短非周期任务的响应时间。基于TBS服务器思想将非周期任务转换成有时限要求的硬实时任务,然后基于DMS调度周期任务和非周期任务。由于

一种改进的实时混合任务调度算法

谢建平1,阮幼林1,2

2武汉理工大学信息工程学院,武汉(430070) 南京大学计算机软件新技术国家重点实验室,南京(210093)

E-mail: 1

摘 要:文章提出了结合TBS(总带宽服务器法)算法和DMS(时限单调算法)算法的实时混合任务的调度算法,该方法能保证周期任务满足时限的要求,还能缩短非周期任务的响应时间。基于TBS服务器思想将非周期任务转换成有时限要求的硬实时任务,然后基于DMS调度周期任务和非周期任务。由于是使用静态的DMS算法,不仅可以减小任务的切换开销,而且对系统的瞬时过载有一定的适应性。

关键词:实时系统;任务调度;时限单调算法;总带宽服务器算法

1. 概述

随着计算机技术的飞速发展与普及,实时系统已经成为人们生产和生活中不可或缺的组成部分。实时系统具有及时响应、高可靠性、专用性、少人工干预等特征[1],被广泛应用于工业控制、信息通讯、网络传输、媒体处理、军事等领域。实时系统的正确性不仅依赖于计算的逻辑结果,还取决于获得计算结果的时间的正确性。在航空航天、电信、制造、国防等领域,对实时系统有着强烈的应用需求。

由于实时系统的应用面非常广,所以实时系统的分类方法很多。通常按照系统中任务的周期性或者任务对截止期限的要求进行划分。实时任务按照周期性划分可以分为周期实时任务(periodic task)和非周期实时任务(aperiodic task);按照对截止期限的要求可以分为硬实时任务和软实时任务[1]。

本文提出了结合TBS(总带宽服务器法)算法[5]和DMS(时限单调算法)[6]算法的实时混合任务的调度算法,该方法能保证周期任务满足时限的要求,还能缩短非周期任务的响应时间。算法将非周期任务赋予一个假想的时限,然后整个实时系统采用DMS算法调度。由于是使用静态的DMS算法,不仅可以减小任务的切换开销,而且对系统的瞬时过载有一定的适应性。

2. 实时系统的任务调度

由于实时调度是保障实时系统满足时间约束的重要手段,所以一直是实时计算研究领域中倍受关注的热点问题。调度的实质是资源的分配,包括处理器和其他运算、交互、存储资源,调度就是来用来将这些资源合理地分配给各个实时任务的一种方法。

若调度算法是在编译根据调度顺序产生的时机和方式可以分为静态调度和动态调度[1]。

的时候就做出决定从就绪任务队列中选择哪个任务来运行的,则这样的调度是静态的。这类调度算法假设系统中实时任务的特性(如:截止期,WCET等)是事先知道的。它脱机地进行可调度性分析,并产生一个调度表。静态调度算法的优点是运行开销小,可预测性强。但是,由于静态调度算法一旦做出调度决定后在运行期间就不能再改变了,所以它的灵活性较差。

如果调度器是在运行期间才决定选择哪个就绪任务来运行的,则这类调度被称为动态调度。动态调度算法能够对变化的环境做出反应,因此,这类调度算法比较灵活,适合于任务不断生成,且在任务生成前其特性并不清楚的动态实时系统。但是,动态调度算法的可预测性差且运行开销较前者大。

文章提出了结合TBS(总带宽服务器法)算法和DMS(时限单调算法)算法的实时混合任务的调度算法,该方法能保证周期任务满足时限的要求,还能缩短非周期任务的响应时间。基于TBS服务器思想将非周期任务转换成有时限要求的硬实时任务,然后基于DMS调度周期任务和非周期任务。由于

根据正在运行的任务是否可以被别的更紧迫和更重要的任务抢占,可以分为抢占式调度和非抢占式调度。在抢占式调度中,目前正在运行的任务可以被别的更紧迫和更重要的任务中断。同时,被抢占的任务在将来可以恢复运行,且不会影响到任务的整体时间约束。如果在调度中不允许正在运行的任务被别的任务中断,任务一旦占有了处理器便会一直运行直至完成,这样的调度则是非抢占式的,它比较适合于任务运行时间都比较短、所有任务可依次执行的系统。

3. 任务模型

本文是基于文献[3]和文献[4]提出的改进的调度算法,主要适合具有以下特征的实时系统:

(1) 所有任务运行在单处理器系统上

(2) 优先级高的任务可以抢占优先级低的任务

(3) 任务间相互独立

(4) 任务的切换时间很小,可以忽略不计

(5) 非周期任务先来先服务

(6) 所有周期任务起始于临界时刻

3.1 问题的描述

设有一个任务集

S=Tp1,Tp2,LL,Tpn,Tap1,Tap2,LL,Tapm (1)

其中,Tpi(1≤i≤n)为周期任务,每个周期任务Tpi可用如下的四元式表示:

Tpi=< Rpi,Cpi,Ppi,Dpi> (2)

式中,Rpi为任务释放时间,Cpi为任务的最大执行时间,Ppi为任务周期,Dpi为任务时限;而Tapi(1≤ i≤ m)为非周期任务,每一个非周期任务可用如下的二元式表示:

Tapi=<Capi,Rapi > (3)

式中,Capi为任务的最大执行时间,Rapi为任务释放时间。设各个非周期任务的到达规律服从常数到达的泊松过程,到达率为λi(1 ≤i ≤m),则任务的平均到达时间间隔为1/λi,并且设Dpi≤Ppi[3]。

4. 任务的调度处理

4.1 周期任务的处理

RMS调度算法是一种典型的静态优先级调度算法,它根据任务的执行周期的长短来决定调度优先级,那些具有较短执行周期的任务将具有较高优先级。DMS算法是在RMS算法的基础上发展起来的,它削弱了RMS算法中对任务模型的限制,允许任务的时限小于周期,它根据任务集中各任务的相对时限来静态分配优先级。

4.2 非周期任务的典型调度算法

人们提出了许多非周期任务调度算法,这些算法可以分为两类:基于服务器(server-based)的算法与基于空闲时间(slack-based)的算法[2]。服务器的算法,又称为带宽预留(bandwidth preserving)算法,其主要思想是:在保证满足硬实时周期任务截止期的前提下,引入一个或者几个额外的周期任务使用指定的处理器带宽作为服务器来处理非周期任务。基于空闲时间的算法主要包括空闲时间偷取算法(slack stealing algorithm)、时间片移位算法(slot shifting

文章提出了结合TBS(总带宽服务器法)算法和DMS(时限单调算法)算法的实时混合任务的调度算法,该方法能保证周期任务满足时限的要求,还能缩短非周期任务的响应时间。基于TBS服务器思想将非周期任务转换成有时限要求的硬实时任务,然后基于DMS调度周期任务和非周期任务。由于

algorithm)与双重优先级算法(dual priority algorithm),这些算法都是通过离线或者在线分析从定期任务调度的空隙获得尽可能多的处理时间来处理非定期任务。

为每个非定期请求分配一个尽可能早的截止期,这种截止期分配必须保证非定期任务的处理器利用率不能超过规定的最大值Us,这就是TBS(total bandwidth server)算法的主要思想。TBS的定义非常简单,设第k个非定期任务在时间t=rk到达时,它被分配一个截止期

[4]:

dk=max(rk,dk-1)+Ck/ Us (4)

其中Ck表示这个非定期任务的执行时间,Us是这个服务器的利 …… 此处隐藏:6535字,全部文档内容请下载后查看。喜欢就下载吧 ……

一种改进的实时混合任务调度算法.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1567553.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)