HOME

TheInfoList



OR:

{{Refimprove, date=December 2013 In
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
, a system image is a serialized copy of the entire state of a computer system stored in some
non-volatile Non-volatile memory (NVM) or non-volatile storage is a type of computer memory that can retain stored information even after power is removed. In contrast, volatile memory needs constant power in order to retain data. Non-volatile memory typ ...
form, such as a binary executable file. If a system has all its state written to a disk (i.e. on a disk image), then a system image can be produced by copying the disk to a file elsewhere, often with disk cloning applications. On many systems a complete system image cannot be created by a disk cloning program running within that system because information can be held outside of disks and volatile memory, for example in non-volatile memory, such as boot ROMs. A system is said to be capable of using system images if it can be shut down and later restored to exactly the same state. In such cases, system images can be used for
backup In information technology, a backup, or data backup is a copy of computer data taken and stored elsewhere so that it may be used to restore the original after a data loss event. The verb form, referring to the process of doing so, is "wikt:back ...
. Hibernation is an example that uses an image of the entire machine's RAM.


Process images

A
process A process is a series or set of activities that interact to produce a result; it may occur once-only or be recurrent or periodic. Things called a process include: Business and management * Business process, activities that produce a specific s ...
image is a copy of a given process's state at a given point in time. It is often used to create persistence within an otherwise volatile system. A common example is a
database management system In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and an ...
(DBMS). Most DBMS can store the state of its
database In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
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 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 In computing, an emulator is Computer hardware, hardware or software that enables one computer system (called the ''host'') to behave like another computer system (called the ''guest''). An emulator typically enables the host system to run sof ...
s provide a facility to save an image of the system being emulated. In video gaming this is often referred to as a savestate. Another use is code mobility: a mobile agent can migrate between machines by having its state saved, then copying the data to another machine and restarting there.


Programming language support

Some
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s provide a command to take a system image of a program. This is normally a standard feature in
Smalltalk Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learni ...
(inspired b
FLEX
and
Lisp Lisp (historically LISP, an abbreviation of "list processing") is a family of programming languages with a long history and a distinctive, fully parenthesized Polish notation#Explanation, prefix notation. Originally specified in the late 1950s, ...
, 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 Implementation is the realization of an application, execution of a plan, idea, scientific modelling, model, design, specification, Standardization, standard, algorithm, policy, or the Management, administration or management of a process or Goal ...
using the read-eval-print loop, which usually compiles the programs. Data is loaded into the running Lisp system. The programmer may then
dump Deoxyuridine monophosphate (dUMP), also known as deoxyuridylic acid or deoxyuridylate in its conjugate acid and conjugate base forms, respectively, is a deoxynucleotide. It is an intermediate in the metabolism of deoxyribonucleotides. Biosynthes ...
a system image, containing that pre-compiled and possibly customized code—and also all loaded application data. Often this image is an executable, and can be run on other machines. This system image can be the form in which executable programs are distributed—this method has often been used by programs (such as
TeX Tex, TeX, TEX, may refer to: People and fictional characters * Tex (nickname), a list of people and fictional characters with the nickname * Tex Earnhardt (1930–2020), U.S. businessman * Joe Tex (1933–1982), stage name of American soul singer ...
and
Emacs Emacs (), originally named EMACS (an acronym for "Editor Macros"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, s ...
) largely implemented in Lisp, Smalltalk, or idiosyncratic languages to avoid spending time repeating the same initialization work every time they start up. Similar, Lisp Machines were booted from Lisp images, called Worlds. The World contains the complete operating system, its applications and its data in a single file. It was also possible to save incremental Worlds, that contain only the changes from some base World. Before saving the World, the Lisp Machine operating system could optimize the contents of memory (better memory layout, compacting data structures, sorting data, ...). Although its purpose is different, a "system image" is often similar in structure to a
core dump In computing, a core dump, memory dump, crash dump, storage dump, system dump, or ABEND dump consists of the recorded state of the working Computer storage, memory of a computer program at a specific time, generally when the program has crash (com ...
.


See also

* ISO image


External links


CryoPID
— A Process Freezer for
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
Operating system technology