stringtranslate.com

Imagen del sistema

En informática , una imagen del sistema es una copia serializada del estado completo de un sistema informático almacenado en alguna forma no volátil , como un archivo .

Si un sistema tiene todo su estado escrito en un disco (es decir, en una imagen de disco ), entonces se puede producir una imagen del sistema copiando el disco a un archivo en otro lugar, a menudo con aplicaciones de clonación de discos . En muchos sistemas, un programa de clonación de discos que se ejecuta dentro de ese sistema no puede crear una imagen completa del sistema porque la información puede mantenerse fuera de los discos y la memoria volátil, por ejemplo, en la memoria no volátil, como las ROM de arranque.

Se dice que un sistema es capaz de utilizar imágenes del sistema si se puede apagar y luego restaurar exactamente al mismo estado. En tales casos, se pueden utilizar imágenes del sistema como copia de seguridad .

La hibernación es un ejemplo que utiliza una imagen de toda la RAM de la máquina .

Imágenes de proceso

Una imagen de proceso es una copia del estado de un proceso determinado en un momento determinado. A menudo se utiliza para crear persistencia dentro de 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 cerrarlo (ver volcado de base de datos ). Luego, el DBMS se puede reiniciar más tarde 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. Aquí, el estado de toda la memoria RAM se almacena en el disco, la computadora entra en modo de ahorro de energía y luego se restablece a su funcionamiento normal.

Algunos emuladores ofrecen la posibilidad de guardar una imagen del sistema que se está emulando. En los videojuegos, esto a menudo se denomina estado guardado .

Otro uso es la movilidad del código : un agente móvil puede migrar entre máquinas guardando su estado, luego copiando los datos a otra máquina y reiniciando allí.

Soporte de lenguaje de programación

Algunos lenguajes de programación proporcionan un comando para tomar una imagen del sistema de un programa. Normalmente, esta es una característica estándar en Smalltalk (inspirada en FLEX) y Lisp , entre otros lenguajes. El desarrollo en estos lenguajes suele ser bastante diferente al de muchos otros lenguajes de programación. Por ejemplo, en Lisp el programador puede cargar paquetes u otro código en una implementación Lisp en ejecución utilizando el bucle read-eval-print , que generalmente compila los programas. Los datos se cargan en el sistema Lisp en ejecución. Luego, el programador puede volcar una imagen del sistema que contenga ese código precompilado y posiblemente personalizado, y también todos los datos de la aplicación cargados. A menudo, esta imagen es un ejecutable y se puede ejecutar en otras máquinas. Esta imagen del sistema puede ser la forma en que se distribuyen los programas ejecutables; este método ha sido utilizado a menudo por programas (como TeX y Emacs ) implementados en gran medida en Lisp, Smalltalk o lenguajes idiosincrásicos para evitar perder tiempo repitiendo el mismo trabajo de inicialización cada vez. se ponen en marcha.

De manera similar, las máquinas Lisp se iniciaron desde imágenes Lisp, llamadas Mundos. The World contiene el sistema operativo completo, sus aplicaciones y sus datos en un solo archivo. También fue posible guardar Mundos incrementales, que contienen sólo los cambios de algún Mundo base. Antes de salvar el mundo, el sistema operativo Lisp Machine podía optimizar el contenido de la memoria (mejor distribución de la memoria, compactación de estructuras de datos, clasificación de datos, ...).

Aunque su propósito es diferente, una "imagen del sistema" suele tener una estructura similar a un volcado de memoria .

Ver también

enlaces externos