Skip to main content

¿Qué es un basurero?

Un volcado del núcleo es un registro del contenido de la memoria de una computadora cuando se produce un error grave. Puede incluir toda la memoria del sistema o solo la parte que estaba utilizando el programa que falló. También puede incluir otros datos relevantes, como el estado del procesador, el contenido del registro y la información sobre los procesos en ejecución. Los ingenieros de software con frecuencia usan volcados de núcleo con depuradores y otras utilidades para analizar y corregir errores de la computadora. Un volcado de núcleo también se puede utilizar para transferir un proceso de trabajo de un procesador a otro durante el funcionamiento normal.

El término "volcado de núcleo" probablemente se originó en la década de 1960 cuando las primeras computadoras usaban memoria de núcleo magnético. Cuando un programa en ejecución fallaba, todos los datos en todo el núcleo se imprimían en papel para ayudar con la depuración. Estas impresiones generalmente consistían en poco más que direcciones de memoria y datos en notación octal o hexadecimal. A medida que las tecnologías de almacenamiento mejoran, los volcados de núcleo se pueden guardar en el disco, cinta magnética extraíble o tarjetas de memoria no volátiles. La mayor capacidad de almacenamiento de información de estado junto con los avances en la depuración de software han hecho que el diagnóstico de errores sea más eficiente.

Las causas típicas de los volcados de núcleo son las aplicaciones mal escritas o el software del sistema. Muy a menudo, el código del programa supone que los punteros y los índices de matriz siempre hacen referencia a estructuras de datos válidas. Si alguno de estos se ha movido más allá de los límites de sus estructuras originales, por ejemplo, puede ocurrir un volcado del núcleo. Los problemas para acceder a los archivos de datos en un dispositivo de almacenamiento o para leer datos dañados también pueden causar un volcado del núcleo. Los problemas de hardware, como el mal funcionamiento de la memoria, los discos duros o los procesadores, también pueden desencadenarlos.

Generalmente hay dos tipos de volcados de núcleo. Un tipo es donde se termina el proceso en ejecución o el programa de aplicación y el control vuelve al sistema operativo. En este caso, el resto del sistema continúa funcionando normalmente ya que solo se detuvo el programa infractor. Por lo general, se genera un archivo de volcado de núcleo grande que luego se puede cargar en un depurador. Si el error ocurrió en un programa para el cual los símbolos y el código fuente están disponibles, estos también pueden cargarse en el depurador.

El otro tipo más grave de volcado del núcleo también se denomina kernel panic. Este tipo de volcado detiene todo el sistema para evitar complicaciones adicionales y corrupción de datos. En los sistemas Microsoft Windows®, este tipo de volcado generalmente ocurre en la forma demasiado familiar de una "pantalla azul de la muerte". Los pánicos como estos generalmente son más difíciles de depurar y a menudo son causados ​​por problemas de hardware o de nivel de sistema. Esto puede suceder antes de que el sistema haya terminado de iniciarse cuando hay poca información disponible sobre la causa real.