基于模糊重要性和空闲时间的嵌入式实时任务调度方法技术

技术编号:4067181 阅读:304 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了基于模糊重要性和空闲时间的嵌入式实时任务调度方法,在每隔一定的采样时间单位内,根据任务当前时间和任务已执行时间重新得到任务的空闲时间,并对任务的空闲时间和重要性进行模糊化得到空闲时间模糊化集合和重要性模糊化集合,根据得到的两个模糊化集合判断该任务是否需调整所属的就绪队列,通过调整任务所属的就绪队列,实现实时任务调度;本发明专利技术与传统的精确空闲时间优先调度方法相比,一方面考虑到运行环境和任务重要性的不确定性与模糊特性,使用模糊方式确定任务的调度优先级。另一方面,由于把任务的重要性作为调度优先级的决策因素,当系统负载过重时,本发明专利技术方法能减少重要任务的截止期错失率。

【技术实现步骤摘要】

本专利技术涉及计算机领域,具体地说是涉及基于模糊重要性和空闲时间的嵌入式实 时任务调度方法。
技术介绍
嵌入式实时系统是目前计算机领域最重要的应用和研究方向,如何合理地进行任 务调度是整个嵌入式应用系统的关键。嵌入式实时系统的主要特点为1、系统中的任务一 般均为周期任务,即任务在固定的时间间隔重复执行;2、任务的调度机制通常基于优先级 驱动,即优先级高的任务最先得到运行;3、每一周期任务往往对应一截止期限,系统应尽可 能满足重要任务在截止期限到来之前完成。由于很多嵌入式实时系统处于无人值守的环境,运行系统主要由确定的周期任务 组成。所谓周期任务,指任务每隔一段时间重新启动或就绪。一个具有截止期限的周期任 务τ i可简单描述如下 τ i = (Si, Ri, Ci, Di, Ti),0 < Ci 彡 Di,0 < Ti,0 ^ Si其中,Si为任务的到达时间氓为任务有资格参与竞争计算机处理器的初始就绪 时间,一般而言,Si = Ri而为任务的执行时间,通常以最坏情形下的估计执行时间代替讽 为任务的相对截止期限Ji为任务的周期。对于周期任务τ i的第k次执行(k彡1),其重新就绪的时间为氏+(1^-1)*1\,截止 期限为!^+(k-lhTi+Di。周期任务的一次执行称为该周期任务的一个实例或一次执行请求。—个周期任务的处理器利用率定义为Ui = CiZti,—个周期任务集中所有任务的 处理器利用率之和为该周期任务集的处理器利用率。为了尽可能地保证重要任务不错过截止期限,嵌入式实时系统的任务调度一般采 用优先级驱动的方式。每一个有资格参与调度的任务都对应一个惟一的调度优先级别,调 度发生时,总是选取调度优先级别最高的任务投入运行。因此,如何合理确定嵌入式实时系 统中各任务的优先级成为影响整个嵌入式系统性能的关键。对于如何确定嵌入式实时系统中任务的最终调度优先级,通常有静态与动态两种 方式。在静态方式中,任务的最终调度优先级是由任务的静态特征(如任务的关键度、周期 长短)确定的;而动态方式是根据任务的动态特征决定的,如根据任务的截止期限距离或 空闲时间确定其最终的调度优先级。在嵌入式实时系统中,空闲时间优先调度方法是较常用的一种动态优先级调度方 法。该调度方法是结合任务执行的缓急程度给任务分配优先级的一种动态调度方法。一个 任务的空闲时间定义为从当前时刻至其截止期限的时间距离与其剩余尚未执行时间之间 的差值。在调度时刻,任务的优先级根据任务的空闲时间动态分配。空闲时间越短,任务的 优先级越高。使用该调度方法能充分利用处理机,在理想条件下,只要任务集的处理器利用 率小于1,这些任务均可顺利得到调度,不会错过截止期限。但传统的空闲时间优先调度方法存在以下一些不足1)空闲时间优先算法仅考虑任务在某一时刻的时间裕度,当系统的负载小于1 时,所有任务均能满足截止期限而且能充分利用处理器。但当任务负载较重时,必然有任务 会错过截止期限,这时应尽量保证关键任务不错过截止期限。2)空闲时间优先调度方法是基于任务空闲时间的精确取值,而实际上,由于系统 运行环境(如网络通信应用环境)的不稳定性和计时的不准确性等因素,取得任务真正的 准确的空闲时间较困难,也不太符合运行环境的实际情况,因此不太适合用精确值描述。任 务的空闲时间更适宜使用“很近”、“很远”等模糊概念描述。另外,任务的重要性和最终的调 度优先级往往取决于多种因素的人为估计,也更适合使用诸如“很重要”,“一般”,“不重要” 等模糊概念进行描述。
技术实现思路
本专利技术为解决传统的空闲时间优先调度方法的不足而提出了一种基于模糊重要 性和空闲时间的嵌入式实时任务调度方法,该方法把任务的空闲时间与重要性进行模糊 化,系统任务的调度采用模糊空闲时间与模糊重要性相结合的方法进行,当系统负载较高 时,能尽量保证重要任务不错过截止期限。本专利技术的技术方案如下,其特征在于每隔一定 的采样时间单位(通常为一个或多个系统时钟中断),根据任务当前时间和任务已执行时 间重新得到任务的空闲时间,并对任务的空闲时间和重要性进行模糊化得到空闲时间模糊 化集合和重要性模糊化集合,根据得到的两个模糊化集合判断该任务是否需调整所属的就 绪队列,通过调整任务所属的就绪队列,实现实时任务调度。所述模糊化是对精确值的模糊化,采用的模糊集论域为{0.0,0. 1,0.2,0.3,0.4, 0. 5,0. 6,0. 7,0. 8,0. 9,1. 0},模糊集合通过相对的模糊集论域中各元素的隶属度(又称为 模糊集合的隶书度函数)确定,隶属度通常为0到1之间的实数集合。对任务空闲时间的模糊化是在任务产生时根据重要性给出相应的模糊集合,该模 糊集合作为决定其最终调度优先级的一级判断因素;对于任务重要性,在模糊论域中的越 小值元素的程度越高,即该任务越重要,任务重要性的模糊集合作为调度优先级的二级判 断因素。一个很重要的任务的模糊集合可能如下 该模糊集合表示在综合考虑一个任务的关键程度时,0. 0,0. 1,0. 2对应因素完全 满足(其对应的隶属度值全为1.0)。根据任务当前时间和任务已执行时间重新得到任务空闲时间的计算公式为SLi = Si+(k-l) * Ti+Di-(t+Ci-ei)其中SLi为就绪任务的空闲时间,t为系统当前时间,Si为任务τ ,的达到或初次 就绪时间(如果所有任务在系统初始时均同时就绪,该值为0)且当前为周期任务Ti的第 k次执行,Ci为任务τ i的估算执行时间,ei为任务τ i实际已执行时间,Di为任务τ ,的相 对截止期时间,Ti为任务τ i的周期。5每一个嵌入式实时任务的空闲时间是随着系统时间的推进而动态变化的。由于任 务的截止期限一般与其周期相同,故一个嵌入式实时系统任务任意时刻的空闲时间满足 0 ^ SLi ^ 凡。如果嵌入式实时系统中任务集中任务的周期最大值为MaxT,则对任何一个实时任 务的空闲时间SLi有0彡(SLiZMaxT)彡1。对模糊集论域{0.0,0. 1,0. 2,0. 3,0. 4,0. 5,0. 6,0. 7,0. 8,0. 9,1. 0},任意就绪任务τ i在t时刻的空闲时间SLi的模糊化方法如下1)把SLi除以嵌入式实时系统中所有任务的周期最大值MaxT ;2)如果经过步骤1)变换后的相对任务空闲时间比率值刚好等于模糊集论域中的 元素值,则采用单点模糊化方法;如当该取值为0. 2时,其对应的模糊集合为 如果经过步骤1)后的相对任务空闲时间比率值不等于模糊集论域中的元素值时,则使用线性比例法进行模糊化,即当一个该比率值位于模糊集论域两个元素值之间时,根据该值到两元素值之间的距离比值确定隶属两参考值的程度。如转换后的空闲时间比率值为0. 23时,其对应的模糊集合为 任务优先级是通过确定任务所属就绪子队列的过程,确定的方法是将任务的重 要性模糊集合与空闲时间模糊集合采用贴近度的方式,以最接近的标准模糊集合与之匹 配,贴近度采用模糊集合贴近度方法来确认任务重要性和空闲时间模糊集合应归属的标准 模糊集合。所述模糊集合贴近度方法描述如下假定模糊集合A为模糊标准,集合B为系统运行中某任务的重要性或空闲时间模 糊集合,则集合B与集合A的贴近度可定义为(Α, 本文档来自技高网
...

【技术保护点】
基于模糊重要性和空闲时间的嵌入式实时任务调度方法,其特征在于:每隔一定的采样时间单位,根据任务当前时间和任务已执行时间重新得到任务的空闲时间,并对任务的空闲时间和重要性进行模糊化得到空闲时间模糊化集合和重要性模糊化集合,根据得到的两个模糊化集合判断该任务是否需调整所属的就绪队列,通过调整任务所属的就绪队列,实现实时任务调度;所述模糊化是对精确值的模糊化,采用的模糊集论域为{0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0},模糊集合通过相对的模糊集论域中各元素的隶属度确定,隶属度通常为0到1之间的实数集合。

【技术特征摘要】

【专利技术属性】
技术研发人员:何先波杨莉李孝杰卢东海王晓琴
申请(专利权)人:西华师范大学
类型:发明
国别省市:51[中国|四川]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1