Kernel panic
# Kernel panic

El kernel panic (en español: pánico en el núcleo) es un mensaje mostrado por el núcleo (kernel) de un sistema operativo una vez detectado un error interno de sistema del cual no se puede recuperar. Los kernel panic usualmente proveen información de depuración que es útil sólo para los desarrolladores del sistema operativo.

## Historia

El kernel panic fue introducido en una versión temprana de Unix, y demostró una gran diferencia entre la filosofía de diseño de Unix y su predecesor Multics. La asunción básica es que el hardware y software deben funcionar correctamente y el fallo de una aserción resulta en un pánico, es decir, un detenimiento voluntario de toda actividad del sistema. El concepto de pánico en el núcleo fue introducido en una versión temprana de Unix y demostró una diferencia importante con respecto entre las filosofías de diseño de Unix y su predecesor Multics. Tom van Vleck, uno de los desarrolladores de Multics, recuerda una discusión sobre este cambio con Dennis Ritchie:

   I remarked to Dennis that easily half the code I was writing in Multics was error recovery code. He said, "We left all that stuff out. If there's an error, we have this routine called panic, and when it is called, the machine crashes, and you holler down the hall, 'Hey, reboot it.'" Le comenté a Dennis que fácilmente la mitad del código que estaba escribiendo en Multics era código de recuperación de errores. Él dijo: «Dejamos todo eso fuera. Si hay un error, tenemos esta rutina llamada pánico, y cuando se llama, la máquina se cuelga y gritas en el pasillo: "Oye, reinícialo"».

La función original panic no tuvo cambios importantes entre la Quinta Edición de UNIX y UNIX 32V para VAX. Solamente mostraba un mensaje de error sin más información, luego dejaba el sistema en un bucle infinito.

El siguiente es el código fuente de la función panic en UNIX V6:

Conforme la base de código fue mejorada, la función panic también fue mejorada para imprimir distintos tipos de información de depuración en la consola.

## Posibles causas

Intentos del sistema operativo para leer una dirección de memoria inválida o no permitida son una fuente común de kernel panics. El error también puede ocurrir como resultado de un fallo de hardware.

Es probable también que se presente si falta algún módulo que deba ir pegado al núcleo dependiendo del hardware con el que se cuente.

Un kernel panic puede ser producto de una explotación de una vulnerabilidad en algún módulo del núcleo de forma malintencionada, logrando corromper la integridad del sistema.

