Введение

Паника ядра (иногда сокращается как KP) — это мера безопасности, предпринимаемая ядром операционной системы при обнаружении критической внутренней ошибки, при которой восстановление невозможно или продолжение работы системы сопряжено с высоким риском серьезной потери данных. Этот термин в основном используется в отношении Unix и Unix-подобных систем. В операционных системах Microsoft Windows эквивалентом является ошибка остановки, часто называемая «синим экраном смерти». Подпрограммы ядра, обрабатывающие панику, известные как `panic` в исходном коде Unix, разработанном AT&T и BSD, обычно предназначены для вывода сообщения об ошибке на консоль, сохранения образа памяти ядра на диск для последующей отладки и либо ожидания ручной перезагрузки системы, либо автоматической перезагрузки. Предоставляемая информация носит высокотехнический характер и предназначена для помощи системному администратору или разработчику программного обеспечения в диагностике проблемы. Паника ядра также может быть вызвана ошибками, возникающими вне пространства ядра. Например, многие Unix-системы вызывают панику, если завершается процесс `init`, работающий в пользовательском пространстве.

Линукс

Паника ядра возникает в Linux, как и в других Unix-подобных системах, но также могут возникать и другие виды ошибок, известные как "kernel oops". В этом случае ядро обычно продолжает работу после завершения процесса, вызвавшего ошибку. Поскольку "oops" может привести к недоступности некоторых подсистем или ресурсов, это впоследствии может привести к полной панике ядра. В Linux паника ядра вызывает мигание светодиодов клавиатуры в качестве визуального индикатора критической ситуации.

macOS

Когда в Mac OS X 10.2–10.7 возникает паника ядра, компьютер отображает многоязычное сообщение, информирующее пользователя о необходимости перезагрузки системы. До версии 10.2 отображалось более традиционное сообщение об ошибке в стиле Unix; в версии 10.8 и более поздних версиях компьютер автоматически перезагружается и отображает сообщение после перезагрузки. Формат сообщения меняется в зависимости от версии:

10.0–10.1: Система отображает текст на экране с подробной информацией об ошибке и перестает отвечать. 10.2: Спускается черная полупрозрачная занавеска, затем на белом фоне отображается сообщение с просьбой перезапустить компьютер. Сообщение отображается на английском, французском, немецком и японском языках. 10.3–10.5: Паника ядра почти идентична версии 10.2, но фон экрана ошибки черный. 10.6–10.7: Текст был пересмотрен и теперь включает испанский перевод. 10.8 и более поздние версии: Компьютер перестает отвечать, после чего немедленно перезагружается. При запуске компьютера отображается предупреждение о перезагрузке из-за паники ядра в течение нескольких секунд, после чего компьютер снова запускается. В сообщении теперь есть китайский перевод. Иногда, если за три минуты после первой происходит пять или более паник ядра, на экране Mac на 30 секунд появляется запрещающий знак, после чего компьютер выключается; это называется "повторяющейся паникой ядра". Во всех версиях выше 10.2 текст накладывается на символ ожидания и не отображается в полноэкранном режиме. Информация для отладки сохраняется в NVRAM и записывается в файл журнала при перезагрузке. В 10.7 реализована функция автоматической перезагрузки после паники ядра. В некоторых случаях, начиная с версии 10.2, в дополнение к символу ожидания может появиться белый текст с подробным описанием ошибки.