一种时间触发的嵌入式任务调度装置与方法制造方法及图纸

技术编号:14339623 阅读:128 留言:0更新日期:2017-01-04 12:10
本发明专利技术说明了一种时间触发的嵌入式任务调度装置与方法,装置包括静态时间规划表存储模块,分布式总线时间中断模块,计算机本地时钟中断模块,任务调度器模块。本发明专利技术由任务调度器模块根据预先定义的静态时间规划表中各任务切换时刻点的属性,利用分布式总线时钟中断实现分布式节点的执行同步,利用计算机本地时钟中断监控任务执行是否超出其最差执行时间,使用较小的系统开销保证安全关键系统运行的确定性。

【技术实现步骤摘要】

本专利技术属于安全关键计算机使用技术,具体涉及一种安全关键领域下基于时间触发的嵌入式任务调度方法。
技术介绍
在航空、航天等安全关键领域,由于其中部分的子系统功能如果失效,有可能造成机毁人亡的灾难性事故,因此对于这一类子系统,实现其功能的软硬件模块的确定性,必须满足非常高的标准。随着传感器技术、自动化控制技术、数字化技术的不断发展,航空、航天、汽车系统实现的功能越来越趋向智能化,让操作者更多的关注更高层面的控制,从而导致这些领域的安全关键系统也变得越来越复杂,往往需要多个计算机子系统组成分布式网络,协同工作,共同实现一个顶层系统级功能需求。在此要求下,传统的基于事件响应型的计算机任务处理架构就不能满足安全关键系统对于任务确定性的要求。传统的嵌入式系统,从追求实时响应性能出发,以特定事件的发生作为调度的触发源,其相关理论和思想已经得到广泛的研究与应用。然而,外部事件的不可预知性,将导致事件型调度的分析极为复杂,其应用场景的验证完备性很难达到。即使通过复杂的保护性设计,满足系统的可靠性要求,但对于复杂应用的功能改变或升级,其分析、验证和维护成本,都将随之上升。因此在安全关键领域提出了时间触发架构。时间触发架构以时间触发总线作为构建分布式系统的基础,各个分布式节点的任务执行,以及各节点之间的通讯都遵循一定的时间规划表,以一种静态离线规划的方式统筹定义系统功能的完成方式。在时间触发架构的要求下,基于事件的传统嵌入式操作系统,已经不能满足时间触发分布式节点的任务调度要求,必须设计一种新的任务调度方式来满足安全关键时间触发系统的确定性需求。
技术实现思路
本专利技术的目的是:为解决基于时间触发架构的安全关键系统,对于分布式计算机节点中任务执行确定性要求,而设计一种嵌入式任务调度方法。提供一种基于时间触发的任务调度装置,其特征在于,包括:静态时间规划表存储模块,用来存储预先定义的静态时间规划表,任务的执行时序是按照所述的静态时间规划表来运行的;分布式总线时间中断模块,用来按小帧周期引发分布式节点的同步调度;计算机本地时钟中断模块,用来管理每一个任务本周期允许执行的时间;任务调度器模块,用于触发分布式总线时间中断、计算机本地时钟中断,并根据静态时间规划表选择当前应该运行的任务,监控任务的运行时间,并根据任务允许的执行时间调整计算机本地时钟中断的计数值。提供一种基于时间触发的任务调度方法,其特征在于,包括以下步骤:步骤一:在计算机系统执行之前,给出全局总线周期时间、根据计算机节点功能划分出各个任务、并得到每个任务执行周期、每个任务最差执行时间,其中全局总线的周期时间被称为小帧周期,执行每个任务的周期都为小帧周期的整数倍,在计算机系统运行过程中,由全局总线时间中断模块和计算机本地时钟中断模块作为计算机节点任务调度的中断源;步骤二:根据每个任务的执行周期以及每个任务的最差执行时间得到静态时间规划表,在静态时间规划表中,包括每个任务调度时刻点即将启动的任务名称、该任务本次启动后执行的时间、该任务调度时刻点是否为前一个任务死限点、该任务调度时刻点是否为下一个任务起始点;所有需要执行的任务在时间规划表中按照顺序排列步骤三:在系统运行开始后,使用全局总线时间中断模块来启动任务调度,在全局总线时间中断模块的响应函数中,按照时间规划表的第一个时刻点调度第一个任务的执行;步骤四:按照静态时间规划表中该时刻点的任务本次执行时间,设置计算机本地时钟中断的中断计时时间,启动计算机本地时钟中断的计时后,调度任务的执行;步骤五:在计算机本地时钟中断或全局总线时间中断到来时,判断被调度任务是否已经执行结束,若已结束则判定该任务未超时,该任务结束后调度器将该任务置为执行就绪状态,将静态时间规划表中下一个任务调度时刻点变为当前使用的任务调度时刻点后,进入步骤七,若未结束,则进入步骤六;步骤六:将静态时间规划表中下一个任务调度时刻点变为当前使用的任务调度时刻点,检查该任务调度时刻点是否为前一个任务死限点,若是则可以判定该任务超时,进行该任务相应的超时故障处理,以保证系统运行的确定性,若不是前一个任务死限点,将被调度任务置被抢占状态,进入步骤七;步骤七:检查当前调度时刻点是否为下一个任务起始点,若是则按照时间规划表的当前时刻点调度下一个任务的执行并返回到步骤四,若否进入步骤八;步骤八:判断当前任务的状态,若是被抢占状态,则按照时间规划表的当前时刻点调度下一个任务的执行并回到步骤四,若是执行就绪状态,则此时不按照静态时间规划表的当前时刻点进行下一个任务的调度,而将后台空闲任务作为即将调度的任务,返回到步骤四。进一步的,步骤五中当任务执行结束后,此时还未到时间规划表中下一个调度时刻,则调度器将选择后台空闲任务作为此时的调度任务,以保证应用任务确定的按照时间规划表定义的时刻启动执行;进一步的,在中断处理函数的任务调度过程中,若当前运行任务状态、即将运行任务状态以及时间规划表中当前调度任务时刻点属性,出现超出之前描述的状态组合时,认为当前的计算机运行故障;进一步的,步骤四中,判断按照静态时间规划表下一个任务执行时间结束后,是否达到全局总线时间中断模块的周期,若达到,则进行下一个任务调度时,不需要按照静态时间规划表设置计算机本地时钟中断的中断定时时间,不需要启动计算机本地时钟中断的计时,即进行下一任务调度;通过本调度方法,可以确定性的预知系统运行中的某一个时刻,各分布式节点内部应该运行的任务,从而保证任务在运行中若出现超时故障,能够最快时间得到上报并进行相应处理,从而提高系统的安全可靠性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本调度装置的组成结构图。图2为本调度方法的基本功能流程图。图3为使用本调度方法的静态时间规划表,得到的理想的任务执行序列;图4为本调度方法处理过程中处理器资源使用的一种时序图,要来标明任务按照时间规划表被调度并及时结束的情况;图5为本调度方法处理过程中处理器资源使用的一种时序图,来标明任务按照时间规划表被抢占,并恢复运行的情况;图6为本调度方法处理过程中处理器资源使用的一种时序图,来标明被抢占任务提前执行结束,不需要恢复运行的情况;具体实施方式如图1所示,提供一种基于时间触发的任务调度装置,其特征在于,包括:静态时间规划表存储模块,用来存储预先定义的静态时间规划表,任务的执行时序是按照所述的静态时间规划表来运行的;分布式总线时间中断模块,用来按小帧周期引发分布式节点的同步调度,在本实施例中,可以为ARINC659总线中断,或者1394B总线中断;计算机本地时钟中断模块,用来管理每一个任务本周期允许执行的时间;任务调度器模块,用于触发分布式总线时间中断、计算机本地时钟中断,并根据静态时间规划表选择当前应该运行的任务,监控任务的运行时间,并根据任务允许的执行时间调整计算机本地时钟中断的计数值。如图2所示,提供一种基于时间触发的任务调度方法,其特征在于,包括以下步骤:步骤一:在计算机系统执行之前,给出全局总线周期时间、根据计算机节点本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/55/201610664597.html" title="一种时间触发的嵌入式任务调度装置与方法原文来自X技术">时间触发的嵌入式任务调度装置与方法</a>

【技术保护点】
一种基于时间触发的任务调度装置,其特征在于,包括:静态时间规划表存储模块,用来存储预先定义的静态时间规划表,任务的执行时序是按照所述的静态时间规划表来运行的;分布式总线时间中断模块,用来按小帧周期引发分布式节点的同步调度;计算机本地时钟中断模块,用来管理每一个任务本周期允许执行的时间;任务调度器模块,用于触发分布式总线时间中断、计算机本地时钟中断,并根据静态时间规划表选择当前应该运行的任务,监控任务的运行时间,并根据任务允许的执行时间调整计算机本地时钟中断的计数值。

【技术特征摘要】
1.一种基于时间触发的任务调度装置,其特征在于,包括:静态时间规划表存储模块,用来存储预先定义的静态时间规划表,任务的执行时序是按照所述的静态时间规划表来运行的;分布式总线时间中断模块,用来按小帧周期引发分布式节点的同步调度;计算机本地时钟中断模块,用来管理每一个任务本周期允许执行的时间;任务调度器模块,用于触发分布式总线时间中断、计算机本地时钟中断,并根据静态时间规划表选择当前应该运行的任务,监控任务的运行时间,并根据任务允许的执行时间调整计算机本地时钟中断的计数值。2.一种基于时间触发的任务调度方法,其特征在于,包括以下步骤:步骤一:在计算机系统执行之前,给出全局总线周期时间、根据计算机节点功能划分出各个任务、并得到每个任务执行周期、每个任务最差执行时间,其中全局总线的周期时间被称为小帧周期,执行每个任务的周期都为小帧周期的整数倍,在计算机系统运行过程中,由全局总线时间中断模块和计算机本地时钟中断模块作为计算机节点任务调度的中断源;步骤二:根据每个任务的执行周期以及每个任务的最差执行时间得到静态时间规划表,在静态时间规划表中,包括每个任务调度时刻点即将启动的任务名称、该任务本次启动后执行的时间、该任务调度时刻点是否为前一个任务死限点、该任务调度时刻点是否为下一个任务起始点;所有需要执行的任务在时间规划表中按照顺序排列步骤三:在系统运行开始后,使用全局总线时间中断模块来启动任务调度,在全局总线时间中断模块的响应函数中,按照时间规划表的第一个时刻点调度第一个任务的执行;步骤四:按照静态时间规划表中该时刻点的任务本次执行时间,设置计算机本地时钟中断的中断计时时间,启动计算机本地时钟中断的计时后,调度任务的执行;步骤五:在计算机本地时钟中断或全局总线时间中断到来时,判断被调度任务是否已经执行结束,若已结束则判定该任务未超时,该任...

【专利技术属性】
技术研发人员:颜纪迅宋科璞武方方朱立平徐建军杜林罗星原
申请(专利权)人:中国航空工业集团公司西安飞行自动控制研究所
类型:发明
国别省市:陕西;61

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

1