Volcado de memoria


En computación , un volcado del núcleo , [a] volcado de memoria , volcado por caída , volcado del sistema o volcado ABEND [1] consiste en el estado registrado de la memoria de trabajo de un programa de computadora en un momento específico, generalmente cuando el programa se ha bloqueado o de lo contrario terminó anormalmente. [2] En la práctica, otras piezas clave del estado del programa generalmente se descargan al mismo tiempo, incluidos los registros del procesador , que pueden incluir el contador del programa y el puntero de la pila., información de administración de memoria y otros indicadores e información del sistema operativo y del procesador. Un volcado de instantánea (o volcado instantáneo ) es un volcado de memoria solicitado por el operador de la computadora o por el programa en ejecución, después de lo cual el programa puede continuar. Los volcados del núcleo se utilizan a menudo para ayudar a diagnosticar y depurar errores en los programas informáticos.

En muchos sistemas operativos, una excepción fatal en un programa desencadena automáticamente un volcado del núcleo. Por extensión, la frase "to dump core" ha llegado a significar en muchos casos, cualquier error fatal, independientemente de que exista un registro de la memoria del programa. El término "volcado de núcleo", "volcado de memoria" o simplemente "volcado" también se ha convertido en jerga para indicar cualquier salida de una gran cantidad de datos sin procesar para un examen más detallado u otros fines. [3] [4]

El nombre proviene de la memoria de núcleo magnético , [5] la principal forma de memoria de acceso aleatorio desde la década de 1950 hasta la de 1970. El nombre se ha mantenido mucho tiempo después de que la tecnología de núcleo magnético quedara obsoleta.

Los primeros volcados del núcleo eran copias impresas en papel [6] del contenido de la memoria, generalmente dispuestas en columnas de números octales o hexadecimales (un " volcado hexadecimal "), a veces acompañadas de sus interpretaciones como instrucciones en lenguaje de máquina , cadenas de texto o números decimales o flotantes. números de punto ( cf. desensamblador ).

A medida que aumentaba el tamaño de la memoria y se desarrollaban utilidades de análisis post-mortem, los volcados se escribían en medios magnéticos como cintas o discos.

En lugar de mostrar únicamente el contenido de la memoria aplicable, los sistemas operativos modernos suelen generar un archivo que contiene una imagen de la memoria que pertenece al proceso bloqueado, o las imágenes de la memoria de partes del espacio de direcciones relacionado con ese proceso, junto con otra información como como los valores de los registros del procesador, el contador del programa, los indicadores del sistema y otra información útil para determinar la causa raíz del bloqueo. Estos archivos se pueden ver como texto, imprimir o analizar con herramientas especializadas como elfdump en Unix y sistemas similares a Unix, objdump y kdump en Linux , IPCS (Interactive Problem Control System) en IBM z/OS , [7]DVF (Dump Viewing Facility) en IBM z/VM , [8] WinDbg en Microsoft Windows, Valgrind u otros depuradores.