워치독(Watchdog Timer) 이하 와독이라고 하죠.
와독은 한마디로 " 개가 짓고 있네-개소리 하네" 라고 말하고 싶네요.
마이콤을 우리 집에 비유를 할께요.
우리집(마이콤)에는 개를 키운답니다. 개를 키운다는 것은 주인은 개가 배곱플때 밥을 줘야할 의무가 있습니다.
그럼 개는 주인이 밥을 공짜로 먹여주니 주인에게 재롱을 떨거나 집을 지켜줘야지요.
개를 키우는 것은 주인 맘입니다.
왠 엉뚱한 소리만 하고 있냐고요...원래 제가 좀 엉뚱하답니다.----전문가는 어서들 집에가서 개나 보시구요....(^.^)
자~~~슬슬 시작해 볼까요.
여기서 말하는 주인은 CPU(중앙처리장치)입니다. 그리고 개는 Watchdog Timer(와독)이구요.
어느날 주인이 술을 엄청나게 처먹고 개에게 제시간에 밥을 주지 않았습니다. 그럼 개는 무지하게 열 받겠죠.
참다 참다 못해서 개는 말하죠....주인님 밥주세요. 그런데 주인은 개가 짖는다고 말을하죠.
주인은 개를 기르면서 개에게 약속을 했습니다. 개야 개야 내가 너에게 정해진 시간에 밥을 주지 않는다면 나는 미친 것이란다.
명심해라 사랑하는 개야 "나는 정말 제정신이 아니라는 것을" 만일 너에게 밥을 주지 않으면 나는 사람을 죽일지도 모른단다.
그렇기 전에 너는 나의 목숨을 끊어야 한단다.....라고요.
그후로 개는 매일 주인이 뭔 짓을 하나 감시를 하지요. 주인은 내 목숨을 개에게 맏겻기 때문에 밥을 약속한 시간에 줘야만 합니다.
"참 개 팔자가 상팔자라더니" 참 부럽다...또 엉뚱한 소리를 했네.
지금부터 긴장 조금만 하세요. 대화의 수준이 조금 업(up)됩니다.
자 그럼 심심한데 밥을 만들어 볼까요.....
사용자가 밥솥에 쌀을넣고 개스불을 점화했습니다.
어느날 주인이 밥솥에 신나게 깨스(gas)불을 점화 했답니다. 그런데 갑자기 주인이 어젯밤에 부인과 뭔일이 있었던 이유로 그만 깜빡 잠이들었답니다.
자~~ 상상을 해보세요.... 밥솥에 개스불이 활활타고 있고 개 밥줄 시간은 임박하고, 주인은 잠이들고.....
뻔한일이죠 집안은 불이나고 개는 주인의 목숨을 끊을려고 할것이고.
CPU(Micom)는 스스로 움직이지 않습니다. 반드시 하느님(부처님)이 가르친데로만 움직이지요....여기서 하느님(부처님)은 Programmer 라고 하는 것입니다.
프로그램을 만들어서 그분이 원하는데로 CPU가 동작하게 하지요.
즉 마이콤을 사용하여 전기 밥솥을 만들었습니다.
밥솥에 열을 가해야만 밥이 되겠지요. 열을 가하는 부품은 히터라고 하지요. 히터를 제어하는 것은 트라이악, 릴레이, 등등등
이 있습니다. 그리고 밥솥의 온도가 어느이상 올라가면 반드시 히터의 전원을 끊어야 합니다.
그런데 마이콤이 외부의 영향(노이즈)이나 프로그래머의 실수로 히터의 전원을 끊지 못했다면 밥솥은 과열로 끔찍한 결과를 초래하게
되겠지요.
바로 이것입니다. 마이콤의 이러한 오동작을 방지하기 위해서 워치독 타이머를 사용한답니다.
즉 마이콤(CPU)정상적으로 동작을 하고 있는지를 감시하는 것이 워치독 타이머의 원리입니다.
프로그래머는 마이콤과 워치독타이머에게 규정을 정해주죠.
마이콤이 1초 단위로 워치독 타이머를 클리어(clear)하라고.......
그런데 마이콤이 1초가 넘었는데도 워치독 타이머를 클리어 하지 않으면 워치독은 마이콤이 이상동작을 한것으로 간주하고
마이콤에게 Reset신호를 발싸합니다. 그럼 마이콤은 모든 동작을 정지하고 초기 상태로 전환이 되지요.
1초라는 것은 개에게 밥을 주기로 약속한 시간 이구요.
주인의 목숨을 끊는 다는 것은 마이콤을 Reset 시킨다는 것입니다.
오늘이 처음으로 올리는 글이라 내용이 어수선하네요.
차츰차츰 나아지겠지요.