Как использовать сторожевой таймер на Windows 7

У меня одноплатный компьютер с процессором Intel i5 и 32-битной Windows 7. Мое приложение работает на Windows 7 и является единственным приложением в системе (приложение выполняет функции компьютерного зрения; основано на видеопотоке). Поэтому я заинтересован в использовании Watchdog для автоматического сброса Windows при сбое.

Я разработал приложение для этого (скажем, ПК) и хотел бы использовать сторожевой таймер процессора (который можно включить в BIOS). Я много гуглил, но не мог получить достаточно информации. Я думаю, что я должен разработать драйвер! Я прав?

1 ответ

Ваше приложение работает в пользовательском режиме. Приложение пользовательского режима не может завершить работу ОС (ядра). Поэтому вы

  1. не нужно перезагружать Windows, так как Windows остается незатронутым крахом вашей программы
  2. не нужно реализовывать драйвер ядра или аппаратный сторож
  3. может просто реализовать другое приложение пользовательского режима, которое запрашивает список процессов и перезапускает ваше приложение, или, что еще лучше, приложение сторожевого таймера запускает ваше приложение vision и получает информацию о его завершении.

В.NET я бы использовал класс Process (MSDN), чтобы запустить процесс, а затем вызвать WaitForExit (). Это должно делать свое дело.

Если это приложение сторожевой таймер когда-либо проходит WaitForExit(), приложение видение прекратилось. В этом случае вы можете перезапустить приложение vision или даже перезагрузить компьютер, как вам будет угодно.

Другие вопросы по тегам