宝佳网

宝佳网

看门狗为什么叫看门狗,看门狗喂狗

admin

大家好,感谢邀请,今天来为大家分享一下看门狗为什么叫看门狗的问题,以及和看门狗喂狗的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

看门狗为什么叫看门狗,看门狗喂狗-第1张-狗狗相关-宝佳网

本文目录

  1. 看门狗英文是什么
  2. 游戏看门狗为什么叫“看门狗”
  3. 看门狗为啥叫看门狗游戏
  4. 谁能解释一下什么叫看门狗
  5. 看门狗游戏为什么叫看门狗
  6. 什么是看门狗
  7. 为什么现在的人喜欢叫保安为看门狗

看门狗英文是什么

看门狗英文:watchdog。

双语例句:

人们一般认为这种德国种短毛猎犬是一种攻击性的看门狗——事实却大不一样。

The popular view of the Dobermann is of an aggressive guard dog— the reality is very different.

偷袭者为了让看门狗不出声给它吃了东西。

The raiders fed the guard dog to keep it quiet.

置位时使能看门狗定时器复位功能。

When set enables a Watchdog timer reset.

看门狗守卫着主人的屋子。

A watchdog guards its master's house.

看门狗保护房子以防小偷。

游戏看门狗为什么叫“看门狗”

watchdog原为一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"。在游戏里芝加哥就比作单片机艾登则是监控一切的watch dog。

dog这个词在很多词组里不是贬义如lucky dog

看门狗为啥叫看门狗游戏

两种含义吧

第一种,看门狗字面理解可以当做自由卫士之类的,主角一个人追查害死侄女的凶手。

第二种,看门狗是单片机的内部保护程序,起到保护芯片程序的作用。和主角的骇客技术听上去也有点练习(其实专业说的话练习不大,不过听上去高大上)

再说你起名字肯定得起个好听点的,这年头叫什么黑客英雄,孤胆杀手之类的名字肯定是俗掉牙的,玩家也不会买账

谁能解释一下什么叫看门狗

看门狗分硬件看门狗和软件看门狗。硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),因此程序正常工作时,定时器总不能溢出,也就不能产生复位信号。如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。软件看门狗原理上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性方面不如硬件定时器,比如系统内部定时器自身发生故障就无法检测到。当然也有通过双定时器相互监视,这不仅加大系统开销,也不能解决全部问题,比如中断系统故障导致定时器中断失效。

看门狗本身不是用来解决系统出现的问题,在调试过程中发现的故障应该要查改设计本身的错误。加入看门狗目的是对一些程序潜在错误和恶劣环境干扰等因素导致系统死机而在无人干预情况下自动恢复系统正常工作状态。看门狗也不能完全避免故障造成的损失,毕竟从发现故障到系统复位恢复正常这段时间内怠工。同时一些系统也需要复位前保护现场数据,重启后恢复现场数据,这可能也需要一笔软硬件的开销。

图1:(a)多任务系统看门狗示意图;(b)相应的看门狗复位逻辑图。

在单任务系统中看门狗工作原理如上所述,容易实现。在多任务系统中情况稍为复杂。假如每个任务都像单任务系统那么做,如图1(a)所示,只要有一个任务正常工作并定期“喂狗”,看门狗定时器就不会溢出。除非所有的任务都故障,才能使得看门狗定时器溢出而复位,如图1(b)。

而往往我们需要的是只要有一个任务故障,系统就要求复位。或者选择几个关键的任务接受监视,只要一个任务出问题系统就要求复位,如图2(a)所示,相应的看门狗复位逻辑如图2(b)所示。

在多任务系统中通过创建一个监视任务TaskMonitor,它的优先级高于被监视的任务群Task1、Task2...Taskn。TaskMonitor在Task1~Taskn正常工作情况下,一定时间内对硬件看门狗定时器清零。如果被监视任务群有一个Task_x出现故障,TaskMonitor就不对看门狗定时器清零,也就达到被监视任务出现故障时系统自动重启的目的。另外任务TaskMonitor自身出故障时,也不能及时对看门狗定时器清零,看门狗也能自动复位重启。接下来需要解决一个问题是:监视任务如何有效监视被监视的任务群。

图2:(a)多任务系统看门狗示意图;(b)正确的看门狗复位逻辑图。

在TaskMonitor中定义一组结构体来模拟看门狗定时器组,

typedef struct

{

UINT32 CurCnt, LastCnt;

BOOL RunState;

int taskID;

} STRUCT_WATCH_DOG;

该结构体包括被监视的任务号taskID,用来模拟“喂狗”的变量CurCnt、LastCnt(具体含义见下文),看门狗状态标志RunState用来控制当前任务是否接受监视。

被监视的任务Task1~Taskn调用自定义函数CreateWatchDog(int taskid)来创建看门狗,被监视任务一段时间内要求“喂狗”,调用ResetWatchDog(int taskid),这个“喂狗”动作实质就是对看门狗定时器结构体中的变量CurCnt加1操作。TaskMonitor大部分时间处于延时状态,假设硬件看门狗定时是2秒,监视任务可以延时1.5秒,接着对创建的看门狗定时器组一一检验,延时前保存CurCnt的当前值到LastCnt,延时后比较CurCnt与LastCnt是否相等,都不相等系统才是正常的。需要注意的是CurCnt和LastCnt数据字节数太小,而“喂狗”过于频繁,可能出现CurCnt加1操作达到一个循环而与LastCnt相等。

如果有任意一组的CurCnt等于LastCnt,认为对应接受监视的任务没有“喂狗”动作,也就检测到该任务出现故障需要重启,这时候TaskMonitor不对硬件看门狗定时器清零,或者延时很长的时间,比如10秒,足以使得系统重启。反之,系统正常,Task1~Taskn定期对TaskMonitor“喂狗”,TaskMonitor又定期对硬件看门狗“喂狗”,系统就得不到复位。还有一点,被监视任务可以通过调用PauseWatchDog(int taskid)来取消对应的看门狗,实际上就是对STRUCT_WATCH_DOG结构体中的RunState操作,该标志体现看门狗有效与否。

这种方式可监视的最大任务数由STRUCT_WATCH_DOG结构数据的个数决定。程序中应该有一个变量记录当前已创建的看门狗数,判断被监视任务Task1~Taskn是否“喂狗”只需比较CurCnt与LastCnt的值n次。

图3:系统复位逻辑图。

硬件看门狗监视TaskMonitor任务,TaskMonitor任务又监视其他的被监视任务Task1~Taskn,形成这样一种链条。这种方式系统的故障图表示如图3所示。被监视任务Task1~Taskn及TaskMonitor都是或的关系,因此被监视的任一任务发生故障,硬件电路看门狗就能复位。

为实现多任务系统的看门狗监视功能额外增加了TaskMonitor任务,这个任务占用执行时间多少也是一个重要问题。假设TaskMonitor任务一个监视周期延时1.5秒,此外需要执行保存当前计数值,判断是否“喂狗”等语句,它的CPU占用时间是很小的。用一个具体的试验证实,使用50M工作频率的CPU(S3C4510),移植vxWorks操作系统,cache不使能条件下监视10个任务,每个监视周期占用220~240微秒。可见该任务绝大多数时间都处于任务延时状态。

被监视任务可能有获取消息、等待一个信号量等的语句,往往这个消息、信号量的等待是无限期的等待。这就需要将这类语句作一些修改。比如在vxWorks中将一次无期限的获取信号量操作

semTake(semID, WAIT_FOREVER);// WAIT_FOREVER为无限时间等待

分解为

do

{

ResetWatchDog;//“喂狗”操作

}while(semTake(semID, sysClkRateGet())!= OK);// 1s内的等待信号量操作

多次的时间范围内的获取信号量操作,这样才能保证及时“喂狗”。

另外需要注意的是系统中是否有的任务优先级比TaskMonitor高并且长时间处于执行状态,TaskMonitor长时间得不到调度,使得看门狗错误复位。良好的任务划分,配置是不应该出现这种高优先级任务长期执行状况的。

看门狗游戏为什么叫看门狗

watchdog原为一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"。在游戏里芝加哥就比作单片机艾登则是监控一切的watch dog。

dog这个词在很多词组里不是贬义如lucky dog

什么是看门狗

看门狗分硬件看门狗和软件看门狗。硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),因此程序正常工作时,定时器总不能溢出,也就不能产生复位信号。如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。软件看门狗原理上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性方面不如硬件定时器,比如系统内部定时器自身发生故障就无法检测到。当然也有通过双定时器相互监视,这不仅加大系统开销,也不能解决全部问题,比如中断系统故障导致定时器中断失效。看门狗本身不是用来解决系统出现的问题,在调试过程中发现的故障应该要查改设计本身的错误。加入看门狗目的是对一些程序潜在错误和恶劣环境干扰等因素导致系统死机而在无人干预情况下自动恢复系统正常工作状态。看门狗也不能完全避免故障造成的损失,毕竟从发现故障到系统复位恢复正常这段时间内怠工。同时一些系统也需要复位前保护现场数据,重启后恢复现场数据,这可能也需要一笔软硬件的开销。

为什么现在的人喜欢叫保安为看门狗

你可能不知道,农村里以前普通人家家里大都会养一条狗给自己看家的,即使主人不在家,狗狗也会很尽职,认真看护庭院,不让陌生人进入主人家门的。这就是看门狗的原意。狗狗也是为保护主人家安全的。

你说的保安被人叫做看门狗,就是有的人对保安这种职业的蔑视,认为保安是狗仗人势,为人看护门庭,还气势嚣张。

我认为保安被人歧视的原因就是现在的保安有一部分人确实很让人恼火,尽做些个狐假虎威的事情。

但是无论怎么说叫保安为看门狗总是不对的,是这些人自身素质低下的表现,狗眼看人低的产物。

保安的身份虽然很低微,但是同样应该值得我们尊重的。人生而平等。总之叫保安看门狗是对人的人格的践踏。

好了,文章到此结束,希望可以帮助到大家。