linux watchdog


  • 硬件部分:
    • 看门狗,又叫watchdog timer,是一个定时器电路,一般有一个输入,叫喂狗(kicking the dog/service the dog),一个输出到MCU的RST端,MCU正常工作的时候,每隔一段时间输出一个信号到喂狗端,给 WDT清零,如果超过规定的时间不喂狗(一般在程序跑飞时),WDT定时超过,就会给出一个复位信号到MCU,使MCU复位。防止MCU死机. 看门狗的作用就是防止程序发生死循环,或者说程序跑飞。
    • 流程:进入IO配置——>选择逻辑设备——>设置看门狗配置寄存器——>设置看门狗数据寄存器(循环喂狗)

  • 软件部分:
    • kernel watchdog :
      - Hardlockup:NMI Watchdog(NMI非可屏蔽中断)【CPU不仅无法执行其它进程,而且不再响应中断】
      - SoftLockup:高精度的计时器hrtimer(一般来源于APIC)【CPU被内核代码占据,以至于无法执行其它进程】

    • 用户态watchdog:【并非所有的系统宕机都是因为内核线程lockup引起的,用户线程一样有可能到时系统宕机的情况】
      - watchdog程序会通过softdog.ko创建一个叫做/dev/watchdog1的设备(timer 设备),并且定期往它写东西(用于更新时间戳)。

    • 外部 watchdog:通过BMC实现、通过iTCO实现


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值