Rover

windows newsletter

250,000+ readers!

navigate
         
Home
Articles Archive

Search

 
 
 

About

 
Free Reports
Windows Tutorials
 

Subscribe

 
 
Subscribe free using the form below!




 
Enter Unlock Code
 
Advertise
 
     
Crash (computing)
by Dennis Faas | updated 20051117 @ 03:51PM EST | google it | send to friends
Category: Word of The Day (related terms: signal process, hardware exception, execution until)
 
 

A crash in computing is a condition where a program (either an application or part of the operating system) stops performing its expected function and also stops responding to other parts of the system. Often the offending program may simply appear to freeze. If this program is a critical part of the operating system kernel the entire computer may crash (a system crash).

Many crashes are the result of the execution of a single machine instruction, but the causes of this are manifold. Typical causes are when the program counter loses track of the correct execution path 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 are possible, but only some of these are valid instructions, this very often results in an illegal instruction exception.

 
One might say that the original bug that upset the program counter "caused" the crash, but the actual fault was an illegal instruction, possibly 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 may in fact be 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.

   
   
   
 
   

Another cause of crashes is a race condition in communication between processes. One process may send a signal to a second process then stop execution until it receives a response. If the second process is busy the signal will have to wait until the process can get to it. What if the second process was busy sending a signal to the first process and also stops execution until it receives a response? In this case, both processes wait forever for the other to respond to its signal and never see the other's signal. If the processes are uninterruptible they will hang and have to be shut down. If at least one of the processes is a critical kernel process the whole system may crash and have to be restarted.

Crashes: Etymology

The term "crash" originates in the phrase "head crash" which would occur when the read/write heads in a hard disk would physically come into contact with (i.e. crash into) the disk surface. The result of this would usually be that the computer would freeze up.

Application crashes

An application typically crashes when it performs an operation which is not allowed by the operating system. The operating system then shuts down the application.

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 (general protection fault)
     
  • attempting to execute privileged or invalid instructions  unforeseen circumstances or poor code writing that results in the program executing an endless loop
     
  • 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)

Operating system crashes

An operating system crash often happens when a hardware exception occurs which cannot be handled, such as a hardware exception occurring within the operating system itself.

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.

In an ideal world, well-written operating systems should not be able to be crashed by application-level activity. However, until 1993, with the release of Windows NT 3.1, this hasn't been the case for the average PC. Industrial strength systems have enjoyed this sort of stability for much longer.

UNIX based operating systems tend to crash less often than those that are derived from other sources. Some examples of UNIX based systems include Mac OS X, Linux, BSD, and NEXTSTEP.

Source / more information: wikiPedia.com

This document is licensed under the GNU Free Documentation License (GFDL), which means that you can copy and modify it as long as the entire work (including additions) remains under this license.

--

Related newsletter articles:

2005/09/29 ccApp.exe Error during Shutdown? (process)
2005/07/21 WinTasks 5 Professional Review (process)
2004/12/16 Uninstall, Remove Bargain Buddy Spyware and related ... (process)
2005/10/04 TaskInfo Review (process)
2004/01/29 Task Manager woes? (process)
2003/12/04 Windows 98 won't power off after Shutdown? (hardware)
2005/04/26 Video display distorted after reinstalling Windows XP? (hardware)
2003/01/28 Using a software firewall and hardware firewall in tandem, Part 3 (hardware)
2004/02/25 OEM software -- deal or deception? (hardware)

--

Recent articles (from all channels):

2008/05/12 Today in History: for Monday, May 12, 2008
2008/05/12 [ShellX 20080512]: 'Remote Manager', and 'Cyber Bandwidth ...
2008/05/12 Video Gaming Trade Group Struggling
2008/05/12 T-Mobile Finally Joins 3G Phone Race
2008/05/12 Apple Slammed by Environment Watchdog
2008/05/09 [ShellX 20080509]: 'Advanced Run', and 'Diver Windows Manager'
2008/05/09 Texas Refuses Facebook Friend Request
2008/05/09 Photo-Enforcement Technology Replaces Officers On Patrol
2008/05/09 Cuban Government Says 'Ok Computer'
2008/05/09 Excel Can E-Mail Your Weekly Reports For You!
2008/05/08 [ShellX 20080508]: 'Shell Enhancer', and 'Lansweeper'
2008/05/08 Xobni: MS Outlook Social Networking Technology for your Inbox
2008/05/08 Music Companies Jump on GTA IV Bandwagon
2008/05/08 Fascinating: Memristor to replace Binary
2008/05/08 Adobe Hopes To Make Flash Master Of The (Mobile) Universe
2008/05/08 Spiffy Envelopes and Labels in MS Word
2008/05/07 [ShellX 20080507]: 'Winbin2iso', and 'Loop Typer'
2008/05/07 Yahoo Adds Security Warnings To Search Results
2008/05/07 Apple to Lose Money on iTunes Movie Releases
2008/05/07 Amazon.com takes New York Tax to Court
2008/05/07 Need Glasses for the Slide Sorter View in MS PowerPoint?
2008/05/07 After Winning The DVD Format War, Blu-Ray Sales Tank
2008/05/06 [ShellX 20080506]: 'Visual Basic 6.0 Portable', and 'Double-...
2008/05/06 Yahoo Outsources to Jajah
2008/05/06 New HP Circuit Could Change Technology Forever
2008/05/06 Movie Downloads To Match DVD Release Dates
2008/05/06 Microsoft Ends Yahoo Bid
2008/05/05 [ShellX 20080505]: 'Ie7 Pro', and 'Desktop Ok'
2008/05/05 The WB Network Hops Online
2008/05/05 Microsoft Slashes Price of Xbox 360 Overseas
2008/05/05 Google CEO Wants YouTube to Take More of Your Money



--

Subscription Management

To subscribe to our newsletter, or to read past issues:

http://www.infopackets.com/windows+newsletter.htm

To remove or change your subscription information, visit:

http://www.infopackets.com/remove+change+email.htm

         

 

Home | Subscribe | Remove | Download | Advertise | Contact | Refund Guarantee | Privacy Policy
Copyright © Computer 411 | Infopackets.com.  All rights reserved.