当前位置: 首页 > news >正文

视觉中国网站建设公司/成都公司网站seo

视觉中国网站建设公司,成都公司网站seo,淘宝京东拼多多购物券网站怎么做,手机邀请函制作软件app1.看门狗定义 Linux 自带了一个 watchdog 的实现,用于监视系统的运行,包括一个内核 watchdog module 和一个用户空间的 watchdog 程序。 内核 watchdog 模块通过 /dev/watchdog 这个字符设备与用户空间通信。用户空间程序一旦打开 /dev/watchdog 设备&a…

1.看门狗定义

Linux 自带了一个 watchdog 的实现,用于监视系统的运行,包括一个内核 watchdog module 和一个用户空间的 watchdog 程序。
内核 watchdog 模块通过 /dev/watchdog 这个字符设备与用户空间通信。用户空间程序一旦打开 /dev/watchdog 设备(俗称“开门放狗”),就会导致在内核中启动一个1分钟的定时器(系统默认时间),此后,用户空间程序需要保证在1分钟之内向这个设备写入数据(俗称“定期喂狗”),每次写操作会导致重新设定定时器。如果用户空间程序在1分钟之内没有写操作,定时器到期会导致一次系统 reboot 操作(“狗咬人了”呵呵)。通过这种机制,我们可以保证系统核心进程大部分时间都处于运行状态,即使特定情形下进程崩溃,因无法正常定时“喂狗”,Linux系统在看门狗作用下重新启动(reboot),核心进程又运行起来了。多用于嵌入式系统。

在这里插入图片描述
打开 /dev/watchdog 设备(“开门放狗”):

int fd_watchdog = open("/dev/watchdog", O_WRONLY);
if(fd_watchdog == -1) {int err = errno;printf("\n!!! FAILED to open /dev/watchdog, errno: %d, %s\n", err, strerror(err));syslog(LOG_WARNING, "FAILED to open /dev/watchdog, errno: %d, %s", err, strerror(err));
}

每隔一段时间向 /dev/watchdog 设备写入数据(“定期喂狗”):

//feed the watchdog
if(fd_watchdog >= 0) {static unsigned char food = 0;ssize_t eaten = write(fd_watchdog, &food, 1);if(eaten != 1) {puts("\n!!! FAILED feeding watchdog");syslog(LOG_WARNING, "FAILED feeding watchdog");}
}

关闭 /dev/watchdog 设备,通常不需要这个步骤:

close(fd_watchdog);

2. 定义详解

watchdog
简而言之,watchdog是为了保证系统正常运行,或者从死循环,死锁等异常状态退出的一种机制。

原理:

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

软件看门狗分为两种,用于检测soft lockup的普通软狗(基于时钟中断),以及检测hard lockup的NMI狗(基于NMI中断)。

注1:时钟中断优先级小于NMI中断
注2:lockup,是指某段内核代码占着CPU不放。Lockup严重的情况下会导致整个系统失去响应。

soft lockup 和 hard lockup,它们的唯一区别是 hard lockup 发生在CPU屏蔽中断的情况下。

3. 软狗

单个cpu检测线程是否正常调度。

一般软狗的正常流程如下(假设软狗触发的时间为20s)
在这里插入图片描述
可能产生软狗的原因:
1.频繁处理硬中断以至于没有时间正常调度
2.长期处理软中断
3.对于非抢占式内核,某个线程长时间执行而不触发调度
4.以上all

4.NMI watchdog

单个CPU检测中断是否能够正常上报
当CPU处于关中断状态达到一定时间会被判定进入hard lockup

NMI检测流程:
在这里插入图片描述
可能产生NMI狗的原因:
1.长期处理某个硬中断
2.长时间在禁用本地中断下处理

NMI狗机制也是用一个percpu的hrtimer来喂狗,为了能够及时检测到hard lockup状态,在比中断优先级更高的NMI上下文进行检测。

5.硬狗

用于检测所有CPU是否正常运行
任何一个CPU都可以喂硬狗,当在一定时间内没有核喂狗,触发硬狗复位

硬狗检测流程:
在这里插入图片描述
可能产生硬狗的原因:
1.CPU(没有软狗,NMI狗触发条件)全部挂死
2.CPU之间存在硬件依赖关系,某一个CPU挂死,有软件层面的共享资源

每一个CPU上都有一个watchdog线程(线程名为watchdog/0,watchdog/1 …)

http://www.jmfq.cn/news/5157739.html

相关文章:

  • 阿里云能放企业网站吗/北京网站优化怎么样
  • 网站建设解决方/深圳网络推广培训
  • 专业 旅游网站建设/百度推广网站
  • 东莞市传送机技术支持 网站建设/网站seo哪家做的好
  • 做折页的网站/优化网站关键词
  • dw不用代码做网站/全网营销推广服务
  • 网站创建公司网站/制作网页的流程
  • 烟台做网站/国际新闻最新消息战争
  • 惠州市企业网站seo营销工具/培训机构加盟店排行榜
  • 前端如何做双语网站/网站关键词优化方案
  • 网站建设包括什么/市场营销方案怎么写
  • 医疗美容网站建设方案/站长工具的网址
  • 智慧新零售系统/网络网站推广选择乐云seo
  • 男女做爰全过程网站/成都sem优化
  • 怎么做软文链接打开后是自定义网站/今日大新闻
  • 南昌制作企业网站/chatgpt入口
  • 铜陵网站开发/推广赚钱平台
  • 学校网站素材/博客网站
  • 江苏省中医院网站建设/手机上可以创建网站吗
  • 图案设计素材/厦门seo计费
  • 西安市建设网站/无锡seo优化
  • 有专门做网站的公司吗/百度seo公司一路火
  • 网站开发工程师怎么样/无锡百度竞价公司
  • 购物网站建设技术难点/品牌关键词优化哪家便宜
  • 大学生做偷拍视频网站/腾讯疫情实时数据
  • 网站建设发展趋势/网络营销推广难做吗
  • 上海高端品牌网站建设专家/重庆关键词优化软件
  • 做特卖网站有什么网站/找个免费网站这么难吗
  • 安康那个公司做网站好/百度推广的广告靠谱吗
  • 上海紫昌网站建设/百度电话人工服务