Crash (computing)

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 system, ceases to function properly, often exiting after encountering errors. Often the offending program may appear to freeze or hang until a crash reporting service documents details of the crash. If the program is a critical part of the operating system kernel, the entire computer may crash. This is different from a hang or freeze where the application or OS continues to run without obvious response to input.

Many crashes are the result of the execution of a single machine instruction, but the causes of this are many fold. Typical causes are when the program counter is set to an incorrect address or a buffer overflow overwrites a portion of program code due to an earlier bug. In either case, it is quite common for the processor to attempt to execute data or random memory values. Since all data values are possible but only some values are valid instructions, this often results in an illegal instruction exception. By chance such data or random values could be valid (though unplanned) instructions. One might say that the original bug that upset the program counter "caused" the crash, but the actual fault was an illegal instruction some time later. The art of debugging such crashes is connecting the actual cause of the crash (easily determined) with the code that set off the chain of events. This is often very far from obvious—the original bug is usually perfectly valid code from the processor's perspective.

On earlier personal computers, it was actually possible to cause hardware damage through trying to write to hardware addresses outside of the system's main memory. Occasionally, execution of arbitrary data on a system will result in a breakup of screen display. This is widely considered a severe system crash.

Contents

Etymology

The term "crash" may originate from the phrase "head crash", which occurs when the read/write heads inside a hard disk physically come into contact with--"crash" into—the platter, the magnetic data storage surface of a hard disk. A head crash is catastrophic to the drive operation, roughly analogous to the severity of a computer crash to computer software.

Application crashes

An airport display running a program under Windows that has crashed due to a memory read access violation

An application typically crashes when it performs an operation which is not allowed by the operating system. The operating system then triggers an exception or signal in the application. Unix applications traditionally responded to the signal by dumping core. Most Windows and Unix GUI applications respond by displaying a dialog box (such as the one shown to the right) with the option to attach a debugger if one is installed. This behavior is called "crashing". Some applications attempt to recover from the error and continue execution instead of crashing.

Typical errors that result in application crashes include:

  • attempting to read or write memory that is not allocated for reading or writing by that application (segmentation fault) or x86 specific (general protection fault)
  • attempting to execute privileged or invalid instructions
  • attempting to perform I/O operations on hardware devices to which it does not have permission to access
  • passing invalid arguments to system calls
  • attempting to access other system resources to which the application does not have permission to access (bus error)
  • attempting to execute machine instructions with bad arguments (depending on CPU architecture): divide by zero, operations on denorms or NaN values, memory access to unaligned addresses, etc.

Website server crashes

The software running the server behind a website may crash, rendering it inaccessible entirely or providing only an error message instead of normal content.

For example: If a site was using a SQL database (such as MySQL) for a script (such as php) and that SQL server crashed, then php would display a connection error.

Operating system crashes

An operating system crash commonly occurs when a hardware exception occurs that cannot be handled. Operating system crashes can also occur when internal sanity-checking logic within the operating system detects that the operating system has lost its internal self-consistency.

Modern multi-tasking operating systems, such as Windows NT, Linux, or Mac OS X usually remain unharmed when an application program crashes.

See also


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Crash (computing) — Plantage Pour les articles homonymes, voir Crash. Dans le jargon informatique, l’anglicisme « crash » (utilisé comme substantif : un crash, ou comme verbe : le système s est crashé) désigne une interruption anormale et souvent …   Wikipédia en Français

  • Crash — may refer to: Contents 1 Sudden events 2 Film 3 Television 4 …   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 — ► VERB 1) (of a vehicle) collide violently with an obstacle or another vehicle. 2) (of an aircraft) fall from the sky and violently hit the land or sea. 3) move with force, speed, and sudden loud noise. 4) make a sudden loud, deep noise. 5) (of… …   English terms dictionary

  • crash — c.1400, crasschen break in pieces; with no identifiable ancestors or relatives it probably is onomatopoeic. Related: Crashed; crashing. The noun is recorded from 1570s; sense of financial collapse is from 1817, collision is from 1910; references… …   Etymology dictionary

  • Crash cart — A crash cart or code cart (crash trolley in UK medical jargon) is a set of trays/drawers/shelves on wheels used in hospital emergency rooms for transportation and dispensing of emergency medication/equipment at site of medical/surgical emergency… …   Wikipedia

  • Crash simulation — A crash simulation is a virtual recreation of a destructive crash test of a car or a highway guard rail system using a computer simulation in order to examine the level of safety of the car and its occupants. Crash simulations are used by… …   Wikipedia

  • crash — Dramatic loss in market value. The last great crash was in 1929. Some refer to October 1987 as a crash but the market return for the entire year of 1987 was positive. Bloomberg Financial Dictionary * * * ▪ I. crash crash 1 [kræʆ] noun [countable] …   Financial and business terms

  • crash */*/ — I UK [kræʃ] / US verb Word forms crash : present tense I/you/we/they crash he/she/it crashes present participle crashing past tense crashed past participle crashed 1) [intransitive] if a moving vehicle crashes, it hits something, causing damage… …   English dictionary

  • crash — 1. v., n., & adv. v. 1 intr. & tr. make or cause to make a loud smashing noise (the cymbals crashed; crashed the plates together). 2 tr. & intr. throw, drive, move, or fall with a loud smashing noise. 3 intr. & tr. a collide or cause (a vehicle)… …   Useful english dictionary

Share the article and excerpts

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