专利名称:一种对多个进程系统进行监控的看门狗实现方法及系统的制作方法
技术领域:
本发明涉及多进程系统的实时监控领域,特别涉及到EPON网络终端设备中对操作系统层和应用层的程序的监控功能,用软硬件结合的方法来以保证系统的可靠性和稳定性。
背景技术:
以太网无源光网络(EthernetPassive Optical Network , EPON)继承了以太网的可扩展性强、对IP数据业务适配效率高等优点,同时支持高速Internet接入、语音、 IPTV、TDM专线甚至CATV等多种业务综合接入,并具有很好的QoS保证和组播业务支持能力,是目前建设高质量接入网的重要备选技术之一。目前现有的以太网无源光网络中(EPON)主要由光网络终端(optical line terminal,0LT)和光网络单兀(Optical NetworkUnit,0NU),以及之间连接的光纤组成的网络。光线路终端(OLT)通过“操作管理和维护协议(Operation Administration and Maintenance Protocol, 0AM 协议)”,对光网络单兀(ONU)进行远程的操作维护和管理。同时方便管理员的操作,EPON网络中还采用终端综合管理系统(Information Technology for Manufacturing Systems ITMS)通过 TR069 协议来管理网络终端设备。在网络终端设备中,为了保证系统的稳定性和系统的安全性,往往都需要对系统中的多个进程和操作系统内核层进行监控。在操作系统崩溃、应用层进程发生异常以及硬件发生异常时,往往都要通过设置看门狗模块使系统复位。现有的看门狗实现方法往往只能监控单一的系统进程,并且喂狗(给“看门狗”电路进行复位为“喂狗”)时间有比较严格的硬件限制。详细说明如下
看门狗电路其实就是一个计数器。当看门狗启动后,计数器开始自动计数,经过一定时间计数器溢出就会对CPU产生一个复位信号使系统重启。系统正常运行时,需要在看门狗允许的时间间隔内对看门狗计数器清零也即喂狗,不让复位信号产生。目前常用的硬件看门狗电路一般只能保持的在I. 6S的持续电平时间,保证在每个I. 6S内系统要给看门狗计数器清零,否则就会导致ONU复位。如果仅仅是一个单进程的系统,系统在1.6s的时间内给看门狗电路喂狗完全可行的。但是对于一个有操作系统的、能够执行多进程、多任务的比较复杂的系统来说,需要监控多个进程,并且每个进程比较复杂,执行时间过长,往往都不能规定的时间内完成喂狗动作,这样就导致系统在没有出现异常的情况也发生复位,导致系统频繁的重启,也就失去了监控应用层进程运行的状态的功能。
发明内容
为解决目前比较复杂的系统需要监控多个进程,并且每个进程比较复杂,执行时间过长,往往都不能规定的时间内完成喂狗动作,这样就导致系统在没有出现异常的情况也发生复位,导致系统频繁的重启,也就失去了监控应用层进程运行的状态的功能的不足,提供一种对多个进程系统进行监控的看门狗实现方法。
本发明为了完成其技术目的所采用的技术方案是一种对多个进程系统进行监控的看门狗实现方法,包括以下步骤
步骤A、应用层的主程序启动一个控制进程,对看门狗硬件电路的进行初始化,使能看门狗硬件电路;
步骤B、所述的控制进程开启一个周期性的喂狗线程,周期性地给所述的看门狗硬件电路进行复位;
步骤C、所述的控制进程接受其他被监控进程的注册,记录被监控进程的名单;
步骤D、所述的控制进程给每一个注册过的被监控进程设置定时器,每个被监控进程会在设定的时间内对定时器时间清零;当任何一个被监控进程没有在规定时间内完成其对应的定时器的清零动作,所述的控制进程强制使所述的周期性喂狗线程退出。本发明能够在既监控操作系统内核的同时,又能够很好的监控应用程序,提高系统的稳定和可靠性。同现有的技术相比,本发明的可以通过设定定时器时间的长短从而控制喂狗线程是否喂狗,从而间接设定了看门狗硬件电路的喂狗时间,从而可以保证应用程序有足够的时间来间接给硬件看门喂狗,同时在应用程序发生故障并且超出定时器的设定的时间,喂狗线程无法喂狗,也就导致看门狗电路超时复位。由于本发明就普遍的适用性,可以广泛的应用各种比较复杂嵌入式系统设备中。下面通过结合具体实施例和附图对本发明进行进一步的说明。
附图I是本发明整体框图。附图2是本发明的多进程具体喂狗功能的实现流程图。
具体实施例方式如图I所示,本实施例是一种应用于OLT上的对多进程监控看门狗的实现方法,光线路终端(OLT)通过“操作管理和维护协议(Operation Administration and MaintenanceProtocol, 0AM协议)”,对光网络单元(ONU)进行远程的操作维护和管理。同时方便管理员的操作,EPON网络中还采用终端综合管理系统(ITMS)通过TR069协议来管理网络终端设备。参看图I是本系统的整体框架图,本发明是了解决在ONU设备中监控应用层程序,受看门狗硬件设备的喂狗时间限制和应用层程序自身的执行比较长和容易阻塞等特点,提出一种全新解决方法,如图2所示,是本系统的多进程具体喂狗功能的实现流程 1)系统上电后处理器(CPU)从复位地址,开始运行启动代码(bootloader),启动代码是嵌入式系统加电后首先运行的一段程序。其主要任务是初始化硬件设备、建立内存空间的映射,将系统的软硬件环境设定在一个合适的状态。把程序镜像(image)从ROM或是flash中拷贝到RAM中,然后调用内核。内核启动完毕后就是创建根文件系统,用户空间所有的操作都是依赖于根文件系统。根文件系统完成后就开始启动应用层的进程;
2)首先应用层的主程序启动一个控制进程,控制进程主要完成;
a)看门狗硬件电路的初始化,使能看门狗硬件电路;
b)开启一个周期性的喂狗线程,喂狗周期要小于看门狗硬件电路持续电平时间,不断的周期性给看门狗硬件电路喂狗;
C)接受其他被监控进程的注册,记录被监控进程的名单;
d)控制进程给每一个注册过的被监控进程设置定时器,每个被监控进程会在设定的时间内对定时器时间清零。如果有其中一个被监控进程没有在规定时间内完成其对应的定时器的清零动作,就会导致控制进程强制使周期性喂狗线程退出,从而硬件看门狗电路没有喂狗,也就导致系统的复位重启。本系统中每一个被监控进程会在启动的过程中主动向控制进程注册,同时设定本进程的超时复位时间。本进程在运行的过程中会在 规定时间内把控制进程中的定时器清零。如果本进程发生异常或是故障将无法在规定的时间内清零定时器,从而导致系统复位重启。总之,本发明的方法可以同时对多个应用层进程进行比较灵活的监控,并且能够比较灵活的设定看门狗的超时时间。解决了传统的看门狗只能对单一的进程监控,同是对看门狗的喂狗时间也比较严格的问题,能够广泛的应用于比较复杂的嵌入式系统设备中。
权利要求
1. 一种对多个进程系统进行监控的看门狗实现方法,其特征在于包括以下步骤步骤A、应用层的主程序启动一个控制进程,对看门狗硬件电路的进行初始化,使能看门狗硬件电路; 步骤B、所述的控制进程开启一个周期性的喂狗线程,周期性地给所述的看门狗硬件电路进行复位; 步骤C、所述的控制进程接受其他被监控进程的注册,记录被监控进程的名单; 步骤D、所述的控制进程给每一个注册过的被监控进程设置定时器,每个被监控进程会在设定的时间内对定时器时间清零;当任何一个被监控进程没有在规定时间内完成其对应的定时器的清零动作,所述的控制进程强制使所述的周期性喂狗线程退出。
全文摘要
本发明提供了一种对多个进程系统进行监控的看门狗实现方法,包括应用层的主程序启动一个控制进程,对看门狗硬件电路的进行初始化,使能看门狗硬件电路;并周期性地给所述的看门狗硬件电路进行复位;同时给被监控进程设置定时器,当任何一个被监控进程没有在规定时间内完成其对应的定时器的清零动作,所述的控制进程强制使所述的周期性喂狗线程退出。本发明能够在既监控操作系统内核的同时,又能够很好的监控应用程序,提高系统的稳定和可靠性。
文档编号G06F11/00GK102736958SQ20121017271
公开日2012年10月17日 申请日期2012年5月30日 优先权日2012年5月30日
发明者姚敏, 王志波, 邓永坚, 郭小东 申请人:深圳市共进电子股份有限公司