본문 바로가기
Engineering/System

Watchdog Timer

by Humaneer 2008. 8. 20.

Watchdog?

감시견을 의미한다. 뭔가를 감시하다가 그 뭔가가 이상하다 싶으면 짖거나 물어버리는 그런 역할말이다.
주인을 항상 감시하다가 주인이 정해진 시간에 밥을 안주면 주인을 물어버리는 그런 상팔자-_-의 개를 생각해볼 수도 있겠다.

Watchdog Timer?

프로그램 혹은 프로세스를 동작시키는 역할을 하는 녀석중에 가장 중요한 놈이 무엇이냐? 라고 한다면 답은 당연히, 'CPU'이다. 하지만 요놈이 제대로 동작하지 않는다면? 그것이 프로그래머의 실수이건 아니건 간에 말이다. 그래서 프로그래머는 Watchdog Timer(이후 WDT)에게 CPU가 너한테 일정주기로 신호를 보내주지 않거들랑 신호(시그널, 혹은 인터럽트)를 보내달라 이렇게 세팅을 한다. 고로 CPU가 뭔가 오동작을 하거나 프로그래머가 프로그래밍을 잘못하여 WDT에게 주기적인 신호가 가지 않았다면 WDT는 인터럽트를 발생시킨다.

구글링을 해보니 WDT는 다양하게 이용되는 것 같다. CPU를 감시하는 기본적인 역할 외에도 말이다.