زمان‌پای سگ نگهبان

زمان‌پای سگ نگهبان (به انگلیسی: WatchDog Timer)، قطعه‌ای الکترونیکی است که در صورت خرابی رایانه، آن را بازیابی می‌کند. آن‌ها به طوری گسترده در رایانه‌ها و ریزواپایشگرها استفاده می‌شوند تا تعمیر خودکار خرابی‌های موقت سخت‌افزاری را آسان و از ایجاد اختلال توسط بدافزارها جلوگیری کنند.

این قطعه پس از گذشت زمانی مشخص (معمولاً چند ثانیه)، یک نشانک «اتمام مهلت» تولید می‌کند که باعث راه‌اندازی دوبارهٔ سامانه می‌شود. پس رایانه به طور پی‌درپی آن را بازنشانی می‌کند تا از راه‌اندازی دوباره جلوگیری کند. اما هنگامی که رایانه دچار خرابی سخت‌افزاری یا خطای نرم‌افزاری می‌شود، در بازنشانی این زمان‌پا ناتوان می‌ماند و این باعث سپری شدن زمان و در نهایت تولید نشانک «اتمام مهلت» می‌شود.

فرایند بازنشانی زمان‌پای سگ نگهبان با اصطلاحات گوناگونی همچون «غذا دادن» یا «لگد زدن» نام برده می‌شود.

کاربردها 
مهم‌ترین و حیاتی‌ترین کاربرد زمان‌پای سگ نگهبان در دستگاه‌هایی است که در دسترس نیستند و باید بر خود متکی باشند. مثلاً روبات‌های فضایی که به طور فیزیکی در دسترس گردانندهٔ انسانی‌شان نیستند و اگر توانا به بازیابی خودکار از خرابی‌ها نباشند، برای همیشه قفل و از کار خواهند افتاد.

در روبات‌ها و ماشین‌های خودکار، خرابی در رایانهٔ واپایشگر می‌تواند پیش از این که انسان بتواند واکنشی نشان دهد، منجر به آسیب به تجهیزات شود. در چنین مواردی، زمان‌پای سگ نگهبان به کار می‌رود.

همچنین می‌تواند در پایش و محدود کردن اجرای نرم‌افزارها استفاده شود. مثلاً محدود کردن زمان سی‌پی‌یو برای اجرای یک کد در قرنطینه. یا اطمینان از اتمام فرایندی در زمان مجازش و متوقف کردن آن در صورت تمام نشدن.

زمان‌پای داخلی و خارجی 

زمان‌پای سگ نگهبان تراشه‌ای جدا از پردازنده است. اما بسیاری از ریزواپایشگرها از جمله اِی‌وی‌آر که مورد استفادهٔ آردوینو است، آن را به صورت داخلی پیاده‌سازی کرده‌اند.

با این حال، توصیه می‌شود که در موارد خیلی حساس، از یک تراشهٔ جدا استفاده شود تا  در صورت از کار افتادن زمان‌پای داخلی، وارد عمل شود.

زمان‌پای پنجره‌ای 
برخی از زمان‌پاهای سگ نگهبان فقط در پنجره‌های زمانی مشخصی اجازهٔ بازنشانی می‌دهند. اگر رایانه در زمانی غیر از پنجرهٔ زمانی مشخص اقدام به بازنشانی زمان‌پا کند، سگ نگهبان آن را نمی‌پذیرد و زمان سپری می‌شود. در نتیجه باعث تولید نشانک «اتمام مهلت» می‌شود و سامانه را راه‌اندازی دوباره می‌کند.

این نوع زمان‌پاها در مواردی کاربرد دارند که لازم است فرایند مورد نظر حتماً در زمان مشخص، نه زودتر و نه دیرتر، انجام شود.

منابع 

Wikipedia contributors, "Watchdog timer," Wikipedia, The Free Encyclopedia, https://en.wikipedia.org/w/index.php?title=Watchdog_timer&oldid=1136797554 (accessed February 25, 2023)
 https://en.wikipedia.org/wiki/Watchdog_timer
 https://en.wikipedia.org/wiki/AVR_microcontrollers
 https://en.wikibooks.org/wiki/Embedded_Systems/Watchdog_Timer
 https://www.embedded.com/introduction-to-watchdog-timers
 https://www.ablic.com/en/semicon/products/automotive/automotive-watchdog-timer/intro

سامانه‌های توکار