Введение
Паника ядра (иногда сокращается как KP) — это мера безопасности, предпринимаемая ядром операционной системы при обнаружении критической внутренней ошибки, при которой восстановление невозможно или продолжение работы системы сопряжено с высоким риском серьезной потери данных. Этот термин в основном используется в отношении Unix и Unix-подобных систем. В операционных системах Microsoft Windows эквивалентом является ошибка остановки, часто называемая «синим экраном смерти». Подпрограммы ядра, обрабатывающие панику, известные как `panic` в исходном коде Unix, разработанном AT&T и BSD, обычно предназначены для вывода сообщения об ошибке на консоль, сохранения образа памяти ядра на диск для последующей отладки и либо ожидания ручной перезагрузки системы, либо автоматической перезагрузки. Предоставляемая информация носит высокотехнический характер и предназначена для помощи системному администратору или разработчику программного обеспечения в диагностике проблемы. Паника ядра также может быть вызвана ошибками, возникающими вне пространства ядра. Например, многие Unix-системы вызывают панику, если завершается процесс `init`, работающий в пользовательском пространстве.
A kernel panic (sometimes abbreviated as KP) is a safety measure taken by an operating system's kernel upon detecting an internal fatal error in which either it is unable to safely recover or continuing to run the system would have a higher risk of major data loss. The term is largely specific to Unix and Unix like systems. The equivalent on Microsoft Windows operating systems is a stop error, often called a "blue screen of death". The kernel routines that handle panics, known as panic in AT&T derived and BSD Unix source code, are generally designed to output an error message to the console, dump an image of kernel memory to disk for post mortem debugging, and then either wait for the system to be manually rebooted, or initiate an automatic reboot. The information provided is of a highly technical nature and aims to assist a system administrator or software developer in diagnosing the problem. Kernel panics can also be caused by errors originating outside kernel space. For example, many Unix operating systems panic if the init process, which runs in user space, terminates.
Линукс
Паника ядра возникает в 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, в дополнение к символу ожидания может появиться белый текст с подробным описанием ошибки.