多任务隔离方法和装置制造方法及图纸

技术编号:16102289 阅读:41 留言:0更新日期:2017-08-29 22:44
本发明专利技术公开了一种多任务隔离方法和装置。其中,该方法包括:根据预设规则将多个任务进行划分,得到安全任务和非安全任务;至少配置一个共享内存以及为多个任务中每个任务配置对应的隔离空间,其中,共享内存设置为用于安全任务和非安全任务之间的通信,隔离空间设置为仅限于隔离空间对应的任务进行访问。本发明专利技术解决了现有技术中多个任务同时运行时,非安全任务的异常会对安全任务产生影响的技术问题。

【技术实现步骤摘要】
多任务隔离方法和装置
本专利技术涉及计算机互联网领域,具体而言,涉及一种多任务隔离方法和装置。
技术介绍
基于OS(OperatingSystem,操作系统)的多任务隔离可以有效的阻止任务之间的干扰,防止异常的任务干扰正常任务的运行,或者防止由于某一个任务异常导致整个系统崩溃,这样的隔离在PLC(ProgrammableLogicController,可编程逻辑控制器)系统中尤为重要,需要保证非重要任务出现异常时不应该影响重要任务的运行。目前,用于PLC控制器的RTOS(RealTimeOperatingSystem,实时操作系统)都是可以支持抢占式调度的,基于抢占可以实现时间上保证重要任务的运行,在CPU(CentralProcessingUnit,中央处理器)芯片的配合下可以支持任务的空间隔离,虽然OS提供了空间隔离以及时间上的响应保证,但并没有适合功能安全的空间隔离以及隔离任务的通信。针对上述现有技术中多个任务同时运行时,非安全任务的异常会对安全任务产生影响的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种多任务隔离方法和装置,以至少解决现有技术中多个任务同时运行时,非安全任务的异常会对安全任务产生影响的技术问题。根据本专利技术实施例的一个方面,提供了一种多任务隔离方法,包括:根据预设规则将多个任务进行划分,得到安全任务和非安全任务;至少配置一个共享内存以及为多个任务中每个任务配置对应的隔离空间,其中,共享内存设置为用于安全任务和非安全任务之间的通信,隔离空间设置为仅限于隔离空间对应的任务进行访问。根据本专利技术实施例的另一方面,还提供了一种多任务隔离装置,包括:划分模块,用于根据预设规则将多个任务进行划分,得到安全任务和非安全任务;配置模块,用于至少配置一个共享内存以及为多个任务中每个任务配置对应的隔离空间,其中,共享内存设置为用于安全任务和非安全任务之间的通信,隔离空间设置为仅限于隔离空间对应的任务进行访问。在本专利技术实施例中,首先根据预设规则将多个任务进行划分,得到安全任务和非安全任务,然后至少配置一个共享内存以及为多个任务中每个任务配置对应的隔离空间,其中,共享内存设置为用于安全任务和非安全任务之间的通信,隔离空间设置为仅限于隔离空间对应的任务进行访问,达到了将多个任务互相隔离的目的,在将安全任务和非安全任务进行空间隔离的同时还保证了任务之间的相互通信,从而实现了避免非安全任务对安全任务产生影响,简单易操作的技术效果,进而解决了现有技术中多个任务同时运行时,非安全任务的异常会对安全任务产生影响的技术问题。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的一种多任务隔离方法的示意图;图2是根据本专利技术实施例的一种可选的多任务隔离方法的示意图;图3是根据本专利技术实施例的一种可选的多任务隔离方法的示意图;图4是根据本专利技术实施例的一种可选的多任务隔离方法的示意图;图5是根据本专利技术实施例的一种可选的多任务隔离方法的示意图;图6是根据本专利技术实施例的一种可选的多任务隔离方法的示意图;图7是根据本专利技术实施例的一种多任务隔离装置的示意图;图8是根据本专利技术实施例的一种可选的多任务隔离装置的示意图;以及图9是根据本专利技术实施例的一种可选的多任务隔离装置的示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。实施例1根据本专利技术实施例,提供了一种多任务隔离方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1是根据本专利技术实施例的多任务隔离方法,如图1所示,该方法包括如下步骤:步骤S102,根据预设规则将多个任务进行划分,得到安全任务和非安全任务。具体的,预设规则为预先自定义任务的重要性的规则,PLC控制器中包含多种类型的任务,可以按照预先设定的规则将任务分为安全任务和非安全任务,例如,可以将控制任务划分为安全任务,将人机接口相关的任务划分为非安全任务。可选的,界定安全任务和非安全任务的原则可以是某个任务执行异常是否会导致系统发生危险,例如,一个用于将数值输出进行变换的任务,如果其发生异常,那么将无法变换数值或者变换后的数值出错,将该数值输出到执行机构,就可能发生危险,则该任务就被界定为安全任务。可选的,可以预设记录下哪些任务属于安全任务,哪些任务属于非安全任务,当运行一个任务时,经过比对很容易识别该任务是安全任务还是非安全任务。此处需要说明的是,非安全任务并不是不安全的任务,而是易发生安全风险的任务或者重要性较低的任务。步骤S104,至少配置一个共享内存以及为多个任务中每个任务配置对应的隔离空间,其中,共享内存设置为用于安全任务和非安全任务之间的通信,隔离空间设置为仅限于隔离空间对应的任务进行访问。具体的,设置隔离空间可以将多个任务进行空间隔离,这样在非安全任务出现异常的时候就不会影响安全任务。在一种可选的实施例中,任务的空间隔离可以应用在SafeRTOS以及一部分RTOS中,具体表现可以为,当一个任务A访问另一个任务B的空间时(即:不属于任务A的空间),OS以及在其他硬件的配合下,会捕获到任务A的行为,进而阻止任务A对任务B的空间的访问,从而达到了保护任务的目的,实现空间隔离。具体的,设置共享内存可以用于安全任务和非安全任务之间的通信。此处需要说明的是,本专利技术实施例中的共享内存除了主要用于安全任务和非安全任务之间的通信之外,也可以用于安全任务之间的通信以及非安全任务之间的通信,除此之外,安全任务之间的通信以及非安全任务之间的通信还可以通过信号量、邮箱等方式进行通信。在本专利技术实施例中,首先根据预设规则将多个任务进行划分,得到安全任务和非安全任务,然后至少配置一个共享内存以及为多个任务中每个任务配置对应的隔离空间,其中,共享内存设置为用于安全任务和非安全任务之间的通信,隔离空间设置为仅限于隔离空间对应的任务进行访问,达到了将多个任务互相隔离的目的,在将安全任务和非安全任务进行空间隔离的同时还保证了任务之间的相互通信,从而实现了避免非安全任务对安全任务产生影本文档来自技高网
...
多任务隔离方法和装置

【技术保护点】
一种多任务隔离方法,其特征在于,包括:根据预设规则将多个任务进行划分,得到安全任务和非安全任务;至少配置一个共享内存以及为所述多个任务中每个任务配置对应的隔离空间,其中,所述共享内存设置为用于所述安全任务和非安全任务之间的通信,所述隔离空间设置为仅限于所述隔离空间对应的任务进行访问。

【技术特征摘要】
1.一种多任务隔离方法,其特征在于,包括:根据预设规则将多个任务进行划分,得到安全任务和非安全任务;至少配置一个共享内存以及为所述多个任务中每个任务配置对应的隔离空间,其中,所述共享内存设置为用于所述安全任务和非安全任务之间的通信,所述隔离空间设置为仅限于所述隔离空间对应的任务进行访问。2.根据权利要求1所述的方法,其特征在于,至少配置一个共享内存以及为所述多个任务中每个任务配置对应的隔离空间之后,所述方法还包括:确定所述多个任务中每个任务的每一次执行是否欠运行或者过运行。3.根据权利要求2所述的方法,其特征在于,确定所述多个任务中每个任务的每一次执行是否欠运行或者过运行,包括:在当前执行的前一次执行结束时启动第一定时器和第二定时器,其中,所述第一定时器的第一定时时长大于所述第二定时器的第二定时时长;在所述第一定时器达到所述第一定时时长时,记录第一标识,在所述第二定时器达到所述第二定时时长时,记录第二标识;在所述当前执行结束时,确定所述当前执行的标识记录情况,若所述第一标识已记录,所述第二标识未记录,则确定所述当前执行正常,若所述第一标识和所述第二标识均已记录,则确定所述当前执行为过运行,若所述第一标识未记录,则确定所述当前执行为欠运行。4.根据权利要求1-3任一项所述的方法,其特征在于,所述隔离空间包括如下至少之一:静态变量、数组和设备寄存器。5.根据权利要求1-3任一项所述的方法,其特征在于,所述多个任务在SafeRTOS操作系统上运行,其中,至少配置一个共享内存以及为所述多个任务中每个任务配置对应的隔离空间还包括:配置所述操作系统的栈和代码以及所述多个任务的栈和代码。...

【专利技术属性】
技术研发人员:宋晋泉王玥高明
申请(专利权)人:北京龙鼎源科技股份有限公司
类型:发明
国别省市:北京,11

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

1