Crash-only software

Crash-only software

Crash-only software refers to computer programs that handle failures by simply restarting, without attempting any sophisticated recovery[1]. Correctly written components of crash-only software can microreboot 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 artifacts, such as data corruption from a severe failure, that don't occur during normal startup.

An example of a crash-only implementation is unplugging a computer and plugging it back in. Any data being written at the time may be corrupted, and unsaved data and settings in RAM will be lost. However, if one waits for the computer to be idle (no data being written), saves all the data they need, and hasn't changed any operating system settings they want to keep, then unplugging the computer is faster than shutting down.

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 processors 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 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.

Contents

Erlang

Erlang is a computer language originally built by Ericsson 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, which often is used together with Erlang, there exist frameworks to simplify and automate this task.

References

  1. ^ Candea, George; Fox, Armando (May 2003). "Crash-only software". 9th Workshop on Hot Topics in Operating Systems. Lihue, Hawaii, USA. 

See also

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Crash Reporter (Mac OS X) — Crash Reporter Developer(s) Apple Inc. Stable release 2.1 Operating system Mac OS X Type crash reporter …   Wikipedia

  • Crash to desktop — A crash to desktop (or CTD) is a computer program crash which is said to occur when a program (commonly a video game) unexpectedly quits, abruptly taking the user back to the desktop. Usually, the term is applied only to crashes where no error is …   Wikipedia

  • Crash Team Racing — Developer(s) Naughty Dog Publisher(s) Sony Computer Entertainment Di …   Wikipedia

  • Crash Zone — Genre Children s science fiction Developed by Robert Greenberg Written by Robert Greenberg Pino Amenta Jeff Peck Philip Dalkin Kevin Nemeth Shane Brennan Anth …   Wikipedia

  • Crash Bash — The North American cover of Crash Bash features Crash, Coco, Cortex, Polar, and Tiny. Developer(s) Eurocom …   Wikipedia

  • Crash Time: Autobahn Pursuit — Developer(s) Synetic …   Wikipedia

  • Crash reporter — A crash reporter is an application whose function is to report crash data to a third party, usually to the party responsible for the crashed program. Crash reports often include data such as stack traces, type of crash, and version of software.… …   Wikipedia

  • Crash (computing) — A public payphone that has experienced a fatal error causing a crash and is displaying the Blue Screen of Death. A crash (or system crash) in computing is a condition where a computer or a program, either an application or part of the operating… …   Wikipedia

  • Crash Bandicoot 2: Cortex Strikes Back — Not to be confused with Crash Bandicoot 2: N Tranced. Crash Bandicoot 2: Cortex Strikes Back North American cover art Developer(s) Naughty Dog Publisher(s …   Wikipedia

  • Computer software — Software redirects here. For other uses, see Software (disambiguation). Computer software, or just software, is a collection of computer programs and related data that provide the instructions for telling a computer what to do and how to do it.… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”