什么是watchdog?看门狗watchdog是什么

1.什么是watchdog?

watchdog,中文名称叫做“看门狗”,全称watchdog timer,从字面上我们可以知道其实它属于一种定时器。然而它与我们平常所接触的定时器在作用上又有所不同。普通的定时器一般起记时作用,记时超时(Timer Out)则引起一个中断,例如触发一个系统时钟中断。熟悉windows开发的朋友应该用过windows的Timer,windows Timer的作用与方才所讨论的定时器在功能上是相同的,只是windows Timer属于软件定时器,当windows Timer记时超时则引起App向System发送一条消息从而触发某个事件的发生。我们从以上的描述可知不论软件定时器或硬件定时器他们的作用都是在某个时间点上引起一个事件的发生,对于硬件定时器来说这个事件可能是通过中断的形式得以表现,对于软件定时器,这个事件则可以是以系统消息的形式得以表现。正如本文开头所讲的,watchdog本质上是一种定时器,那么普通定时器所拥有的特征它也应该具备,是的,当它记时超时时也会引起事件的发生,只是这个事件除了可以是系统中断外,它也可以是一个系统重起信号(Reset Signal),可以这么说吧,能发送系统重起信号的定时器我们就叫它watchdog.

2.watchdog的工作描述

当一个硬件系统开启了watchdog 功能,那么运行在这个硬件系统之上的软件必须在规定的时间间隔内向watchdog发送一个信号.这个行为简称为喂狗(feed dog),以免watchdog记时超时引发系统重起。

3.watchdog存在的意义是什么?

你可能会问watchdog存在的意义是什么?开启了watchdog之后软件必须定时向它发信息,这不是麻烦又耗费资源的行为吗?其实这个行为很重要,这个行为是软件向硬件报告自身运行状态的一中手法。一个软件运行良好,那么它应该可以在规定的时间间隔内向watchdog发送信息,这等同于软件每隔一段时间就告诉硬件:“嘿,哥们,我在好好的跑着呢,你放心吧。”,若软件由于某个不当的操作而进入死循环(也就是俗称的死机),则他无法向watchdog发送信息了,watchdog将发生记时超时,从而引起硬件重起。如果没有watchdog的存在,程序已经死掉了,但我们的用户还一头雾水,以为系统正在进行大规模的运算而进行耐心的等待。。。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查