时间保护方法及装置与流程

未命名 10-08 阅读:59 评论:0


1.本技术属于计算机技术领域,尤其涉及一种时间保护方法及装置。


背景技术:

2.在嵌入式操作系统中,若任务或中断在运行时错过其截止时间,将会导致时间错误,这种错误会通过操作系统蔓延,导致其他正常运行的任务或中断也错过其截止时间。
3.但是,由于任务或中断的截止时间通常设置得较为宽泛,因此,当发现某一任务或中断错过其截止时间时,时间错误很可能已经发生了一段时间,并且无法确定是当前运行的任务或中断造成的,还是之前运行的任务或中断造成的。
4.因此,无法有效地对操作系统进行时间保护。


技术实现要素:

5.本技术实施例提供一种时间保护方法及装置,可以解决现有技术中无法有效地对操作系统进行时间保护的问题。
6.第一方面,本技术实施例提供一种时间保护方法,该方法包括:
7.监测操作系统中目标任务或目标中断的目标时长,目标时长包括执行时长、锁定时长和间隔时长中的至少一项,锁定时长为锁定目标任务所占用的目标资源的时长或锁定目标中断的时长,
8.在目标时长满足预设条件的情况下,调用目标任务或目标中断的目标时长对应的时间保护函数,
9.执行时间保护函数中的预设返回值所指示的操作,以对操作系统进行时间保护,操作包括关闭目标任务、关闭目标中断或忽略时间错误。
10.第二方面,本技术实施例提供了一种时间保护装置,该装置包括:
11.监测模块,用于监测操作系统中目标任务或目标中断的目标时长,目标时长包括执行时长、锁定时长和间隔时长中的至少一项,锁定时长为锁定目标任务所占用的目标资源的时长或锁定目标中断的时长,
12.调用模块,用于在目标时长满足预设条件的情况下,调用目标任务或目标中断的目标时长对应的时间保护函数,
13.执行模块,用于执行时间保护函数中的预设返回值所指示的操作,以对操作系统进行时间保护,操作包括关闭目标任务、关闭目标中断或忽略时间错误。
14.第三方面,本技术实施例提供了一种电子设备,设备包括:处理器以及存储有计算机程序指令的存储器,
15.处理器执行计算机程序指令时实现如第一方面的任一项实施例中所示的时间保护方法。
16.第四方面,本技术实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面的任一项实施例中所示的
时间保护方法。
17.第五方面,本技术实施例提供了一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行第一方面的任一项实施例中所示的时间保护方法。
18.本技术实施例的时间保护方法及装置,可以监测操作系统中目标任务或目标中断的目标时长,并在该目标时长满足预设条件的情况下,调用该目标任务或目标中断的目标时长对应的时间保护函数,从而执行该时间保护函数中的预设返回值所指示的操作,以对操作系统进行时间保护。其中,目标时长包括执行时长、锁定时长和间隔时长中的至少一项。因此,本技术可以通过执行时长、锁定时长和间隔时长中的至少一项,对目标任务或目标中断进行监测,从而可以在发生时间错误时及时发现。而且,本技术可以对任一任务或中断进行针对性的监测,从而可以准确确定造成时间错误的任务或中断,继而可以执行相应操作对操作系统进行时间保护,通过执行相应操作可以避免后续任务或中断被影响,从而可以避免操作系统的时间错误蔓延。这样,便可以有效地对操作系统进行时间保护。
附图说明
19.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是本技术一个实施例提供的一种任务执行故障时序图,
21.图2是本技术一个实施例提供的一种时间保护方法的流程图之一,
22.图3是本技术一个实施例提供的一种时间通道的结构示意图,
23.图4是本技术一个实施例提供的一种目标任务的状态切换示意图,
24.图5是本技术一个实施例提供的一种目标中断的状态切换示意图,
25.图6是本技术一个实施例提供的一种时间保护方法的流程图之二,
26.图7是本技术一个实施例提供的一种时间保护方法的流程图之三,
27.图8是本技术一个实施例提供的一种时间保护方法的流程图之四,
28.图9是本技术一个实施例提供的一种时间保护方法的流程图之五,
29.图10是本技术一个实施例提供的一种时间保护方法的流程图之六,
30.图11是本技术一个实施例提供的一种时间保护装置的结构示意图,
31.图12是本技术一个实施例提供的一种电子设备的结构示意图。
具体实施方式
32.下面将详细描述本技术的各个方面的特征和示例性实施例,为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本技术进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本技术,而不是限定本技术。对于本领域技术人员来说,本技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本技术的示例来提供对本技术更好的理解。
33.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存
在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
34.如背景技术,在嵌入式操作系统中,若任务或中断在运行时错过了截止时间,将会导致时间错误,这种错误会通过操作系统蔓延,导致其他正常运行的任务或中断也错过其截止时间。
35.但是,由于任务或中断的截止时间通常设置得较为宽泛,因此,当发现某一任务或中断错过其截止时间时,时间错误很可能已经发生了一段时间,并且无法确定是当前运行的任务或中断造成的,还是之前运行的任务或中断造成的。
36.示例性地,如图1所示,任务a和任务b的执行时长过长,同时任务b开始过早,导致正常运行的任务c错过了其截止时间,出现了时间错误。但是,通过监控截止时间,只能发现任务c错过了其截止时间,无法得知任务c错过截止时间,是因为任务a和任务b的执行时长过长,同时任务b开始过早,也无法在最初任务a执行时长过长时,就及时发现出现了时间错误。
37.基于此,本技术实施例提供了一种时间保护方法,下面对本技术实施例提供的时间保护方法进行介绍。
38.图2示出了本技术一个实施例提供的一种时间保护方法的流程示意图。
39.如图2所示,该时间保护方法的执行主体可以为时间保护装置,该时间保护方法可以包括如下步骤:
40.s210,监测操作系统中目标任务或目标中断的目标时长,
41.s220,在目标时长满足预设条件的情况下,调用目标任务或目标中断的目标时长对应的时间保护函数,
42.s230,执行时间保护函数中的预设返回值所指示的操作,以对操作系统进行时间保护。
43.由此,监测操作系统中目标任务或目标中断的目标时长,并在该目标时长满足预设条件的情况下,调用该目标任务或目标中断的目标时长对应的时间保护函数,从而执行该时间保护函数中的预设返回值所指示的操作,以对操作系统进行时间保护。其中,目标时长包括执行时长、锁定时长和间隔时长中的至少一项。因此,本技术可以通过执行时长、锁定时长和间隔时长中的至少一项,对目标任务或目标中断进行监测,从而可以在发生时间错误时及时发现。而且,本技术可以对任一任务或中断进行针对性的监测,从而可以准确确定造成时间错误的任务或中断,继而可以执行相应操作对操作系统进行时间保护,通过执行相应操作可以避免后续任务或中断被影响,从而可以避免操作系统的时间错误蔓延。这样,便可以有效地对操作系统进行时间保护。
44.涉及s210,目标时长可以包括执行时长、锁定时长和间隔时长中的至少一项。其中,锁定时长可以为锁定目标任务所占用的目标资源的时长或锁定目标中断的时长。目标资源可以为目标任务所占用的任一共享资源。目标中断可以为二类中断或全局中断。
45.涉及s220,可以为不同任务或中断的目标时长设置不同的预设条件。为同一任务
或中断的执行时长、锁定时长和间隔时长也分别设置不同的预设条件。
46.这里,目标时长满足预设条件可以表征发生了时间错误,因此需要调用相应的时间保护函数。
47.示例性地,时间保护函数可以为钩子函数(protectionhook)。
48.涉及s230,不同任务或中断的不同时长对应不同时间保护函数,不同时间保护函数的区别可以在于预设返回值不同。不同预设返回值可以指示不同操作。示例性地,不同操作可以包括但不限于关闭目标任务、关闭目标中断以及忽略该时间错误。
49.具体地,不同预设返回值所指示的操作可以根据实际需求设置。示例性地,若目标任务或目标中断的目标时长满足预设条件会对操作系统的正常运行产生影响,则可以设置该预设返回值所指示的操作为关闭目标任务或关闭目标中断,若目标任务或目标中断的目标时长满足预设条件不会对操作系统的正常运行产生影响,则可以设置该预设返回值所指示的操作为忽略该时间错误。
50.如图3所示,为了实现本技术实施例提供的时间保护方法,本技术实施例在设计与时间保护装置对应的定时中断时,选择了定时器模块实现,也即时间保护定时器310,该时间保护定时器310具有4个独立的定时通道,具备4个不同的中断源。时间保护装置的定时中断配置可以由用户自行设定,可以按照所需定时精度选取定时周期。同时,时间保护装置的定时中断可以独自占据系统的最高中断优先级,并且可以作为第一类中断处理。
51.其中,4个独立的定时通道分别为:基准时间通道321、执行时间通道322、中断锁定时间通道323和资源锁定时间通道324。这4个定时通道均可以作为操作系统的内部通道使用,不对用户开放。
52.具体地,基准时间通道321,可以用于提供任务和二类中断每次执行的时间基准,任务和二类中断需记录该时间,作为计算间隔时长的基准。
53.执行时间通道322,可以用于对任务或中断的执行时长进行监测。由于操作系统在同一时刻只能执行某一个任务或中断服务函数,不存在同一时刻对多个任务或中断服务函数的执行时长进行监测的情况,所以操作系统仅需一个执行时间通道322即可实现对当前正在执行的任务或中断的执行时长进行监测。所以执行时间通道322的监测对象永远是当前正在执行的任务或中断的执行时长。
54.中断锁定时间通道323,可以用于对任务或中断在操作系统中关闭全局中断或第二类中断的操作进行锁定时长监测。
55.资源锁定时间通道324,可以用于对锁定资源的时长进行监测。
56.基于此,当4个定时通道中任一定时通道的监测出现时间错误时,均可以触发相应定时通道的定时器中断,在中断处理函数中,可以触发时间保护函数,可以通过在时间保护函数中设定返回值的方式让操作系统执行对应操作,操作系统执行的操作可以包括但不限于关闭当前任务、关闭当前中断以及忽略时间错误。
57.此外,任务的状态切换可以如图4所示,二类中断的状态切换可以如图5所示。
58.下面基于上述4个定时通道、任务的状态切换以及二类中断的状态切换,对时间保护方法的具体过程进行详细介绍。
59.在一些实施方式中,在目标时长包括间隔时长的情况下,为了更准确地对目标任务或目标中断的间隔时长进行监测,s210可以包括:
60.在目标任务或目标中断被激活的情况下,通过基准时间通道获取目标任务或目标中断的激活时刻,以及目标任务或目标中断前一次被激活的历史激活时刻,
61.根据激活时刻和历史激活时刻,确定目标任务或目标中断的间隔时长。
62.这里,基准时间通道可以是用于提供任务或中断每次执行的时间基准的定时通道。间隔时长可以基于基准时间通道进行监测。间隔时长可以指目标任务或目标中断相邻两次执行的间隔时长。目标任务或目标中断每次被激活时,都可以记录当前时刻作为激活时刻,并获取目标任务或目标中断前一次被激活的时刻,也即历史激活时刻。历史激活时刻减当前的激活时刻,则可以得到间隔时长。
63.示例性地,如图4所示,目标任务被激活可以指目标任务由挂起状态410或等待状态420切换为就绪状态430。如图5所示,目标中断被激活可以指目标中断发生510。
64.如此,通过基准时间通道准确记录任务或中断的激活时刻,可以计算任务或中断的准确间隔时长,从而更准确地对任务或中断的间隔时长进行监测。
65.基于此,在一些实施方式中,为了有效地进行时间保护,s220可以包括:
66.在间隔时长小于预设间隔时长的情况下,调用目标任务或目标中断的间隔时长对应的时间保护函数。
67.这里,若高优先级的任务或中断的间隔时长过短,可能会导致低优级的任务或中断错过截止时间,因此高优先级的任务或中断的间隔时长不能过短。因此,可以设置预设间隔时长为最短间隔时长,当然预设间隔时长的具体值可以根据实际需求设置,在此不做限定。
68.具体地,若目标任务或目标中断的间隔时长小于预设间隔时长,则可以确定发生了时间错误,因此可以调用时间保护函数。若目标任务或目标中断的间隔时长不小于预设间隔时长,则可以确定未发生时间错误,因此无需调用时间保护函数。
69.示例性地,如图6所示,当每次任务a或中断a被激活运行时,也即由挂起状态或等待状态切换为就绪状态时,基准时间通道可以根据任务标识或中断标识记录时间戳,同时该时间戳可以作为历史激活时刻保存到结构体变量中。在该基准时间通道中,程序会对再次激活运行的任务a或中断a进行间隔时长计算,也即,将本次记录的激活时刻和前一次记录的历史激活时刻作差,并将该差值与预设间隔时长作比较,若该差值不小于预设间隔时长则不触发时间保护函数,表示未发生时间错误,若该差值小于预设间隔时长则触发时间保护函数,表示发生时间错误。
70.如此,通过设置预设间隔时长,对任务或中断的间隔时长进行监测,可以在间隔时长出现异常时及时发现,从而及时执行相应操作,实现对操作系统的时间保护。
71.在一些实施方式中,在目标时长包括执行时长的情况下,为了更准确地对目标任务或目标中断的执行时长进行监测,s210可以包括:
72.在目标任务由就绪状态切换为执行状态的情况下,通过执行时间通道监测目标任务的执行时长,
73.在目标中断发生的情况下,通过执行时间通道监测目标中断的执行时长。
74.这里,执行时间通道可以是用于对任务或中断的执行时长进行监测的定时通道。执行时长可以通过执行时间通道进行监测。
75.示例性地,如图4所示,可以在目标任务由就绪状态430切换为执行状态440时,启
动对目标任务的执行时长的监测,并在目标任务处于执行状态440的过程中,持续监测目标任务的执行时长。如图5所示,可以在目标中断发生510时,启动对目标中断的执行时长的监测,目标中断发生后进入执行520状态,在目标中断处于执行520状态的过程中,可以持续监测目标中断的执行时长。
76.如此,通过执行时间通道可以更准确地监测任务或中断的执行时长。
77.在一些实施方式中,为了节约系统资源,该方法还可以包括:
78.在目标任务由执行状态切换为就绪状态的情况下,暂停监测目标任务的执行时长,并存储目标任务的预设执行时长与目标任务当前已执行时长的差值,
79.在目标任务由执行状态切换为挂起状态或等待状态的情况下,停止监测目标任务的执行时长,
80.在目标中断在执行过程中被其他中断抢占的情况下,停止监测目标中断的执行时长,并存储目标中断的预设执行时长与目标中断当前已执行时长的差值,
81.在抢占返回并继续执行目标中断的情况下,继续监测目标中断的执行时长,
82.在目标中断返回的情况下,停止监测目标中断的执行时长。
83.具体地,如图4所示,可以在目标任务由执行状态440切换为就绪状态430时,暂停监测该目标任务的执行时长,并存储该目标任务的预设执行时长与该目标任务当前已执行时长的差值。还可以在目标任务由执行状态440切换为挂起状态410或等待状态420时,停止监测目标任务的执行时长,并复位预设执行时长。
84.如图5所示,当目标中断在执行520过程中被其他二类中断抢占530时,可以停止监测该目标中断的执行时长,并存储该目标中断的预设执行时长与该目标中断当前已执行时长的差值。然后,在抢占返回并继续执行520该目标中断时,继续监测目标中断的执行时长。此外,在目标中断返回540时,可以停止监测目标中断的执行时长。
85.如此,通过在无需对执行时长进行监测的过程中,暂停或停止对执行时长的监测,可以节约系统资源。
86.基于此,在一些实施方式中,为了有效地进行时间保护,s220可以包括:
87.在执行时长大于预设执行时长的情况下,调用目标任务或目标中断的执行时长对应的时间保护函数。
88.这里,预设间隔时长的具体值可以根据实际需求设置,在此不做限定。若目标任务或目标中断的执行时长大于预设执行时长,则可以确定发生了时间错误,因此可以调用时间保护函数。若目标任务或目标中断的执行时长不大于预设执行时长,则可以确定未发生时间错误,因此无需调用时间保护函数。
89.示例性地,基于执行时长的时间保护可以分为两种情况。
90.第一种,如图7所示,任务a或中断a在执行过程中没有被更高优先级的任务或中断打断。在任务a或中断a的状态由就绪状态切换为执行状态时,程序会启动执行时间通道,并且在比较寄存器中装载该任务a或中断a对应的预设执行时长,当任务a或中断a的执行时长超过预设执行时长时,则认为任务a或中断a的执行时长过长,此时会触发执行时间通道的中断,调用时间保护函数,当任务a或中断a的执行时长不超过预设执行时长时,则认为任务a或中断a的执行时长正常,不会触发执行时间通道的中断,也就不调用时间保护函数。
91.第二种,如图8所示,任务a或中断a在执行过程中被更高优先级的任务b或中断b打
断。在任务a或中断a的状态由就绪状态切换为执行状态时,程序会启动执行时间通道,并且在比较寄存器中装载该任务a或中断a对应的预设执行时长a,当正在执行的任务a或中断a被更高优先级的任务b或中断b打断时,在进行任务或中断切换之前,要存储预设执行时长a与任务a或中断a当前已执行时长的差值,可以在程序代码中设计任务标识和中断标识的全局数组,用于存储该差值。同时,如果更高优先级的任务b或中断b也需要基于执行时长进行时间保护,则需要将比较寄存器中装载的预设执行时长a更新为任务b或中断b对应的预设执行时长b,更新完成后执行时间通道开始进行任务b或中断b的执行时间保护。当任务b或中断b的执行时长超过预设执行时长b时,则认为任务b或中断b的执行时长过长,会触发执行时间通道的中断,调用时间保护函数,当任务b或中断b的执行时长不超过预设执行时长b时,则认为任务b或中断b的执行时长正常,不会触发执行时间通道的中断,也就不调用时间保护函数。
92.如此,通过设置预设执行时长,对任务或中断的执行时长进行监测,可以在执行时长出现异常时及时发现,从而及时执行相应操作,实现对操作系统的时间保护。
93.在一些实施方式中,在目标时长包括目标资源的锁定时长的情况下,为了更准确地对目标资源的锁定时长进行监测,s210可以包括:
94.在目标资源被占用的情况下,通过资源锁定时间通道监测目标资源的锁定时长。
95.这里,目标资源的锁定时长可以为锁定目标资源的阻塞时长。资源锁定时间通道可以是用于对锁定资源的时长进行监测的定时通道。目标资源的锁定时长可以通过资源锁定时间通道进行监测。通过资源锁定时间通道可以更准确地监测目标资源的锁定时长。
96.在一些实施方式中,在目标时长包括目标中断的锁定时长的情况下,为了更准确地对目标中断的锁定时长进行监测,s210可以包括:
97.在目标中断被锁定的情况下,通过中断锁定时间通道监测目标中断的锁定时长。
98.这里,目标中断的锁定时长可以为挂起目标中断的阻塞时长。中断锁定时间通道可以是用于对任务或中断在操作系统中关闭全局中断或第二类中断的操作进行锁定时长监测的定时通道。目标中断的锁定时长可以通过中断锁定时间通道进行监测。通过中断锁定时间通道可以更准确地监测目标中断的锁定时长。
99.基于此,在一些实施方式中,为了有效地进行时间保护,s220可以包括:
100.在锁定时长大于预设锁定时长的情况下,调用目标资源或目标中断的锁定时长对应的时间保护函数。
101.这里,预设锁定时长的具体值可以根据实际需求设置,在此不做限定。若目标资源或目标中断的锁定时长大于预设锁定时长,则可以确定发生了时间错误,因此可以调用时间保护函数。若目标资源或目标中断的锁定时长不大于预设锁定时长,则可以确定未发生时间错误,因此无需调用时间保护函数。
102.示例性地,基于目标中断的锁定时长的时间保护可以如图9所示。中断锁定时间通道可以基于目标中断的标识进行锁定时长的监测,当目标中断调用中断关闭函数时,程序会获取目标中断的标识,并根据目标中断的标识获取目标中断对应的预设锁定时长,同时会将该预设锁定时长装载到中断锁定时间通道的比较寄存器中,当目标中断的锁定时长超出预设锁定时长时,会触发中断锁定时间通道的中断,在中断服务函数中调用时间保护函数,当目标中断被释放时,会重置预设锁定时长,清除比较寄存器中的装载值,并基于目标
中断的标识存储到全局变量中。若目标中断的锁定时长未超出预设锁定时长,则不会触发中断锁定时间通道的中断,也就不会调用时间保护函数。
103.示例性地,基于目标资源的锁定时长的时间保护可以如图10所示。资源锁定时间通道主要基于目标资源的标识进行锁定时长的监测,实现方式与中断锁定时长类似,当目标任务获得目标资源时,会获取目标资源的标识,程序会根据目标资源的标识获取预设锁定时长,同时会将预设锁定时长存储到资源锁定时间通道的比较寄存器中,当目标资源的锁定时长超出预设锁定时长时,会触发资源锁定时间通道的中断,在中断服务函数中调用时间保护函数,当目标资源被释放时,会重置预设锁定时长,清除比较寄存器中的装载值,并基于目标资源的标识存储到全局变量中。若目标资源的锁定时长未超出预设锁定时长,则不会触发资源锁定时间通道的中断,也就不会调用时间保护函数。
104.如此,通过设置预设锁定时长,对资源或中断的锁定时长进行监测,可以在锁定时长出现异常时及时发现,从而及时执行相应操作,实现对操作系统的时间保护。
105.基于相同的发明构思,本技术实施例还提供了一种时间保护装置。下面结合图11对本技术实施例提供的时间保护装置进行详细说明。
106.图11示出了本技术一个实施例提供的一种时间保护装置的结构示意图。
107.如图11所示,该时间保护装置可以包括:
108.监测模块1101,用于监测操作系统中目标任务或目标中断的目标时长,目标时长包括执行时长、锁定时长和间隔时长中的至少一项,锁定时长为锁定目标任务所占用的目标资源的时长或锁定目标中断的时长,
109.调用模块1102,用于在目标时长满足预设条件的情况下,调用目标任务或目标中断的目标时长对应的时间保护函数,
110.执行模块1103,用于执行时间保护函数中的预设返回值所指示的操作,以对操作系统进行时间保护,操作包括关闭目标任务、关闭目标中断或忽略时间错误。
111.由此,可以监测操作系统中目标任务或目标中断的目标时长,并在该目标时长满足预设条件的情况下,调用该目标任务或目标中断的目标时长对应的时间保护函数,从而执行该时间保护函数中的预设返回值所指示的操作,以对操作系统进行时间保护。其中,目标时长包括执行时长、锁定时长和间隔时长中的至少一项。因此,本技术可以通过执行时长、锁定时长和间隔时长中的至少一项,对目标任务或目标中断进行监测,从而可以在发生时间错误时及时发现。而且,本技术可以对任一任务或中断进行针对性的监测,从而可以准确确定造成时间错误的任务或中断,继而可以执行相应操作对操作系统进行时间保护,通过执行相应操作可以避免后续任务或中断被影响,从而可以避免操作系统的时间错误蔓延。这样,便可以有效地对操作系统进行时间保护。
112.在一些实施方式中,在目标时长包括间隔时长的情况下,为了更准确地对目标任务或目标中断的间隔时长进行监测,监测模块1101可以包括:
113.获取子模块,用于在目标任务或目标中断被激活的情况下,通过基准时间通道获取目标任务或目标中断的激活时刻,以及目标任务或目标中断前一次被激活的历史激活时刻,基准时间通道是用于提供任务或中断每次执行的时间基准的定时通道,
114.确定子模块,用于根据激活时刻和历史激活时刻,确定目标任务或目标中断的间隔时长。
115.在一些实施方式中,为了有效地进行时间保护,调用模块1102可以包括:
116.第一调用子模块,用于在间隔时长小于预设间隔时长的情况下,调用目标任务或目标中断的间隔时长对应的时间保护函数。
117.在一些实施方式中,在目标时长包括执行时长的情况下,为了更准确地对目标任务或目标中断的执行时长进行监测,监测模块1101可以包括:
118.第一监测子模块,用于在目标任务由就绪状态切换为执行状态的情况下,通过执行时间通道监测目标任务的执行时长,执行时间通道是用于对任务或中断的执行时长进行监测的定时通道,
119.第二监测子模块,用于在目标中断发生的情况下,通过执行时间通道监测目标中断的执行时长。
120.在一些实施方式中,为了节约系统资源,该装置还可以包括:
121.暂停子模块,用于在目标任务由执行状态切换为就绪状态的情况下,暂停监测目标任务的执行时长,并存储目标任务的预设执行时长与目标任务当前已执行时长的差值,
122.第一停止子模块,用于在目标任务由执行状态切换为挂起状态或等待状态的情况下,停止监测目标任务的执行时长,
123.第二停止子模块,用于在目标中断在执行过程中被其他中断抢占的情况下,停止监测目标中断的执行时长,并存储目标中断的预设执行时长与目标中断当前已执行时长的差值,
124.第三监测子模块,用于在抢占返回并继续执行目标中断的情况下,继续监测目标中断的执行时长,
125.第三停止子模块,用于在目标中断返回的情况下,停止监测目标中断的执行时长。
126.在一些实施方式中,为了有效地进行时间保护,调用模块1102可以包括:
127.第二调用子模块,用于在执行时长大于预设执行时长的情况下,调用目标任务或目标中断的执行时长对应的时间保护函数。
128.在一些实施方式中,在目标时长包括目标资源的锁定时长的情况下,为了更准确地对目标资源的锁定时长进行监测,监测模块1101可以包括:
129.第四监测子模块,用于在目标资源被占用的情况下,通过资源锁定时间通道监测目标资源的锁定时长,资源锁定时间通道是用于对锁定资源的时长进行监测的定时通道。
130.在一些实施方式中,在目标时长包括目标中断的锁定时长的情况下,为了更准确地对目标中断的锁定时长进行监测,监测模块1101可以包括:
131.第五监测子模块,用于在目标中断被锁定的情况下,通过中断锁定时间通道监测目标中断的锁定时长,中断锁定时间通道是用于对任务或中断在操作系统中关闭全局中断或第二类中断的操作进行锁定时长监测的定时通道。
132.在一些实施方式中,为了有效地进行时间保护,调用模块1102可以包括:
133.第三调用子模块,用于在锁定时长大于预设锁定时长的情况下,调用目标资源或目标中断的锁定时长对应的时间保护函数。
134.图12示出了本技术一个实施例提供的一种电子设备的结构示意图。
135.如图12所示,该电子设备12能够实现根据本技术实施例中的时间保护方法以及时间保护装置的电子设备的示例性硬件架构的结构图。该电子设备可以指代本技术实施例中
的电子设备。
136.该电子设备12可以包括处理器1201以及存储有计算机程序指令的存储器1202。
137.具体地,上述处理器1201可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit,asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。
138.存储器1202可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器1202可包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器1202可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器1202可在综合网关容灾设备的内部或外部。在特定实施例中,存储器1202是非易失性固态存储器。在特定实施例中,存储器1202可包括只读存储器(rom),随机存取存储器(ram),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器1202包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本技术的一方面的方法所描述的操作。
139.处理器1201通过读取并执行存储器1202中存储的计算机程序指令,以实现上述实施例中的任意一种时间保护方法。
140.在一个示例中,该电子设备还可包括通信接口1203和总线1204。其中,如图12所示,处理器1201、存储器1202、通信接口1203通过总线1204连接并完成相互间的通信。
141.通信接口1203,主要用于实现本技术实施例中各模块、装置、单元和/或设备之间的通信。
142.总线1204包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线1204可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。
143.该电子设备可以执行本技术实施例中的时间保护方法,从而实现结合图1至图11描述的时间保护方法和装置。
144.另外,结合上述实施例中的时间保护方法,本技术实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述实施例中的任意一种时间保护方法。
145.需要明确的是,本技术并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本技术的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本技术的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
146.以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组
合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本技术的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
147.还需要说明的是,本技术中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本技术不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
148.上面参考根据本技术的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本技术的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
149.以上所述,仅为本技术的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。

技术特征:
1.一种时间保护方法,其特征在于,所述方法包括:监测操作系统中目标任务或目标中断的目标时长,所述目标时长包括执行时长、锁定时长和间隔时长中的至少一项,所述锁定时长为锁定所述目标任务所占用的目标资源的时长或锁定所述目标中断的时长,在所述目标时长满足预设条件的情况下,调用所述目标任务或目标中断的目标时长对应的时间保护函数,执行所述时间保护函数中的预设返回值所指示的操作,以对所述操作系统进行时间保护,所述操作包括关闭所述目标任务、关闭所述目标中断或忽略时间错误。2.根据权利要求1所述的方法,其特征在于,在所述目标时长包括所述间隔时长的情况下,所述监测操作系统中目标任务或目标中断的目标时长,包括:在所述目标任务或目标中断被激活的情况下,通过基准时间通道获取所述目标任务或目标中断的激活时刻,以及所述目标任务或目标中断前一次被激活的历史激活时刻,所述基准时间通道是用于提供任务或中断每次执行的时间基准的定时通道,根据所述激活时刻和所述历史激活时刻,确定所述目标任务或目标中断的间隔时长。3.根据权利要求2所述的方法,其特征在于,所述在所述目标时长满足预设条件的情况下,调用所述目标任务或目标中断的目标时长对应的时间保护函数,包括:在所述间隔时长小于预设间隔时长的情况下,调用所述目标任务或目标中断的间隔时长对应的时间保护函数。4.根据权利要求1所述的方法,其特征在于,在所述目标时长包括所述执行时长的情况下,监测操作系统中目标任务或目标中断的目标时长,包括:在所述目标任务由就绪状态切换为执行状态的情况下,通过执行时间通道监测所述目标任务的执行时长,所述执行时间通道是用于对任务或中断的执行时长进行监测的定时通道,在所述目标中断发生的情况下,通过所述执行时间通道监测所述目标中断的执行时长。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在所述目标任务由执行状态切换为就绪状态的情况下,暂停监测所述目标任务的执行时长,并存储所述目标任务的预设执行时长与所述目标任务当前已执行时长的差值,在所述目标任务由执行状态切换为挂起状态或等待状态的情况下,停止监测所述目标任务的执行时长,在所述目标中断在执行过程中被其他中断抢占的情况下,停止监测所述目标中断的执行时长,并存储所述目标中断的预设执行时长与所述目标中断当前已执行时长的差值,在抢占返回并继续执行所述目标中断的情况下,继续监测所述目标中断的执行时长,在所述目标中断返回的情况下,停止监测所述目标中断的执行时长。6.根据权利要求5所述的方法,其特征在于,所述在所述目标时长满足预设条件的情况下,调用所述目标任务或目标中断的目标时长对应的时间保护函数,包括:在所述执行时长大于预设执行时长的情况下,调用所述目标任务或目标中断的执行时长对应的时间保护函数。7.根据权利要求1所述的方法,其特征在于,在所述目标时长包括所述目标资源的锁定
时长的情况下,监测操作系统中目标任务或目标中断的目标时长,包括:在所述目标资源被占用的情况下,通过资源锁定时间通道监测所述目标资源的锁定时长,所述资源锁定时间通道是用于对锁定资源的时长进行监测的定时通道。8.根据权利要求1所述的方法,其特征在于,在所述目标时长包括所述目标中断的锁定时长的情况下,监测操作系统中目标任务或目标中断的目标时长,包括:在所述目标中断被锁定的情况下,通过中断锁定时间通道监测所述目标中断的锁定时长,所述中断锁定时间通道是用于对任务或中断在操作系统中关闭全局中断或第二类中断的操作进行锁定时长监测的定时通道。9.根据权利要求7或8所述的方法,其特征在于,所述在所述目标时长满足预设条件的情况下,调用所述目标任务或目标中断的目标时长对应的时间保护函数,包括:在所述锁定时长大于预设锁定时长的情况下,调用所述目标资源或目标中断的锁定时长对应的时间保护函数。10.一种时间保护装置,其特征在于,所述装置包括:监测模块,用于监测操作系统中目标任务或目标中断的目标时长,所述目标时长包括执行时长、锁定时长和间隔时长中的至少一项,所述锁定时长为锁定所述目标任务所占用的目标资源的时长或锁定所述目标中断的时长,调用模块,用于在所述目标时长满足预设条件的情况下,调用所述目标任务或目标中断的目标时长对应的时间保护函数,执行模块,用于执行所述时间保护函数中的预设返回值所指示的操作,以对所述操作系统进行时间保护,所述操作包括关闭所述目标任务、关闭所述目标中断或忽略时间错误。

技术总结
本申请公开了一种时间保护方法及装置。该方法包括:监测操作系统中目标任务或目标中断的目标时长,目标时长包括执行时长、锁定时长和间隔时长中的至少一项,锁定时长为锁定目标任务所占用的目标资源的时长或锁定目标中断的时长,在目标时长满足预设条件的情况下,调用目标任务或目标中断的目标时长对应的时间保护函数,执行时间保护函数中的预设返回值所指示的操作,以对操作系统进行时间保护。这样,可以有效地对操作系统进行时间保护。可以有效地对操作系统进行时间保护。可以有效地对操作系统进行时间保护。


技术研发人员:于洪斌
受保护的技术使用者:经纬恒润(天津)研究开发有限公司
技术研发日:2023.07.20
技术公布日:2023/10/5
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐