System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() RTOS定时器中断处理系统、装置、方法、电子设备及可读存储介质制造方法及图纸_技高网

RTOS定时器中断处理系统、装置、方法、电子设备及可读存储介质制造方法及图纸

技术编号:42381774 阅读:4 留言:0更新日期:2024-08-16 16:10
本发明专利技术提供了一种RTOS定时器中断处理系统、装置、方法、电子设备及可读存储介质,该装置包括:平均任务切换时间计算单元,通过预先统计多个任务上下文切换平均耗时计算得出平均任务切换时间;定时器任务管理与计算单元根据定时器任务列表队头任务的超时时间,重新计算所有定时器的剩余超时时间;遍历列表以判断任务是否在平均任务切换时间内到期,将到期且在平均任务切换时间内的定时器任务取消挂起状态,进入就绪状态;硬件定时器配置单元配置和重启硬件定时器,根据定时器任务超时时间设置定时器溢出预装值。通过本发明专利技术,减少了无效的任务上下文切换,还缩短了任务的周转时间并提升了系统的吞吐量,为实时应用提供了更高效、更稳定的运行环境。

【技术实现步骤摘要】

本专利技术涉及实时操作系统,具体涉及一种rtos定时器中断处理系统、装置、方法、电子设备及可读存储介质。


技术介绍

1、实时操作系统(rtos)是专门设计用于处理实时任务的操作系统,其特点在于能够对外界事件或数据做出快速响应,并调度所有资源以完成实时任务。rtos包含一个实时任务调度器,该调度器会根据任务的优先级分配cpu时间片。高精度定时器在rtos中扮演着关键角色,它们通常需要独立于系统tick的硬件定时器来实现精确的时间控制。这些硬件定时器通常被组织成一个队列,并根据它们的超时长度进行排序,以便于rtos有效地管理和触发它们。

2、在现有的rtos中,创建并插入新定时器到定时器队列的过程包括:创建一个新的定时器,将其根据超时长度插入到有序的定时器队列中(通常是一个优先队列或堆)。如果新插入的定时器超时长度最短,则遍历整个队列并重新计算每个定时器的剩余时间。随后,重置硬件定时器的溢出预装值为新插入的定时器的超时长度,使能硬件定时器的中断,并启动硬件定时器。当硬件定时器达到其溢出预装值时,它会触发一个中断,通知rtos定时器已到期。rtos在中断服务中处理到期的定时器,并根据需要重新计算队列中所有定时器的剩余超时时间。

3、现有技术的一个主要问题是,在定时器队列中,当前几个定时器的定时时长小于任务切换的时间时,系统可能会出现频繁的任务切换,导致吞吐率降低。具体来说,当rtos试图在特定时间点a调度一个任务(如x任务)时,如果另一个任务(如y任务)在更晚的时间点b到期但具有更高的优先级,那么系统会在时间点a花费时间将上下文切换到x任务,但随后y任务会抢占cpu,导致在时间点a的上下文切换变得无效。这种频繁的上下文切换不仅浪费了cpu时间,还降低了系统的整体性能和吞吐率。特别是在对时间要求苛刻的应用领域,如工业控制、军事设备和航空航天等,这种性能下降可能会导致严重的后果。因此,需要一种更优化的方法来处理这种情况,以减少不必要的任务切换并提高系统的吞吐率。


技术实现思路

1、为了克服现有技术的不足,本专利技术提供一种rtos定时器中断处理系统、装置、方法、电子设备及可读存储介质,以解决现有技术中rtos定时器任务的定时时长小于任务切换时间时,会导致频繁的任务切换,降低系统吞吐率的技术问题。

2、为了解决上述技术问题,本专利技术采用的一个技术方案是:提供一种rtos定时器中断处理装置,包括:平均任务切换时间计算单元,用于通过预先统计多个任务上下文切换平均耗时计算得出平均任务切换时间;中断服务管理单元,用于在所述定时器中断触发时开始中断服务;定时器任务管理与计算单元,用于根据定时器任务列表队头任务的超时时间,重新计算所有定时器的剩余超时时间;遍历所述定时器任务列表,以判断任务是否在平均任务切换时间内到期;以及将到期且在平均任务切换时间内的定时器任务取消挂起状态,进入就绪状态;硬件定时器配置单元,用于配置和重启硬件定时器,根据定时器任务超时时间设置定时器溢出预装值;所述中断服务管理单元,还用于当中断服务处理完成时,清理资源并退出中断服务流程。

3、其中,所述定时器任务管理与计算单元,还用于判断到期任务是one-shot还是周期性任务:对于到期任务为one-shot任务的,删除所述任务节点并释放资源;对于到期任务为周期性任务的,重置剩余超时时间并移动到任务队列的合适位置。

4、其中,所述硬件定时器配置单元,用于:设置定时器任务列表队头的定时器为首个在平均任务切换时间之后到期的任务,并重置硬件定时器溢出预装值为所述定时器的超时时间;以及重启硬件定时器,以继续监控定时器超时情况。

5、其中,所述平均任务切换时间计算单元,用于:计算每次任务切换的时间t_switch=t2-t1;其中,t1为以当前任务切出的时间点作为的起始点,t2为切换到另一个任务上下文并开始执行的时间点作为的结束时间点;保存最近的前n个任务切换时间,并剔除最旧的任务切换时间;以及根据保存的任务切换时间计算平均任务切换时间。

6、为了解决上述技术问题,本专利技术采用的另一个技术方案是:提供rtos定时器中断处理系统,包括处理器以及设置在所述处理器内的定时器;还包括如上所述的中断处理装置。

7、为了解决上述技术问题,本专利技术采用的另一个技术方案是:提供一种rtos定时器中断处理方法,所述方法包括:在定时器中断触发时开始中断服务;根据定时器任务列表队头任务的超时时间,重新计算所有定时器的剩余超时时间;从队头开始遍历所述定时器任务列表,判断任务是否在平均任务切换时间内到期;其中,所述平均任务切换时间为预先统计多个任务上下文切换平均耗时得到;对于在平均任务切换时间内到期的定时器任务,取消对应任务的挂起状态,使其进入就绪态;将定时器任务列表队头的定时器设置为首个在平均任务切换时间之后到期的任务,并重置硬件定时器溢出预装值为该定时器的超时时间;重启硬件定时器,以继续监控定时器的超时情况;以及中断服务完成,退出处理流程。

8、其中,对于在平均任务切换时间内到期的定时器任务,取消对应任务的挂起状态,使其进入就绪态之前,所述方法还包括:对于在平均任务切换时间内到期的定时器任务,判断到期任务是one-shot还是周期性任务;对于到期任务为one-shot任务,直接删除该任务节点并释放相关资源;对于到期任务为周期性任务,将该任务节点的剩余超时时间重置为周期时间,并根据超时长度移动到任务队列中的合适位置。

9、其中,所述平均任务切换时间为预先统计多个任务上下文切换平均耗时得到,具体包括:计算每次任务切换的时间t_switch=t2-t1;其中,t1为以当前任务切出的时间点作为的起始点,t2为切换到另一个任务上下文并开始执行的时间点作为的结束时间点;保存最近的前n个任务切换时间,并剔除最旧的任务切换时间;以及根据保存的任务切换时间计算平均任务切换时间。

10、为了解决上述技术问题,本专利技术采用另的一个技术方案是:提供一种电子设备,包括:处理器和存储器,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器执行所述计算机指令时,电子设备执行如上所述的rtos定时器中断处理方法的步骤。

11、为了解决上述技术问题,本专利技术采用的另一个技术方案是:提供一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序包括程序指令,程序指令当被电子设备的处理器执行时,使处理器执行如上所述的rtos定时器中断处理方法的步骤。

12、本专利技术实施方式的有益效果是:通过预先计算了任务的平均切换时间,能够更准确地判断哪些任务在平均任务切换时间内到期。这有助于减少因高优先级任务抢占cpu而导致的频繁上下文切换,从而提高了系统的吞吐率和性能;根据任务的超时时间和类型(one-shot或周期性任务)对定时器队列进行智能管理,到期的one-shot任务会被删除并释放资源,而周期性任务则会重置超时时间并重新排序,这种管理方式既确保了资源的有效利用,又保证了任务的及时执行;通本文档来自技高网...

【技术保护点】

1.一种RTOS定时器中断处理装置,其特征在于,包括:

2.如权利要求1所述的RTOS定时器中断处理系统,其特征在于,所述定时器任务管理与计算单元,还用于判断到期任务是one-shot还是周期性任务:

3.如权利要求2所述的数据同步装置,其特征在于,所述硬件定时器配置单元,用于:

4.如权利要求1所述的RTOS定时器中断处理系统,其特征在于,所述平均任务切换时间计算单元,用于:

5.一种RTOS定时器中断处理系统,包括处理器以及设置在所述处理器内的定时器;其特征在于,还包括如权利要求1~4任意一项所述的中断处理装置。

6.一种RTOS定时器中断处理方法,其特征在于,所述方法包括:

7.如权利要求6所述的RTOS定时器中断处理方法,其特征在于,对于在平均任务切换时间内到期的定时器任务,取消对应任务的挂起状态,使其进入就绪态之前,所述方法还包括:

8.如权利要求7所述的RTOS定时器中断处理方法,其特征在于,所述平均任务切换时间为预先统计多个任务上下文切换平均耗时得到,具体包括:

9.一种电子设备,包括:处理器和存储器,其特征在于,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器执行所述计算机指令时,电子设备执行如权利要求6~8任意一项所述的RTOS定时器中断处理方法的步骤。

10.一种可读存储介质,可读存储介质中存储有计算机程序,其特征在于,计算机程序包括程序指令,程序指令当被电子设备的处理器执行时,使处理器执行如权利要求6~8任意一项所述的RTOS定时器中断处理方法的步骤。

...

【技术特征摘要】

1.一种rtos定时器中断处理装置,其特征在于,包括:

2.如权利要求1所述的rtos定时器中断处理系统,其特征在于,所述定时器任务管理与计算单元,还用于判断到期任务是one-shot还是周期性任务:

3.如权利要求2所述的数据同步装置,其特征在于,所述硬件定时器配置单元,用于:

4.如权利要求1所述的rtos定时器中断处理系统,其特征在于,所述平均任务切换时间计算单元,用于:

5.一种rtos定时器中断处理系统,包括处理器以及设置在所述处理器内的定时器;其特征在于,还包括如权利要求1~4任意一项所述的中断处理装置。

6.一种rtos定时器中断处理方法,其特征在于,所述方法包括:

7.如权利要求6所述的rtos定时器中断处理方法,其...

【专利技术属性】
技术研发人员:郭海宇周彬夏浩柯善风
申请(专利权)人:粤港澳大湾区广东国创中心
类型:发明
国别省市:

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

1