En informática , una imagen del sistema es una copia serializada del estado completo de un sistema informático almacenada en algún formato no volátil , como un archivo binario comprimido .
Si el estado completo de un sistema se guarda en un disco (es decir, en una imagen de disco ), se puede crear una imagen del sistema copiando el disco a un archivo en otra ubicación, generalmente mediante aplicaciones de clonación de discos . En muchos sistemas, como algunos dispositivos integrados y muchos teléfonos, un programa de clonación de discos que se ejecuta dentro del sistema no puede crear una imagen completa del sistema, ya que la información puede almacenarse fuera de los discos y la memoria volátil, por ejemplo, en memoria no volátil, como las ROM de arranque , o bien, el programa de clonación de discos generalmente no tiene tales privilegios.
Se dice que un sistema es capaz de usar imágenes del sistema si se puede apagar y luego restaurar exactamente al mismo estado. En tales casos, las imágenes del sistema se pueden usar para realizar copias de seguridad .
La hibernación es un ejemplo que utiliza una imagen de toda la memoria RAM del ordenador .
Procesar imágenes
Una imagen de proceso es una copia del estado de un proceso determinado en un momento dado. Se utiliza a menudo para crear persistencia en un sistema que, de otro modo, sería volátil. Un ejemplo común es un sistema de gestión de bases de datos (DBMS). La mayoría de los DBMS pueden almacenar el estado de su base de datos o bases de datos en un archivo antes de cerrarse (véase volcado de base de datos ). Posteriormente, el DBMS puede reiniciarse con la información de la base de datos intacta y continuar como si el software nunca se hubiera detenido. Otro ejemplo sería la función de hibernación de muchos sistemas operativos. En este caso, el estado de toda la memoria RAM se guarda en el disco, el ordenador entra en modo de ahorro de energía y, posteriormente, se restablece su funcionamiento normal.
Algunos emuladores ofrecen la posibilidad de guardar una imagen del sistema que se está emulando. En los videojuegos, esto se suele denominar estado de guardado .
Otro uso es la movilidad del código : un agente móvil puede migrar entre máquinas guardando su estado, copiando los datos a otra máquina y reiniciando allí.
Compatibilidad con lenguajes de programación
Algunos lenguajes de programación ofrecen un comando para crear una imagen del sistema de un programa. Esta es una característica estándar en Smalltalk (inspirado en FLEX ) y Lisp , entre otros lenguajes. El desarrollo en estos lenguajes suele ser bastante diferente al de muchos otros. Por ejemplo, en Lisp, el programador puede cargar paquetes u otro código en una implementación de Lisp en ejecución mediante el bucle read-eval-print , que normalmente compila los programas. Los datos se cargan en el sistema Lisp en ejecución. A continuación, el programador puede volcar una imagen del sistema que contiene ese código precompilado y posiblemente personalizado, así como todos los datos de la aplicación cargados. A menudo, esta imagen es un ejecutable y puede ejecutarse en otras máquinas. Esta imagen del sistema puede ser el formato en el que se distribuyen los programas ejecutables; este método se ha utilizado con frecuencia en programas (como TeX y Emacs ) implementados principalmente en Lisp, Smalltalk o lenguajes idiosincrásicos para evitar tener que repetir el mismo trabajo de inicialización cada vez que se inician.
De forma similar, las máquinas Lisp se iniciaban a partir de imágenes Lisp, denominadas Mundos. El Mundo contenía el sistema operativo completo, sus aplicaciones y sus datos en un único archivo. También era posible guardar Mundos incrementales, que contenían únicamente los cambios respecto a un Mundo base. Antes de guardar el Mundo, el sistema operativo de la máquina Lisp podía optimizar el contenido de la memoria (mejor distribución de la memoria, compactación de las estructuras de datos, ordenación de datos, etc.).
Aunque su propósito es diferente, una "imagen del sistema" suele tener una estructura similar a la de un volcado de memoria .
Véase también
Enlaces externos
- CryoPID : un congelador de procesos para Linux
- Tecnología de sistemas operativos
- Imagen del sistema