系统进程的Watchdog [转]

3.1 Watchdog简介

对于像笔者这样没玩过硬件的纯软程序员来说,第一次看到这个家伙的时候真心一头雾水,只是觉得这个名字很有意思。一番调查后发现,Watchdog机制最 早来源于硬件,在计算机系统中,单片机的工作容易受到来自外界电磁场的干扰,而陷入死循环,系统无法继续工作,为了解决这个问题,便产生了一种专门用于监 测单片机程序运行状态的芯片,俗称"看门狗"(Watchdog)。

“看门狗”本身是一个定时器电路,内部会不断的进行计时(或计数)操作。计算机系统和“看门狗”有两个引脚相连接,正常运行时每隔一段时间就会通过其中一 个引脚向“看门狗”发送信号,“看门狗”接收到信号后会将计时器清零并重新开始计时。而一旦系统出现问题,进入死循环或任何阻塞状态,不能及时发送信号让 “看门狗”的计时器清零,当计时结束时,“看门狗”就会通过另一个引脚向系统发送“复位信号”,让系统重启。

这样看来,向“看门狗”发送信号就像是“喂狗”,计时器就是“看门狗”的胃,当计时结束,狗饿了,就一口把系统咬死,让它重生。

软件上的看门狗技术的思想和影响类似,例如Linux自带的Watchdog。下面我们来看看Android系统进程的这条小狗吧。

时间: 2024-10-12 04:54:44

系统进程的Watchdog [转]的相关文章

系统进程的Watchdog

编写者:李文栋 /rayleeya http://rayleeya.iteye.com/blog/1963408 3.1 Watchdog简介 对于像笔者这样没玩过硬件的纯软程序员来说,第一次看到这个家伙的时候真心一头雾水,只是觉得这个名字很有意思.一番调查后发现,Watchdog机制最早来源于硬件,在计算机系统中,单片机的工作容易受到来自外界电磁场的干扰,而陷入死循环,系统无法继续工作,为了解决这个问题,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"(Watchdo

Linux系统进程管理工具

对于Linxu系统运维工程师来说好的系统进程管理工具,就像一把利器,无坚不摧,可以使用这些工具发现造成性能问题可能原因,提升团队的工作效率,本篇知识提及一些简单常用系统管理工具包括了pstree.ps.pgrep.top.htop.pidof.vmstat.glances.dstat的简单实用例子及常用选项,希望能帮助一些热爱Linux的朋友们. pstree:用来显示进程数的 pstree命令的用法格式 [[email protected] ~]# pstree init─┬─NetworkM

基础入门_Python-模块和包.运维开发中watchdog事件监视的最佳实践?

简单介绍: 说明:  此模块是一个跨平台的PY库和SHELL工具,可以监视文件系统事件(增加/删除/修改) 快速安装: pip install --upgrade watchdog 日志记录: event_handler = LoggingEventHandler() -> event_handler 说明: 创建一个日志处理句柄,其实LoggingEventHandler是继承自FileSystemEventHandler类,只是重写了增删查改的回调函数,直接调用logging模块写到对应lo

linux系统进程管理

一.进程的概述 1.进程的概述 (1)进程:运行中的程序的一个副本,是被载入内存的一个指令集合:通常通过进程ID(Process ID,PID)号来标记各个进程 (2)特点:通常从执行进程的用户来继承.进程存在生命周期 (3)task struct:Linux内核存储进程信息的数据结构格式 (4)task list:多个任务的的task struct组成的链表 (5)进程的创建: 1)第一个进程,centos6上为init,centos7上为systemd 2)进程的创建:都有其父进程创建 (6

系统进程管理及用户登陆监控

1.图形中如何查看进程gnome-system-monitor2.如何用命令查看进程ps        进程查看工具             -a    shell中运行的进程             -x    不在shell重运行的进程         -u    查看进程用户             -l    显示进程的详细信息             -f    完全信息full的缩写             -e    显示进程的依赖关系                  -o %c

转-Unix系统进程对SIGTERM、SIGUSR1和SIGUSR2信号处理

Unix系统进程对SIGTERM.SIGUSR1和SIGUSR2信号处理 作者:vfhky | 时间:2015-08-05 17:41 | 分类:cseries 好久没更新博客了,写篇文章除除草.这篇文章主要通过简单的例子说明一下Unix/Linux进程中如果捕捉和处理SIGTERM.SIGUSR1和SIGUSR2信号. 先说明一下这三个信号: 信号(signal)是*nix系统中进程之间通信(IPC)的一种常见方式. SIGTERM:进程终止信号,效果等同于*nix shell中不带-9的ki

linux系统进程管理——常用命令总结

进程管理:1.程序和进程的关系:    程序是为了完成某种任务而设计的软件,比如LibreOffice是程序    进程就是运行中的程序:运行中的程序是程序的一个副本,存在着生命周期:    一个运行着的程序,可能有多个进程.尤其是作为服务进程,在为了响应多个访问时会创建多个进程来对其进行服务:    Linux内核存储进程信息的固定格式:task struct:    多个任务的task struct组件的链表:task list: 2.进程分为交互进程(用户.前台进程).批处理进程和守护进程

Android之——系统进程与用户进程分离

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47282031 在上一篇博文<Android之--杀死用户选中的进程优化>一文中,我向大家介绍了如何优化用户的体验,那么这篇博文中,我将向大家介绍如何进行系统进程与用户进程的分离操作.同样,这篇博文是基于上一篇博文改进的.如果大家还没有阅读上一篇博文,请大家先阅读上一篇博文<Android之--杀死用户选中的进程优化>一文.好了,咱们直接进入主题吧. 一.原理 老规矩

Android中的软件Watchdog

由于Android的SystemServer内有一票重要Service,所以在进程内有一个软件实现的Watchdog机制,用于监视SystemServer中各Service是否正常工作.如果超过一定时间(默认30秒),就dump现场便于分析,再超时(默认60秒)就重启SystemServer保证系统可用性.同时logcat中会打印类似下面信息: W Watchdog: *** WATCHDOG KILLING SYSTEM PROCESS: Blocked in monitor com.andr