操作系统内核级实时看门狗监控装置及其监控方法

文档序号:6598203阅读:169来源:国知局
专利名称:操作系统内核级实时看门狗监控装置及其监控方法
技术领域
本发明属于嵌入式系统的应用程序监控技术领域,具体涉及一种基于嵌入式系统内核驱动程序的实现以及监控应用程序的方法,尤其是一种利用内核看门狗(Watchdog)来监控应用程序的方法。
背景技术
近年来随着各个行业信息化的持续深入,嵌入式系统、因其可定制性已广泛应用于网络通信、消费电子、制造、工业控制、安防系统等多个领域。 为了适应软件日益增长的功能密度,应用程序的数量必定越来越大,给系统的可靠性带来诸多不稳定因素,再因嵌入式系统软件本身特性,经过长时间的运行,可能有应用程序会出现些问题,激烈的市场竞争,都要求我们必须、及时的生产出满足市场需求的高可靠性的产品,来抢占市场。而软件产品的高可靠性的基石是要有一个实时性高的手段来监控各个应用程序的运行状态。 但是由于使用了集成度更高,频率更快,应用程序的功能及数量更大的系统,对应用程序的监控就更加复杂。目前现有技术进行监控应用程序的方法通常是使用专门的应用程序来监控其他应用程序,其优点在于专用程序与应用程序都处于应用层,实现起来简单方便。但不可忽视的缺点是其实时性较差。

发明内容
本发明目的在于提供一种操作系统内核级实时看门狗监控装置,解决了现有技术中监控应用程序时实时性较差等问题。 为了解决现有技术中的这些问题,本发明提供的技术方案是 —种操作系统内核级实时看门狗监控装置,包括看门狗模块,其特征在于所述看门狗模块设置在系统内核内,且通过内核级驱动对应用程序进行注册、取消注册和复位操作,所述内核看门狗模块至少包括 定时器模块,所述定时器模块用于当定时器内规定时间轮转到后进行检测每个已注册的应用程序是否超时,当已注册的应用程序超时时所述看门狗模块启动复位模块进行操作系统复位操作;当已注册的应用程序未超时时定时器模块规定时间继续轮转;当定时器内规定时间未轮转到时,所述看门狗模块根据应用程序的执行启动注册模块或取消注册模块或复位模块进行相应操作; 注册模块,当有应用程序请求注册时,接受应用程序的注册; 取消注册模块,当有已注册应用程序请求取消注册时,接受取消注册已注册应用程序; 复位模块,用于接受复位信号,重启操作系统进行复位。 优选的,所述操作系统内核内嵌入看门狗驱动,当操作系统启动时,操作系统内核启动注册看门狗驱动运行看门狗模块。
优选的,所述看门狗模块内设置应用程序动态链表,当注册模块进行应用程序注 册时,所述动态链表增加应用程序的节点;当取消注册模块进行取消注册操作时,所述动态 链表删除请求取消注册的应用程序节点;当复位模块进行复位操作时,对活动链表中该应 用程序的复位时间进行清零操作。 优选的,所述定时器模块的规定时间由应用程序规定,当应用程序未规定时,通过 操作系统内核或CPU指定定时器的固定时间片。 本发明的另一目的在于提供一种操作系统内核级实时看门狗监控方法,其特征在 于所述方法包括以下步骤 (1)看门狗模块内定时器模块检查规定时间轮转的状态,当规定时间未超时时进 行步骤(2);当规定时间超时时进行步骤(3); (2)看门狗模块中注册模块响应应用程序的注册操作;复位模块响应应用程序的 复位操作;取消注册模块响应已注册的应用程序的取消注册操作; (3)当已注册的应用程序超时时看门狗模块启动复位模块进行操作系统复位操 作;当已注册的应用程序未超时时定时器模块规定时间继续轮转循环。 优选的,所述方法还包括在步骤(1)前进行启动操作系统,进行注册看门狗模块 驱动的步骤。 优选的,所述方法步骤(2)中当应用程序请求复位看门狗信号,复位模块接受复 位信号,重启操作系统进行复位。 优选的,所述操作系统为嵌入式li皿x系统。 本发明设计了一种操作系统内核级Watchdog监控应用程序的方法,在操作系统
内核内增加了内核看门狗Watchdog模块,借助操作系统内核Watchdog接收应用程序的注
册、复位Watchdog和取消注册,进而实现对应用程序的监控的过程,通过运行在内核态的
驱动来完成对应用程序的实时监控,操作简单,而且解决了现有技术中使用专用应用程序
监控应用程序实时性差的技术问题。 相对于现有技术中的方案,本发明的优点是 1.本发明的操作系统内核级实时看门狗监控装置通过在操作系统内核模块中设 置看门狗Watchdog模块,实现内核级启动看门狗,操作简单,同时又满足复杂系统功能实 时性的要求,为产品的高可靠性提供好的保障。 2、本发明中通过看门狗模块Watchdog驱动响应应用程序的注册、复位Watchdog 和取消注册,应用程序可以灵活地注册和取消注册,而不受应用程序的具体功能、注册和取 消注册发生的时间、被监控的应用程序数量的限制。 3、本发明技术方案中由于看门狗模块处于内核态,能够实时地被调度,从而实时 监测每个已经注册的应用程序对Watchdog的复位情况;同时可以保证如果有应用程序超 时复位Watchdog,系统会被及时重启。


下面结合附图及实施例对本发明作进一步描述 图1为本发明实施例操作系统内核级实时看门狗监控方法的流程图。
具体实施例方式以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明 本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做 进一步调整,未注明的实施条件通常为常规实验中的条件。
实施例操作系统内核级实时看门狗监控装置及其监控方法 在本实施例中,该操作系统内核级实时看门狗监控装置应用于嵌入式li皿x系 统,为了实现实时监控应用程序。该装置包括看门狗模块,所述看门狗模块设置在系统内核 内,所述操作系统内核kernel内嵌入看门狗驱动,当操作系统启动时,操作系统内核启动 注册看门狗驱动运行看门狗模块。
内核看门狗模块包括 定时器模块,所述定时器模块用于当定时器内规定时间轮转到后进行检测每个已
注册的应用程序是否超时,当已注册的应用程序超时时所述看门狗模块启动复位模块进行
操作系统复位操作;当已注册的应用程序未超时时定时器模块规定时间继续轮转;当定时
器内规定时间未轮转到时,所述看门狗模块根据应用程序的执行启动注册模块或取消注册
模块或复位模块进行相应操作;定时器模块的规定时间由应用程序规定,当应用程序未规
定时,通过操作系统内核或CPU指定定时器的固定时间片。 注册模块,当有应用程序请求注册时,接受应用程序的注册; 取消注册模块,当有已注册应用程序请求取消注册时,接受取消注册已注册应用 程序; 复位模块,用于接受复位信号,重启操作系统进行复位。 操作系统通过内核级驱动对应用程序进行注册、取消注册和复位操作,由于所述 看门狗模块内设置应用程序动态链表,当注册模块进行应用程序注册时,所述动态链表增 加应用程序的节点;当取消注册模块进行取消注册操作时,所述动态链表删除请求取消注 册的应用程序节点;当复位模块进行复位操作时,对动态链表进行清零操作。
看门狗可以是集成电路芯片IC,该IC的输出脚与CPU的复位信号输入脚相连,输 入脚与CPU的一个GPIO相连,CPU上运行的看门狗模块会循环向GPIO输出脉冲信号复位 看门狗。看门狗模块处于内核KERNEL中,它可以定时输出复位信号到看门狗,接收来自应 用程序的注册,取消注册和应用程序发送来的复位看门狗信号。 当进行应用程序注册时,看门狗模块的活动链表接受应用程序的进程PID以及复 位时间,当然不同的应用程序其复位时间可能有所不同。复位时间传递给看门狗模块的定 时器模块,当应用程序没有复位时间时,操作系统或CPU提供给定时器模块一个复位时间 (时间片)。取消注册时,看门狗模块中活动链表中删除该应用程序的进程PID以及复位时 间。复位操作时,对该应用程序的复位时间进行清零。这里活动链表中节点的数据结构可 以只包括进程ID和复位时间,也可以包括其他数据。 如图l,该装置进行监控操作时,该装置可以按照如下步骤进行 首先给设备上电,进入Bootloader启动操作系统,加载操作系统内核kernel,进
行注册看门狗模块驱动开始运行看门狗。 然后,看门狗模块内定时器模块检查规定时间轮转的状态,当规定时间未超时时; 看门狗模块中注册模块响应应用程序的注册操作;复位模块响应应用程序的复位操作;取消注册模块响应已注册的应用程序的取消注册操作;当规定时间超时时且当已注册的应用 程序超时时看门狗模块启动复位模块进行操作系统复位操作;当已注册的应用程序未超时 时定时器模块规定时间继续轮转循环。当应用程序请求复位看门狗信号,复位模块接受复 位信号,重启操作系统进行复位重启。 操作系统启动过程中,可以注册一个看门狗Watchdog驱动从而运行看门狗;看 门狗Watchdog模块驱动响应应用程序的注册、复位看门狗Watchdog和取消注册;看门狗 Watchdog模块的定时器在每次定时时间到,检测每个已经注册的应用程序对Watchdog的 复位情况;如果有应用程序对Watchdog的未复位时间超出了注册时给定的复位时间限制, 那么Watchdog执行系统重启命令。当应用程序取消注册后,其相关信息从驱动模块中清 除。而定时器可以通过借助内核定时器实现来对已经注册的应用程序进行Watchdog复位 情况的检测。当有应用程序对Watchdog的复位时间超出了注册时给定的时间限制,借助系 统重启命令实现系统重启。 本发明在具体使用时,首先要在内核启动时注册一个Watchdog驱动模块,并开启 一个定时器,为应用程序提供注册、取消注册和复位Watchdog的接口 ,接受应用程序的注 册、取消注册和复位Watchdog,以及定时检测各个已经注册的应用程序对Watchdog的复位 情况,如果有应用程序超时复位Watchdog的,那么就重启系统。 根本本实施例的方案,借助操作系统内核Watchdog驱动模块接收应用程序的注
册和取消注册,以及定时检测各个已经注册的应用程序的复位Watchdog的情况,进而实现
实时监控合法注册的应用程序,可以为功能复杂,应用程序多的系统的可靠性提供好的保
障,实现简单,实时性,稳定性好,同时操作系统内核Watchdog响应应用程序注册和取消注
册非常灵活,可以实时地监控应用程序和重启系统,实现代码维护方便。 上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是
能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精
神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
权利要求
一种操作系统内核级实时看门狗监控装置,包括看门狗模块,其特征在于所述看门狗模块设置在系统内核内,且通过内核级驱动对应用程序进行注册、取消注册和复位操作,所述内核看门狗模块至少包括定时器模块,所述定时器模块用于当定时器内规定时间轮转到后进行检测每个已注册的应用程序是否超时,当已注册的应用程序超时时所述看门狗模块启动复位模块进行操作系统复位操作;当已注册的应用程序未超时时定时器模块规定时间继续轮转;当定时器内规定时间未轮转到时,所述看门狗模块根据应用程序的执行启动注册模块或取消注册模块或复位模块进行相应操作;注册模块,当有应用程序请求注册时,接受应用程序的注册;取消注册模块,当有已注册应用程序请求取消注册时,接受取消注册已注册应用程序;复位模块,用于接受复位信号,重启操作系统进行复位。
2. 根据权利要求1所述的操作系统内核级实时看门狗监控装置,其特征在于所述操作系统内核内嵌入看门狗驱动,当操作系统启动时,操作系统内核启动注册看门狗驱动运行看门狗模块。
3. 根据权利要求1所述的操作系统内核级实时看门狗监控装置,其特征在于所述看门狗模块内设置应用程序动态链表,当注册模块进行应用程序注册时,所述动态链表增加应用程序的节点;当取消注册模块进行取消注册操作时,所述动态链表删除请求取消注册的应用程序节点;当复位模块进行复位操作时,对动态链表中该应用程序的复位时间进行清零操作。
4. 根据权利要求1所述的操作系统内核级实时看门狗监控装置,其特征在于所述定时器模块的规定时间由应用程序规定,当应用程序未规定时,通过操作系统内核或CPU指定定时器的固定时间片。
5. —种操作系统内核级实时看门狗监控方法,其特征在于所述方法包括以下步骤(1) 看门狗模块内定时器模块检查规定时间轮转的状态,当规定时间未超时时进行步骤(2);当规定时间超时时进行步骤(3);(2) 看门狗模块中注册模块响应应用程序的注册操作;复位模块响应应用程序的复位操作;取消注册模块响应已注册的应用程序的取消注册操作;(3) 当已注册的应用程序超时时看门狗模块启动复位模块进行操作系统复位操作;当已注册的应用程序未超时时定时器模块规定时间继续轮转循环。
6. 根据权利要求5所述的方法,其特征在于所述方法还包括在步骤(1)前进行启动操作系统,进行注册看门狗模块驱动的步骤。
7. 根据权利要求5所述的方法,其特征在于所述方法步骤(2)中当应用程序请求复位看门狗信号,复位模块接受复位信号,重启操作系统进行复位。
8. 根据权利要求5所述的方法,其特征在于所述操作系统为嵌入式li皿x系统。
全文摘要
本发明公开了一种操作系统内核级实时看门狗监控装置,包括看门狗模块,其特征在于所述看门狗模块设置在系统内核内,且通过内核级驱动对应用程序进行注册、取消注册和复位操作,所述内核看门狗模块至少包括定时器模块,所述定时器模块用于当定时器内规定时间轮转到后进行检测每个已注册的应用程序是否超时,当已注册的应用程序超时时所述看门狗模块启动复位模块进行操作系统复位操作;当已注册的应用程序未超时时定时器模块规定时间继续轮转;当定时器内规定时间未轮转到时,所述看门狗模块根据应用程序的执行启动注册模块或取消注册模块或复位模块进行相应操作。该装置通过运行在内核态的驱动来完成对应用程序的实时监控,操作简单,实时性高。
文档编号G06F11/30GK101739305SQ201010110390
公开日2010年6月16日 申请日期2010年2月9日 优先权日2010年2月9日
发明者刘东明, 李承阳, 李新志 申请人:太仓市同维电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1