一种任务运行方法及装置、计算机可读存储介质制造方法及图纸

技术编号:22658544 阅读:46 留言:0更新日期:2019-11-28 03:16
本申请公开了一种任务运行方法及装置、计算机可读存储介质,所述方法包括:生成一个或多个任务,为任务分配资源及确定资源的访问权限;运行任务,所述任务运行在用户态,并通过系统调用进入内核态,在内核态通过系统提供的组态任务接口访问系统资源或进行任务间交互处理。本申请通过为任务分配资源及确定资源的访问权限,并通过系统调用访问系统资源或进行任务间交互处理,保证了任务运行的安全,提高了任务运行的可靠性。

A task operation method and device, computer readable storage medium

The application discloses a task operation method and device, and a computer-readable storage medium. The method includes: generating one or more tasks, assigning resources to tasks and determining access rights of resources; running tasks, the tasks run in user state, enter into kernel state through system call, and access system resources through configuration task interface provided by the system in kernel state or Carry out inter task interaction processing. The application ensures the security of task operation and improves the reliability of task operation by assigning resources to tasks and determining the access rights of resources, accessing system resources through system calls or conducting interactive processing between tasks.

【技术实现步骤摘要】
一种任务运行方法及装置、计算机可读存储介质
本专利技术实施例涉及但不限于工业控制系统
,尤其涉及一种任务运行方法及装置、计算机可读存储介质。
技术介绍
工业控制系统越来越多的采取高性能的处理器,来对采集的数据进行运算。如何保证所运行任务的安全性是需要重点考虑的一个因素。目前,市场上的工业控制系统的产品的实现,对于任务的处理,多采用由系统来分配每个任务的运行权限,对运行中的任务的访问权限的保护,有些为了实现方便,采用实模式方式运行,有些多个任务运行在一个地址空间内,这样的系统,任务之间可能存在数据或指令访问越界从而给任务的安全运行带来风险。
技术实现思路
本专利技术实施例提供了一种任务运行方法及装置、计算机可读存储介质,能够提高任务运行的可靠性。本专利技术实施例的技术方案是这样实现的:第一方面,本专利技术实施例提供了一种任务运行方法,包括:生成一个或多个任务,为任务分配资源及确定资源的访问权限;运行任务,所述任务运行在用户态,并通过系统调用进入内核态,在内核态通过系统提供的组态任务接口访问系统资源或进行任务间交互处理。在一种示例性实施例中,所述组态任务接口对系统资源访问权限进行安全性检查;所述组态任务接口对交互任务进行安全性检查。在一种示例性实施例中,所述任务为系统任务或组态任务,其中:所述组态任务通过如下方式生成:组态软件进行逻辑程序组态;组态软件通过下装操作将组态好的逻辑程序下载到控制器;控制器软件创建组态任务并将逻辑程序导入到组态任务中。在一种示例性实施例中,所述组态任务所分配到的资源及资源的访问权限包括:各个任务的私有代码段,访问权限为可执行、可读写;各个任务的私有常量数据段,访问权限为只读;各个任务的私有变量数据段,访问权限为可读写;所有任务的全局代码段,访问权限为可执行、可读写;所有任务的全局常量数据段,访问权限为只读;所有任务的全局变量数据段,访问权限为可读写;所有任务的控制器软件接口库,访问权限为可执行、可读写,所述控制器软件接口库为控制器软件运行提供接口调用功能;各个任务的栈,访问权限为可读写。在一种示例性实施例中,所述控制器软件接口库包括控制器软件接口库代码段、控制器软件接口库常量数据段以及控制器软件接口库变量数据段;所述组态任务通过调用所述控制器软件接口库代码段的内部函数,以系统调用的方式进入所述内核态。在一种示例性实施例中,所述组态软件在进行逻辑程序组态时,将逻辑程序划分为多个子逻辑程序;所述逻辑程序包含全局代码段、全局常量数据段和全局变量数据段;所述子逻辑程序包括私有代码段、私有常量数据段和私有变量数据段;每个子逻辑程序只可以访问自己的私有代码段、私有常量数据段以及私有变量数据段,不可以访问其他子逻辑程序的私有代码段、私有常量数据段以及私有变量数据段;每个子逻辑程序都可以访问全局代码段、全局常量数据段以及全局变量数据段;所述控制器软件创建组态任务时,一个子逻辑程序对应创建一个所述组态任务。在一种示例性实施例中,当所述任务为所述组态任务时,所述运行任务包括:对所述组态任务进行初始化;运行所述组态任务的入口函数;处理所述组态任务之外的其他任务发送给所述组态任务的消息;调用所述组态任务的所述子逻辑程序的入口函数,进行组态逻辑运算;发送运算结果数据到所述组态任务之外的其他任务。在一种示例性实施例中,所述对所述组态任务进行初始化,包括:为所述组态任务的所述子逻辑程序分配地址空间,加载所述组态任务的子逻辑程序并设置访问权限;为所述控制器软件接口库分配地址空间,加载所述控制器软件接口库到内存并设置访问权限;解析所述组态任务的子逻辑程序,重定位所述子逻辑程序的内部函数以及内部数据的地址,获取所述子逻辑程序的入口函数地址;解析所述控制器软件接口库,重定位所述控制器软件接口库的内部函数以及内部数据的地址,获取所述组态任务的入口函数地址;为所述组态任务分配栈地址空间。第二方面,本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如以上任一项所述的任务运行方法的步骤。第三方面,本专利技术实施例还提供了一种任务运行装置,包括处理器及存储器,其中:所述处理器用于执行存储器中存储的程序,以实现如以上任一项所述的任务运行方法的步骤。第四方面,本专利技术实施例还提供了一种任务运行装置,包括任务生成模块和任务运行模块,其中:任务生成模块,用于生成一个或多个任务,为任务分配资源及确定资源的访问权限;任务运行模块,用于运行任务,所述任务运行在用户态,并通过系统调用进入内核态,在内核态通过系统提供的组态任务接口访问系统资源或进行任务间交互处理。本专利技术实施例的技术方案,具有如下有益效果:本专利技术实施例提供的任务运行方法及装置、计算机可读存储介质,通过为任务分配资源及确定资源的访问权限,并通过系统调用访问系统资源或进行任务间交互处理,保证了任务运行的安全,提高了任务运行的可靠性。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术实施例的一种任务运行方法的流程示意图;图2为本专利技术实施例的一种组态软件和控制器软件的交互结构示意图;图3为本专利技术实施例的一种控制器中任务的资源和权限示意图;图4为本专利技术实施例的一种逻辑程序的组成结构示意图;图5为本专利技术实施例的一种控制器中任务的运行方式示意图;图6为本专利技术实施例的一种任务的交互流程示意图;图7为本专利技术实施例的一种任务的运行流程示意图;图8为本专利技术实施例的一种任务的初始化流程示意图;图9为本专利技术实施例的一种任务的地址空间示意图;图10为本专利技术实施例的一种任务运行装置的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。如图1所示,根据本专利技术实施例的一种任务运行方法,包括如下步骤:步骤101:生成一个或多个任务,为任务分配资源及确定资源的访问权限;在一种示例性实施例中,任务可以为系统任务或组态任务,其中:组态任务通过如下方式生成:组态软件进行逻辑程序组态;组态软件通过下装操作将组态好的逻辑程序下载到控制器;控制器软件创建组态任务并将逻辑程序导入到组态任务中。在本专利技术实施例中,系统任务指的是非组态软件通过下装操作下载到控制器中的任务。如图2所示,本文档来自技高网...

【技术保护点】
1.一种任务运行方法,其特征在于,包括:/n生成一个或多个任务,为任务分配资源及确定资源的访问权限;/n运行任务,所述任务运行在用户态,并通过系统调用进入内核态,在内核态通过系统提供的组态任务接口访问系统资源或进行任务间交互处理。/n

【技术特征摘要】
1.一种任务运行方法,其特征在于,包括:
生成一个或多个任务,为任务分配资源及确定资源的访问权限;
运行任务,所述任务运行在用户态,并通过系统调用进入内核态,在内核态通过系统提供的组态任务接口访问系统资源或进行任务间交互处理。


2.根据权利要求1所述的方法,其特征在于,
所述组态任务接口对系统资源访问权限进行安全性检查;
所述组态任务接口对交互任务进行安全性检查。


3.根据权利要求1所述的方法,其特征在于,所述任务为系统任务或组态任务,其中:所述组态任务通过如下方式生成:
组态软件进行逻辑程序组态;
组态软件通过下装操作将组态好的逻辑程序下载到控制器;
控制器软件创建组态任务并将逻辑程序导入到组态任务中。


4.根据权利要求3所述的方法,其特征在于,所述组态任务所分配到的资源及资源的访问权限包括:
各个任务的私有代码段,访问权限为可执行、可读写;
各个任务的私有常量数据段,访问权限为只读;
各个任务的私有变量数据段,访问权限为可读写;
所有任务的全局代码段,访问权限为可执行、可读写;
所有任务的全局常量数据段,访问权限为只读;
所有任务的全局变量数据段,访问权限为可读写;
所有任务的控制器软件接口库,访问权限为可执行、可读写,所述控制器软件接口库为控制器软件运行提供接口调用功能;
各个任务的栈,访问权限为可读写。


5.根据权利要求4所述的方法,其特征在于,
所述控制器软件接口库包括控制器软件接口库代码段、控制器软件接口库常量数据段以及控制器软件接口库变量数据段;
所述组态任务通过调用所述控制器软件接口库代码段的内部函数,以系统调用的方式进入所述内核态。


6.根据权利要求3所述的方法,其特征在于,
所述组态软件在进行逻辑程序组态时,将逻辑程序划分为多个子逻辑程序;
所述逻辑程序包含全局代码段、全局常量数据段和全局变量数据段;
所述子逻辑程序包括私有代码段、私有常量数据段和私有变量数据段;每个子逻辑程序只可以访问自己的私有代码段、私有常量数据段以及私有...

【专利技术属性】
技术研发人员:王全利
申请(专利权)人:北京和利时系统工程有限公司
类型:发明
国别省市:北京;11

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

1