一种实时任务管理与调度方法技术

技术编号:2855314 阅读:293 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种实时任务管理与调度方法,在保持原方法调度能力的前提下,引入资源回收策略,将当前资源需求无法满足的任务加入等待队列。该队列中的任务将等待,直到系统已收集足够的剩余资源供其使用,或因到达等待时限而被放弃。本发明专利技术与传统方法相比:当前未能获得足够资源的任务不是立刻放弃,而是加入等待队列,通过获得其他任务释放的资源完成自身操作。本方法将任务分为关键和普通两类,又根据连续执行的次数将普通任务分为必须执行和可以放弃两类,分别采用不同的处理方式,从而确保系统性能和可靠性目标的到达。本发明专利技术可在保证传统方法调度能力的前提下,提高了系统的资源利用率,增大了系统的任务吞吐率,同时还能有效地保障系统的性能和可靠性。

【技术实现步骤摘要】

本发涉及计算机领域,具体地说,涉及一种实时操作系统中实时任务的管理与调度方法。
技术介绍
一个具有实用价值的实时操作系统必须具有良好的实时性能和高的任务吞吐率,而任务的管理与调度在其中起着决定性的作用(良好的实时性能是指系统中的每个任务都能在其截至时间前执行完成,高的任务吞吐率是指系统在单位时间内能处理尽可能多的任务)。任务管理与调度作为实时操作系统的重要组成部分,不但负责为实时任务分配系统资源(主要是CPU执行时间),保证实时性能,而且还决定着系统在单位时间内能处理的任务数量,即系统的任务吞吐率。传统的任务管理与调度方法主要考虑如何保证系统的实时性能,而对于系统资源利用率、任务吞吐率等影响系统性能的关键因素考虑不多。随着实时系统功能的日趋复杂,规模的日益庞大,对系统资源的需求越来越大,为了降低成本开销,如何提高系统资源的利用率已成为一个日趋重要的问题。系统运行过程中,当某新任务到达后,传统的处理方法如图1所示以某个给定的条件作为判断新任务能否进入系统的判断标准,进行调度分析,若条件满足,则允许新任务进入系统,新任务进入就绪队列,然后进行任务调度;否则,禁止新任务进入系统,该新任务被丢弃。传统的处理方法是以任务在最坏情况下的运行时间为分析依据的,对于不满足判断条件的任务立刻丢弃,因此,现有技术存在以下缺点一、系统资源得不到充分利用;二、任务吞吐率较低;三、任务的丢弃影响系统的性能和可靠性。
技术实现思路
本专利技术的目的在于克服现有技术中系统资源利用率较低以及任务吞吐率较低的缺点,提出。传统的方法以任务在最坏情况下的运行时间作为判断新任务能否进入系统的参数,而任务的实际运行时间往往小于该值,从而致使系统资源得不到充分利用,部分资源被浪费,任务吞吐率低下。本专利技术的核心思想是在保持原方法调度能力的前提下,引入资源回收策略,将当前资源需求无法满足的任务加入等待队列。该队列中的任务将等待,直到系统已收集足够的剩余资源供其使用,或因到达等待时限而被放弃。本方法将采用特殊的机制确定被放弃的任务,使放弃操作对系统性能和可靠性影响最小。本专利技术的技术方案为,首先增加定义实时任务的属性,包括关键性、必要运行数、当前运行数和最长等待时间;所述实时任务的关键性包括关键任务和普通任务,关键任务是指影响系统性能指标和可靠性的任务,不能被系统丢弃,除关键任务以外的任务为普通任务;所述必要运行数是指,每个普通任务必须连续运行的次数;所述当前运行数是指,普通任务从上一次被放弃到目前为止运行的次数;所述最长等待时间是指,普通任务在等待队列中可以驻留的最长时间;所述管理与调度方法具体包括并行的两个过程对新任务的处理过程和单个任务执行完毕后的处理过程;所述对新任务的处理过程包括步骤一、判断系统中的剩余资源能否满足新任务的资源需求,如果能则执行步骤六;步骤二、如果不能,则判断该新任务是否为关键任务,如果是则执行步骤四;步骤三、判断该新任务的当前运行数是否大于或等于必要运行数,如果是则执行步骤五;步骤四、选择就绪队列中当前运行数等于必要运行数且优先级最低的普通任务,将其当前运行数置零,计算其最长等待时间,并将该任务转入等待队列后执行步骤一; 步骤五、将该新任务的当前运行数置零,计算其最长等待时间,将其插入等待队列后执行步骤七;步骤六、将该新任务加入就绪队列,该新任务进入系统;步骤七、系统从就绪队列中选择任务执行;所述单个任务执行完毕后的处理过程包括步骤A、回收该任务释放的系统资源;步骤B、该任务的当前运行数加1;步骤C、判断系统当前的剩余资源能否满足等待队列中第一个任务的资源需求,如果能则执行步骤D,否则执行步骤E;步骤D、等待队列中的第一个任务转入就绪队列,执行步骤C;步骤E、系统从就绪队列中选择任务执行。当系统每经过一个时间单位后,还执行下列操作步骤F1、更新等待队列中各任务的等待时间;步骤F2、取等待队列中的第一个任务,判断其是否到达最大等待时间,如果是则执行步骤F3,否则执行步骤F5;步骤F3、丢弃等待队列中的第一个任务,并将其当前运行数置零;步骤F4、更新等待队列,执行步骤F2;步骤F5、执行系统的其它操作。上述任务的关键性和必要运行数根据系统的实际需要由用户设定,当前运行数根据任务运行情况动态设定,最长等待时间根据系统当前状态动态设定。由上述可见,本专利技术提出的方法与传统方法比较,不同之处在于当前未能获得足够资源的任务不是立刻放弃,而是加入等待队列,通过获得其他任务释放的资源完成自身操作。本方法将任务分为关键和普通两类,又根据连续执行的次数将普通任务分为必须执行和可以放弃两类,分别采用不同的处理方式,从而确保系统性能和可靠性目标的到达。与现有技术相比,本专利技术可在保证传统方法调度能力的前提下,提高了系统的资源利用率,增大了系统的任务吞吐率,同时还能有效地保障系统的性能和可靠性。附图说明图1是现有技术中实时任务管理与调度方法的流程图;图2是本专利技术所提出方法的核心思想示意图;图3是本专利技术技术方案中对新任务的处理流程图;图4是本专利技术技术方案中单个任务执行完毕后的处理图;图5是本专利技术技术方案中每个时间单位结束后的处理流程图。具体实施例方式下面结合附图,以本专利技术在RMS(Rate-Monotonic Scheduling单调比率调度)调度中的应用为例对本专利技术做进一步的详细说明。图1已在
技术介绍
中进行过说明。图2是本专利技术所提出方法的核心思想示意图。如图2所示,本方法新增一个任务等待队列,在任务集的运行过程中,若当前系统资源紧缺,将一部分任务放入等待队列进行等待。等待队列中的任务将在系统已收集足够的、由其它任务释放的剩余资源后才进入系统,或因为超过了最大等待时间而被放弃。本方法根据任务的重要性和对系统性能和可靠性影响的大小,选择放弃哪些任务。在这里,本专利技术引入了非精确计算的思想,并假设普通任务的偶尔一次运行失败不会对整个系统的性能和可靠性产生严重影响。例如,图象处理中偶尔丢失一帧数据对系统的整体性能影响不大。本专利技术提出的方法需要对任务的属性进行必要的扩充。除包括任务周期和执行时间外,还应至少包括以下几个属性关键性、必要运行数、当前运行数和最长等待时间。关键性将实时任务分为两类关键任务和普通任务。关键任务是影响系统的性能指标和可靠性的主要因素,它不能被系统丢弃。普通任务在一定的情况下可以被放弃。必要运行数是指,每个普通任务必须连续运行的次数。当前运行数是指,普通任务从上一次被放弃到目前为止,共经过了多少次运行。最长等待时间是指,普通任务在等待队列中可以驻留的最长时间。处于等待队列中的普通任务,当其停留时间超过了最长等待时间,将被系统放弃。其中,任务的关键性和必要运行数根据系统的实际需要由用户设定,当前运行数根据任务运行情况动态设定,最长等待时间根据系统当前状态动态设定。图3是本专利技术技术方案中对新任务的处理流程图。如图3所示,对新任务的处理过程包括步骤一、判断系统中的剩余资源能否满足新任务的资源需求,如果能则执行步骤六;步骤二、如果不能,则判断该新任务是否为关键任务,如果是则执行步骤四;步骤三、判断该新任务的当前运行数是否大于或等于必要运行数,如果是则执行步骤五;步骤四、选择就绪队列中当前运行数等于必要运行数且优先级最低的普通任务,将其当前运本文档来自技高网
...

【技术保护点】
一种实时任务管理与调度方法,其特征在于首先增加定义实时任务的属性,包括关键性、必要运行数、当前运行数和最长等待时间;所述实时任务的关键性包括关键任务和普通任务,关键任务是指影响系统性能指标和可靠性的任务,不能被系统丢弃,除关键任务以外的任务为普通任务;所述必要运行数是指,每个普通任务必须连续运行的次数;所述当前运行数是指,普通任务从上一次被放弃到目前为止运行的次数;所述最长等待时间是指,普通任务在等待队列中可以驻留的最长时间;所述管理与调度方法具体包括并行的两个过程:对新任务的处理过程和单个任务执行完毕后的处理过程;所述对新任务的处理过程包括:步骤一、判断系统中的剩余资源能否满足新任务的资源需求,如果能则执行步骤六;步骤二、如果不能,则判断该新任务是否为关键任务,如果是则执行步骤四;步骤 三、判断该新任务的当前运行数是否大于或等于必要运行数,如果是则执行步骤五;步骤四、选择就绪队列中当前运行数等于必要运行数且优先级最低的普通任务,将其当前运行数置零,计算其最长等待时间,并将该任务转入等待队列后执行步骤一;步骤 五、将该新任务的当前运行数置零,计算其最长等待时间,将其插入等待队列后执行步骤七;步骤六、将该新任务加入就绪队列,该新任务进入系统;步骤七、系统从就绪队列中选择任务执行;所述单个任务执行完毕后的处理过程包括: 步骤A、回收该任务释放的系统资源;步骤B、该任务的当前运行数加1;步骤C、判断系统当前的剩余资源能否满足等待队列中第一个任务的资源需求,如果能则执行步骤D,否则执行步骤E;步骤D、等待队列中的第一个任务转入就绪队列, 执行步骤C;步骤E、系统从就绪队列中选择任务执行。...

【技术特征摘要】
1.一种实时任务管理与调度方法,其特征在于首先增加定义实时任务的属性,包括关键性、必要运行数、当前运行数和最长等待时间;所述实时任务的关键性包括关键任务和普通任务,关键任务是指影响系统性能指标和可靠性的任务,不能被系统丢弃,除关键任务以外的任务为普通任务;所述必要运行数是指,每个普通任务必须连续运行的次数;所述当前运行数是指,普通任务从上一次被放弃到目前为止运行的次数;所述最长等待时间是指,普通任务在等待队列中可以驻留的最长时间;所述管理与调度方法具体包括并行的两个过程对新任务的处理过程和单个任务执行完毕后的处理过程;所述对新任务的处理过程包括步骤一、判断系统中的剩余资源能否满足新任务的资源需求,如果能则执行步骤六;步骤二、如果不能,则判断该新任务是否为关键任务,如果是则执行步骤四;步骤三、判断该新任务的当前运行数是否大于或等于必要运行数,如果是则执行步骤五;步骤四、选择就绪队列中当前运行数等于必要运行数且优先级最低的普通任务,将其当前运行数置零,计算其最长等待时间,并将该任务转入等待队列后执行步骤一;步骤五、将该新任务的当前运行数置零,计算其最长等待时间,将其插入等待队列后执行步骤七;步骤六、将该...

【专利技术属性】
技术研发人员:王亮李翌张华强
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1