Loading AI tools
De Wikipedia, la enciclopedia libre
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.[1]
Kernel panic | ||
---|---|---|
Parte de screen of death | ||
Kernel panic en Linux. | ||
Información general | ||
Tipo de programa | Error de software | |
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.[2] 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.'"[3]
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:[4]
/*
* In case console is off,
* panicstr contains argument to last
* call to panic.
*/
char *panicstr;
/*
* Panic is called on unresolvable
* fatal errors.
* It syncs, prints "panic: mesg" and
* then loops.
*/
panic(s)
char *s;
{
panicstr = s;
update(S);
printf("panic: %s\n", s);
for(;;)
idle(N);
}
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.
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.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.