发明名称 | 一种非实时操作系统的并发过程处理方法 | ||
摘要 | 本发明涉及一种非实时操作系统的并发过程处理方法,能够保证多个过程并发运行时各个过程相对独立的运行,避免相互之间的影响。其包括,用于建立并启动多个控制过程的步骤;用于分别对多个控制过程进行分块的步骤,每个控制过程经过分块后产生若干个子块;用于设置调度进程的步骤其中,设置调度进程中系统基础运行的时钟节拍,每个子块的运行时间均小于时钟节拍的长短;为每个控制过程设置一个状态机,一个节拍延时变量和布尔变量;用于根据调度进程同时执行多个控制过程的步骤其中,调度的执行以时钟节拍为基础,每隔一个时钟节拍,系统都会给调度进程发送一个消息通知调度进程执行调度动作;当所有子块都被调度执行后,完成多个控制过程的执行。 | ||
申请公布号 | CN103345426B | 申请公布日期 | 2016.05.11 |
申请号 | CN201310260279.2 | 申请日期 | 2013.06.26 |
申请人 | 中国航天科技集团公司第九研究院第七七一研究所 | 发明人 | 徐宏坤;李伟 |
分类号 | G06F9/48(2006.01)I | 主分类号 | G06F9/48(2006.01)I |
代理机构 | 西安通大专利代理有限责任公司 61200 | 代理人 | 蔡和平 |
主权项 | 一种非实时操作系统的并发过程处理方法,其特征在于,包括:用于建立并启动多个控制过程的步骤;用于分别对多个控制过程进行分块的步骤,每个控制过程经过分块后产生若干个子块;用于设置调度进程的步骤;其中,设置调度进程中系统基础运行的时钟节拍,每个子块的运行时间均小于时钟节拍的长短;为每个控制过程设置一个状态机,一个节拍延时变量和布尔变量;状态机用于将调度执行的子块和状态机的每个状态相对应,节拍延时变量用于存储要调度该控制过程需要等待的时钟节拍数,布尔变量用于表明该控制过程是否被已经被调度执行;用于根据调度进程同时执行多个控制过程的步骤;其中,调度的执行以时钟节拍为基础,每隔一个时钟节拍,系统都会给调度进程发送一个消息通知调度进程执行调度动作;调度动作时,先检查每个布尔变量为未调度的控制过程对应的节拍延时变量,当节拍延时变量不为零时,进行减一操作,然后去检查其它节拍延时变量,直至所有控制过程所对应的节拍延时变量检查完毕,完成本次调度活动;当子块的节拍延时变量为零时,调度执行对应控制过程的状态机,执行状态对应的子块,完成后将该控制过程对应的布尔变量设置为已调度;当所有子块都被调度执行后,完成多个控制过程的执行。 | ||
地址 | 710005 陕西省西安市太乙路8号 |