任务处理方法、系统、设备、介质及程序与流程

摘要: 本技术涉及嵌入式软件测试,特别涉及一种任务处理方法、系统、设备、介质及程序。背景技术:1、在抢占式实时操作系统(如autosaros)中,不同任务具有不同优先级...
任务处理方法、系统、设备、介质及程序与流程

本技术涉及嵌入式软件测试,特别涉及一种任务处理方法、系统、设备、介质及程序。

背景技术:

1、在抢占式实时操作系统(如autosar os)中,不同任务具有不同优先级,低优先级任务在运行过程中会被更高优先级执行单元或中断服务例程多次抢占。

2、相关技术中,测时方式在任务入口和出口分别记录时刻,将二者之差作为执行时间,该方式在非抢占环境下能够获得较为准确的结果,但在抢占环境下,所记录的时间跨度包含了多个由其他执行单元占用的时间片段,导致重复计算抢占干扰时间,测量结果失真,基于不准确的任务负载,可能错误分配cpu资源,导致其他任务或系统整体性能失衡。

技术实现思路

1、本技术提供一种任务处理方法、系统、设备、介质及程序,以解决相关技术中因仅扣除中断执行时长而导致高优先级执行单元的抢占时间仍混入测时结果、因对不同抢占来源分别统计而导致嵌套或重叠抢占区间被重复扣除、以及因全任务常驻统计而导致系统开销大等问题。

2、本技术第一方面实施例提供一种任务处理方法,包括以下步骤:获取通过控制接口在线选定的目标任务;在目标任务的最外层入口开启有效测量窗口,初始化共享干扰对象并记录目标任务的起始时刻,其中,共享干扰对象包括干扰起点、干扰累计时长以及共享嵌套计数值;在有效测量窗口内,针对在目标任务所在处理器核上抢占目标任务的多个抢占事件,响应于抢占事件的开始或结束,更新共享嵌套计数值;根据共享嵌套计数值的跳转状态更新干扰起点与干扰累计时长,以更新共享干扰对象,根据共享干扰对象确定干扰累计时长,其中,抢占事件包括高优先级执行单元和中断服务例程;当检测到目标任务最外层出口时,关闭有效测量窗口,读取目标任务的结束时刻,根据起始时刻、结束时刻和干扰累计时长计算目标任务剔除抢占干扰后的净执行时间。

3、可选地,根据共享嵌套计数值的跳转状态更新共享干扰对象,还包括:响应任一抢占事件开始,共享嵌套计数值的跳转状态由第一数值跳转为非第一数值时记录干扰起点;响应任一抢占事件结束,共享嵌套计数值的跳转状态由非第一数值跳转为第一数值时,根据干扰起点和当前时刻更新干扰累计时长;其中,对于任一抢占事件开始到结束之间引发的其他抢占事件的跳转,仅更新共享嵌套计数值。

4、可选地,根据多个抢占事件更新共享干扰对象之前,包括:获取多个抢占事件和目标任务的优先级对比结果;若抢占事件的优先级高于目标任务,则更新共享干扰对象。

5、可选地,优先级对比结果根据操作系统调度配置、优先级映射表或优先级判定函数中的至少一种确定。

6、可选地,在获取通过控制接口在线选定的目标任务之后,包括:在线切换目标任务时,进入临界保护区域,停用上一目标任务对应的有效测量窗口,并将切换时刻尚未完成的上一目标任务对应的测量样本标记为无效;清零当前目标任务的统计对象和共享干扰对象,更新目标任务的测量代际标识;退出临界保护区域,从当前目标任务的下一个完整最外层实例开始生效;其中,在有效测量窗口内执行干扰开始操作或干扰结束操作时,在当前测量目标任务测量代际标识与测量事件测量代际标识匹配时,更新共享干扰对象。

7、可选地,设置与目标任务对应的目标任务统计对象以及由多种抢占来源共同使用的共享干扰对象;其中,目标任务统计对象包括:目标任务外层深度、目标任务起始时刻、净执行时间、样本有效标志和测量代际标识;共享干扰对象包括:用于指示有效测量窗口状态的标志、干扰起点、干扰累计时长和共享嵌套计数值;目标任务外层深度与共享嵌套计数值相互独立,其中,样本有效标志用于指示当前目标任务的测量样本的有效性,测量代际标识用于区分不同测量批次。

8、可选地,当检测到共享嵌套计数值异常时,复位共享干扰对象,并将当前目标任务的测量样本标记为无效。

9、可选地,当共享干扰对象记录的干扰区间跨越有效测量窗口的边界时,将干扰区间的终止时刻截断至有效测量窗口的关闭时刻。

10、可选地,在每次有效测量完成后,根据历史有效净执行时间中的最小值更新目标任务的最小执行时间,根据历史有效净执行时间中的最大值更新目标任务的最大执行时间,根据历史有效净执行时间和有效样本总数更新目标任务的平均执行时间。

11、可选地,起始时刻、结束时刻和干扰起点由单调递增的计数器获得;计数器的单次读取固定耗时通过空测量路径多次执行获得校准值,校准值表示单次测时调用及对应的计数器读取操作所需的固定时间耗时;在计算目标任务的净执行时间时,按照有效测量窗口内执行的计数器读取次数扣除对应的校准值;当检测到时间戳顺序异常或差值超出预设范围时,则触发异常处理,并将当前样本标记为无效。

12、可选地,任务处理方法还包括:通过自动插桩程序确定任务函数与任务标识之间的映射关系;根据任务函数与任务标识之间的映射关系,在目标任务的入口处部署入口测时调用,并在目标任务的各退出位置部署对应的出口测时调用,其中,入口测时调用与出口测时调用具有相同的任务标识和相同的测量代际标识;自动插桩程序识别已有测时调用标记,则不再重复部署入口测时调用与出口测时调用;在检测到自动插桩程序完成部署后,校验目标任务的入口测时调用的数量与出口测时调用的数量,以及各测时调用的任务标识,若数量或任务标识的任一项匹配不一致,则生成错误警示。

13、本技术第二方面实施例提供一种任务处理系统,包括:目标任务选择单元,用于通过控制接口在线选择目标任务,并输出目标任务的标识、当前测量代际标识以及目标任务的窗口状态;目标任务计时单元,用于接收目标任务的标识和当前测量代际标识,在目标任务的最外层入口清零目标任务统计对象和共享干扰对象并记录起始时刻,以及在目标任务的最外层出口记录结束时刻,其中,目标任务统计对象至少包含目标任务的标识、当前测量代际标识和样本有效标志,共享干扰对象包含有效测量窗口标志、干扰起点、干扰累计时长和共享嵌套计数值;共享干扰统计单元包括由在处理器核上实际抢占目标任务的高优先级执行单元和中断服务例程共同读写的共享干扰对象及共享嵌套计数值,仅在窗口状态为开启且触发干扰更新的事件所携带的代际标识与当前测量代际标识一致时,执行对共享干扰对象的更新操作;结算单元,用于在目标任务的最外层出口,根据目标任务计时单元记录的起始时刻和结束时刻以及共享干扰统计单元的干扰累计时长计算目标任务的净执行时间。

14、本技术第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序,以执行如上述实施例的一种任务处理方法。

15、本技术第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以执行如上述实施例的任务处理方法。

16、本技术第五方面实施例提供一种计算机程序产品,包括计算机程序或指令,计算机程序或指令被执行时,以实现如上述实施例的任务处理方法。

17、由此,本技术至少具有如下有益效果:

18、本技术实施例通过控制接口在线选定单一目标任务,在目标任务最外层入口开启有效测量窗口并清零共享干扰对象,使测量窗口与目标任务的执行实例严格绑定,避免了跨样本残留污染;通过将调度优先级高于目标任务的高优先级执行单元和中断服务例程统一映射至同一共享干扰对象,由共享嵌套计数值记录抢占嵌套深度,在计数值由0变为1时记录干扰起点、由1回落为0时累计干扰时长,使相互嵌套或重叠的多个抢占区间按照时间并集累计一次,避免了因对不同抢占来源分别统计而导致的重复扣除;通过在目标任务最外层出口统一结算,以结束时刻与起始时刻之差减去干扰累计时长得到净执行时间,使测时结果能够真实反映目标任务自身的执行时间,提高了测时准确性;通过单目标在线选择的测量方式避免了全任务常驻统计带来的系统开销。

19、本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。