[发明专利]一种非实时操作系统的并发过程处理方法有效
申请号: | 201310260279.2 | 申请日: | 2013-06-26 |
公开(公告)号: | CN103345426A | 公开(公告)日: | 2013-10-09 |
发明(设计)人: | 徐宏坤;李伟 | 申请(专利权)人: | 中国航天科技集团公司第九研究院第七七一研究所 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 蔡和平 |
地址: | 710005*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实时 操作系统 并发 过程 处理 方法 | ||
技术领域
本发明涉及通讯控制技术领域,具体涉及一种非实时操作系统的并发过程处理方法。
背景技术
工业过程控制中有时需要由一台计算机对多个生产过程进行控制,每个过程都有其自己特定的运行时序和计算工作。这时对控制计算机系统的基本要求是当新的过程控制任务加入到已经运行的计算机系统时,不应对已有的正在控制过程产生影响,尤其是不能对已经运行的控制过程计算、定时和时序产生影响。
在Windows系统中当用线程实现每个过程控制任务时,当新的任务投入运行时,常常会对已有的过程任务产生很大的影响,致使整个控制过程产生混乱。
发明内容
本发明解决的问题在于提供一种非实时操作系统的并发过程处理方法,能够保证多个过程并发运行时各个过程相对独立的运行,避免了相互之间的影响。
本发明是通过以下技术方案来实现:
一种非实时操作系统的并发过程处理方法,其特征在于,包括:
用于建立并启动多个控制过程的步骤;
用于分别对多个控制过程进行分块的步骤,每个控制过程经过分块后产生若干个子块;
用于设置调度进程的步骤;其中,设置调度进程中系统基础运行的时钟节拍,每个子块的运行时间均小于时钟节拍的长短;为每个控制过程设置一个状态机,一个节拍延时变量和布尔变量;状态机用于将调度执行的子块和状态机的每个状态相对应,节拍延时变量用于存储要调度该控制过程需要等待的时钟节拍数,布尔变量用于表明该控制过程是否被已经被调度执行;
用于根据调度进程同时执行多个控制过程的步骤;其中,调度的执行以时钟节拍为基础,每隔一个时钟节拍,系统都会给调度进程发送一个消息通知调度进程执行调度动作;调度动作时,先检查每个布尔变量为未调度的控制过程对应的节拍延时变量,当节拍延时变量不为零时,进行减一操作,然后去检查其它节拍延时变量,直至所有控制过程所对应的节拍延时变量检查完毕,完成本次调度活动;当子块的节拍延时变量为零时,调度执行对应控制过程的状态机,执行状态对应的子块,完成后将该控制过程对应的布尔变量设置为已调度;当所有子块都被调度执行后,完成多个控制过程的执行。
优选的,所述的时钟节拍的长短小于调度过程的最小时间延迟。
优选的,所述的时钟节拍采用非实时操作系统中的时间消息机制。
优选的,所述的节拍延时变量在每个控制过程进行调度执行时,初始值设置为零。
优选的,所述的节拍延时变量在前一个执行的子块的调度动作完毕时进行设置。
优选的,所述的状态机当每次子块投入调度时均初始化为初始状态,每次调度执行都确定下一次的调度状态,状态机能够保存各自的执行状态,当新的调度动作到来时确保能够衔接上一次往下执行。
与现有技术相比,本发明具有以下有益的技术效果:
通过将多个控制过程分别进行按时间特性的分块,从而使得每个子块的运行时间都小于时钟节拍的长短,因此其相对于过程运行时间很短,任何一个子块的调度与否对系统的影响都可以忽略不计,配合多个参数的标定,能够准确迅速的对所需要执行的子块调用并进行处理,同时由对应的状态机进行执行,因此避免了当新控制过程的加入对原有控制过程的干扰,提高了系统对多个控制过程执行的稳定性,保证了控制过程的稳定和流畅。
附图说明
图1为实例中对于控制过程P和Q的分块处理的流程图。
图2为实例中调度进程同时执行控制过程P和Q的伪代码。
图3为实例中调度进程同时执行多个控制过程的流程图。
具体实施方式
下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
本发明非实时操作系统的并发过程处理方法,其包括:
用于建立并启动多个控制过程的步骤;
用于分别对多个控制过程进行分块的步骤,每个控制过程经过分块后产生若干个子块;
用于设置调度进程的步骤;其中,设置调度进程中系统基础运行的时钟节拍,每个子块的运行时间均小于时钟节拍的长短;为每个控制过程设置一个状态机,一个节拍延时变量和布尔变量;状态机用于将调度执行的子块和状态机的每个状态相对应,节拍延时变量用于存储要调度该控制过程需要等待的时钟节拍数,布尔变量用于表明该控制过程是否被已经被调度执行;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航天科技集团公司第九研究院第七七一研究所,未经中国航天科技集团公司第九研究院第七七一研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310260279.2/2.html,转载请声明来源钻瓜专利网。