Зависание
Зависа́ние — компьютерное явление, при котором одна или несколько программ или вся операционная система перестают реагировать на действия пользователя, или начинают без остановки выполнять одну и ту же (не обязательно полезную или содержательную) операцию, не реагируя на сообщения от других программ. В этот момент изображение, выводимое программой на монитор (если оно есть) застывает, в отличие от ошибки исполнения, при которой на экран выдаётся сообщение.
Продолжить работу программы можно только выгрузив её из памяти и запустив на исполнение снова. В большинстве современных операционных систем предусмотрена возможность прерывания исполнения программ, например — команда kill и различные интерфейсы к ней в системах GNU/Linux, или диспетчер задач, либо консольная команда taskkill в Microsoft Windows. В случае полного зависания ОС, когда она не реагирует на ввод клавиатуры или мыши, работу можно продолжить только после полной перезагрузки операционной системы, либо использования Magic SysRq в Linux (REISUB)
Зависание системы или микроконтроллера может быть обнаружено сторожевым таймером.
Причины зависания
Программные
- неверное завершение циклов
- взаимная блокировка процессов в многозадачных ОС
- неправильное использование памяти программами (пробуксовка)
Аппаратные
- ошибки в драйверах
- нарушение температурного режима
- механические повреждения (разрывы проводов, трещины, вздутые конденсаторы и пр.)
- химические повреждения
- некорректное напряжение, подаваемое на компьютер или его элементы