logo好方法网

一种系统任务的时间保护方法、系统、存储介质及终端


技术摘要:
本发明提供一种系统任务的时间保护方法、系统、存储介质及终端,所述保护方法包括:判断任务执行过程中是否有中断发生;如果有,开始中断运行时间保护和中断到达间隔保护;当所述任务从就绪状态切换到运行状态时,计算任务的实际运行时间,并将所述实际运行时间与所述  全部
背景技术:
提出的问题。 CN 111597016 A CN 111597016 A 权 利 要 求 书 1/2 页 1.一种系统任务的时间保护方法,其特征在于,包括: 判断任务执行过程中是否有中断发生;如果有,开始中断运行时间保护和中断到达间 隔保护; 当所述任务从就绪状态切换到运行状态时,计算任务的实际运行时间,并将所述实际 运行时间与所述任务的运行预算时间作对比,判断所述实际运行时间是否异常;在所述实 际运行时间异常时,执行任务运行时间超时异常处理,以实现任务运行时间保护; 当任务从等待状态或挂起状态切换到就绪状态时,计算任务的实际到达间隔时间,并 将所述实际到达间隔时间与所述任务的到达间隔预算时间作对比,判断所述实际到达间隔 时间是否异常;在任务的所述实际到达间隔时间小于任务的所述到达间隔预算时间时,判 定所述实际到达间隔时间异常时,执行任务到达间隔时间异常处理,以实现任务到达间隔 时间保护。 2.根据权利要求1所述的一种系统任务的时间保护方法,其特征在于,所述中断运行时 间保护包括:在中断执行完毕之后,计算出所述中断的实际运行时间,并退出中断,若中断 的实际运行时间大于中断执行预算时间,执行中断运行时间异常处理。 3.根据权利要求1所述的一种系统任务的时间保护方法,其特征在于,所述中断到达间 隔保护包括:在中断执行开始后,开始中断达到间隔时间计时,计算出所述中断的实际到达 间隔时间,若中断的所述实际到达间隔时间小于中断的预算到达间隔时间,执行中断到达 间隔时间异常处理。 4.根据权利要求1所述的一种系统任务的时间保护方法,其特征在于,所述任务的实际 运行时间计算过程为:获取所述任务的本次运行时间、和所述任务运行时中断运行时间,将 所述任务的本次运行时间减去所述任务运行时的中断的实际运行时间,即可得到所述任务 的实际运行时间。 5.根据权利要求1所述的一种系统任务的时间保护方法,其特征在于,所述判断所述实 际运行时间是否异常的过程为:若任务的实际运行时间大于或等于任务运行预算时间,判 定任务实际运行时间异常;若任务实际运行时间小于任务运行预算时间,继续任务运行时 间计时,直到任务正常运行完毕。 6.根据权利要求1所述的一种系统任务的时间保护方法,其特征在于,所述任务在运行 过程中,被更高优先级的新任务抢占,则所述任务由运行状态切换到就绪状态,所述任务的 实际运行时间计时停止,启动新任务的运行时间保护,直到所述新任务运行完毕,再继续执 行所述任务并同时继续所述任务的实际运行时间计时。 7.根据权利要求1所述的一种系统任务的时间保护方法,其特征在于,所述任务的实际 到达间隔时间为所述任务的开始时间与上一次所述任务的开始时间之差。 8.一种系统,其特征在于,包括: 中断判断保护模块,所述中断判断保护模块包括:判断任务执行过程中是否有中断发 生;如果有,开始中断运行时间保护和中断到达间隔保护; 任务时间保护模块,所述任务时间保护模块包括:当所述任务从就绪状态切换到运行 状态时,计算任务的实际运行时间,并将所述实际运行时间与所述任务的运行预算时间作 对比,判断所述实际运行时间是否异常;在所述实际运行时间异常时,执行任务运行时间超 时异常处理,以实现任务运行时间保护; 2 CN 111597016 A 权 利 要 求 书 2/2 页 当任务从等待状态或挂起状态切换到就绪状态时,计算任务的实际到达间隔时间,并 将所述实际到达间隔时间与所述任务的到达间隔预算时间作对比,判断所述实际到达间隔 时间是否异常;在任务的所述实际到达间隔时间小于任务的所述到达间隔预算时间时,判 定所述实际到达间隔时间异常时,执行任务到达间隔时间异常处理,以实现任务到达间隔 时间保护。 9.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权 利要求1至7中任一项所述的一种系统任务的时间保护方法。 10.一种终端,其特征在于,包括:处理器及存储器;所述存储器用于存储计算机程序; 所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行权利要求1至7中任 一项所述的一种系统任务的时间保护方法。 3 CN 111597016 A 说 明 书 1/7 页 一种系统任务的时间保护方法、系统、存储介质及终端 技术领域 本发明涉及计算机技术领域,尤其涉及处理器的控制技术,特别是涉及系统任务 的时间保护方法、系统、存储介质及终端。
技术实现要素:
当前PMA项目中,由于项目功能量庞大,系统需要处理的任务及中断数量过多,导 致产品功能偶然出现非预期性现象。如:FlexRay不准时导致的空帧,无法唤醒FlexRay总线 的现象;CAN,LIN周期不准的现象;当网络占用中断资源禁止中断后,导致底层代码卡死的 现象;仪表屏上指示灯闪烁不同步现象;屏幕背光从亮到暗或从暗到亮的渐变过程中,出现 屏幕闪烁的现象。调查上述问题时发现,导致这类问题的根本原因就是,任务或中断的实际 执行时间超过预期,任务或中断的到达时间过早导致的。 针对任务执行时间需要保护的需求,在Autosa r标准中描述了时间保护 (TimingProtection)的要求。对时间保护的技术背景和基本原理进行了详细表述(参见 AUTOSAR_SWS_OS.pdf  7.7.2Timing  Protection)。 当前基于Autosar标准设计的时间保护方案中: 当任务从就绪(ready)状态切换到运行(running)状态时,启动任务运行时间预算 计时。 当任务从运行(running)状态切换到就绪(ready)状态时,任务运行时间预算计时 暂停,并计算已使用运行时间,如果已使用运行时间大于任务运行总预算时间,系统进行任 务运行时间超时异常处理。 当任务从运行(running)状态切换到挂起(suspended)或等待(waiting)状态时, 任务运行时间预算计时结束,并计算已使用运行时间,如果已使用运行时间大于任务运行 总预算时间,系统进行任务运行时间超时异常处理。 当任务从挂起(suspended)或等待(waiting)状态切换到就绪(ready)状态时,启 动该任务到达间隔时间计时,并计算本次任务启动与上一次任务启动的间隔时间。如果间 隔时间小于间隔时间预算,系统执行任务到达时间异常处理。 但该方案存在以下缺陷: 任务执行过程中,中断占用的时间被计算到任务执行时间内。若任务执行过程中, 中断长时间占用了资源,或者任务执行过程中出现频繁中断。该情况下任务实际执行时间 未超过执行总预算时间,时间保护功能却检测该任务执行时间大于执行总预算时间,导致 系统错误识别故障的根本原因。 同时,该方案无法计算任务从开始运行到运行结束,任务实际历经的时间。 该方案无法解决
下载此资料需消耗2积分,
分享到:
收藏