HOME

TheInfoList



OR:

Crash-only software refers to
computer program A computer program is a sequence or set of instructions in a programming language for a computer to execute. Computer programs are one component of software, which also includes documentation and other intangible components. A computer program ...
s that handle failures by simply restarting, without attempting any sophisticated recovery. Correctly written components of crash-only software can
microreboot Microrebooting is a technique used to recover from failures in crash-only software systems. Instead of rebooting the whole system, only subsets of fine-grain components are restarted. The granularity of components is typically finer than the proc ...
to a known-good state without the help of a user. Since failure-handling and normal startup use the same methods, this can increase the chance that bugs in failure-handling code will be noticed, except when there are leftover artefacts, such as
data corruption In the pursuit of knowledge, data (; ) is a collection of discrete values that convey information, describing quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpreted. ...
from a severe failure, that don't occur during normal startup. Crash-only software also has benefits for end-users. All too often, applications do not save their data and settings while running, only at the end of their use. For example,
word processor A word processor (WP) is a device or computer program that provides for input, editing, formatting, and output of text, often with some additional features. Word processor (electronic device), Early word processors were stand-alone devices ded ...
s usually save settings when they are closed. A crash-only application is designed to save all changed user settings soon after they are changed, so that the
persistent state In computer science, persistent memory is any method or apparatus for efficiently storing data structures such that they can continue to be accessed using memory instructions or memory APIs even after the end of the process that created or last mo ...
matches that of the running machine. No matter how an application terminates (be it a clean close or the sudden failure of a laptop battery), the state will persist.


Erlang

Erlang is a computer language originally built by
Ericsson (lit. "Telephone Stock Company of LM Ericsson"), commonly known as Ericsson, is a Swedish multinational networking and telecommunications company headquartered in Stockholm. The company sells infrastructure, software, and services in informat ...
for fault-tolerant telephone switches. Programs are structured as modules that can be replaced ( hot swapped) without having to restart the entire program. If a module crashes or needs to be updated it can be restarted or replaced without affecting any other part of the program. Within the
Open Telecom Platform OTP is a collection of useful middleware, libraries, and tools written in the Erlang programming language. It is an integral part of the open-source distribution of Erlang. The name OTP was originally an acronym for Open Telecom Platform, which w ...
, which often is used together with Erlang, there exist frameworks to simplify and automate this task.


See also

*
Autosave Autosave is a saving function in many computer applications and video games which automatically saves the current changes or progress in the program or game, intending to prevent data loss should the user be otherwise prevented from doing so manua ...
*
Microreboot Microrebooting is a technique used to recover from failures in crash-only software systems. Instead of rebooting the whole system, only subsets of fine-grain components are restarted. The granularity of components is typically finer than the proc ...
*
End-to-end principle The end-to-end principle is a design framework in computer networking. In networks designed according to this principle, guaranteeing certain application-specific features, such as reliability and security, requires that they reside in the commu ...


References


External links

* https://web.archive.org/web/20060426230247/http://crash.stanford.edu/ Operating system technology {{soft-eng-stub