System image: Difference between revisions

Content deleted Content added
No edit summary
Line 8:
 
==Process images==
A [[Process (computing)|process]] image is a copy of its [[State (computer science)|state]] at a given point in time. It is often used for [[persistence]]. A common example is a [[database management system]] (DBMS). Most DBMS can store the state of its [[database]] or databases to a file before being closed down (see [[database dump]]). The DBMS can then be restarted later with the information in the database intact and proceed as though the software had never stopped. Another example would be the [[hibernateHibernate (OS feature)|hibernate]] feature of many operating systems. Here, the state of all [[RAM]] memory is stored to disk, the computer is brought into an energy saving mode, then later restored to normal operation.
 
Some [[emulator]]s provide a facility to save an image of the system being emulated. This is often called a [[savestate]].
 
===Programming language support===
Some [[Programming language|programming language]]s provide a command to take a system image of a program. This is normally a standard feature in [[Smalltalk]] (inspired by [http://www.mprove.de/diplom/gui/kay68.html FLEX]) and [[Lisp (programming language)|Lisp]], among other languages. Development in these languages is often quite different from many other programming languages. For example in Lisp the programmer may load packages or other code into a running Lisp [[implementation]] using the [[read-eval-print loop]], which usually compiles the programs. Data is loaded into the running Lisp system. The programmer may then [[dump]] a system image, containing that pre-compiled and possibly customized code - and also all loaded application data.
<!--
It's to avoid the time penalty of recompiling that software like Emacs use images, and modern Common Lisp interpreters, anyway, compile packages as a matter of course (See SBCL, CMUCL, etc.)