Blue Screen of Death

From Wikipedia, the free encyclopedia

Jump to: navigation, search
A Blue Screen of Death as seen in Windows XP

The Blue Screen of Death (also known as a stop error, BSoD, bluescreen, or Blue Screen of Doom) is a humorous term used for the error screen displayed by some operating systems, most notably Microsoft Windows, after encountering a critical system error which can cause the system to shut down to prevent damage.

Bluescreens on NT-based Windows systems are usually caused by poorly-written device drivers or malfunctioning hardware. In the Win9x era, incompatible DLLs or bugs in the kernel of the operating system could also cause bluescreens. They can also be caused by physical faults such as faulty memory, power supplies, overheating of computer components, or hardware running beyond its specification limits. Bluescreens have been present in all Windows-based operating systems since Windows 3.1; earlier, OS/2 and MS-DOS suffered the Black Screen of Death, and early builds of Windows Vista displayed the Red Screen of Death after a boot loader error.

The term "Blue Screen of Death" originated during OS/2 pre-release development activities at Lattice Inc, the makers of an early Windows and OS/2 C compiler. During porting of Lattice's other tools, developers encountered the stop screen when NULL pointers were dereferenced either in application code or when unexpectedly passed into system API calls. During reviews of progress and feedback to IBM Austin, Texas, the developers described the stop screen as the Blue Screen of Death to denote the screen and the finality of the experience.[citation needed]

Contents

[edit] Types of BSoDs

[edit] Windows NT

In Windows NT-based operating systems, the blue screen of death (displayed in 80x50 text mode as opposed to 9x/Me's 80x25) occurs when the kernel or a driver running in kernel mode encounters an error from which it cannot recover. This is usually caused by an illegal operation being performed. The only safe action the operating system can take in this situation is to restart the computer. As a result, data may be lost, as users are not given an opportunity to save data that has not yet been saved to the hard drive.

The text on the error screen contains the code of the error along with four error-dependent values in parentheses that are there to help software engineers fix the problem that occurred. Depending on the error code, it may display the address where the problem occurred, along with the driver which is loaded at that address. Under Windows NT and 2000, the second and third sections of the screen may contain information on all loaded drivers and a stack dump, respectively. The driver information is in three columns; the first lists the base address of the driver, the second lists the driver's creation date (as a Unix timestamp), and the third lists the name of the driver.[1]

By default, Windows creates a memory dump file when a blue screen error occurs. Depending on the OS version, there may be several formats this can be saved in, ranging from a 64kB "minidump" to a "complete dump" which is effectively a copy of the entire contents of physical RAM. The resulting memory dump file may be debugged later, using a kernel debugger. A debugger is necessary to obtain a stack trace, and may be required to ascertain the true cause of the problem; as the information on-screen is limited and thus possibly misleading, it may hide the true source of the error.

Microsoft Windows can also be configured to send live debugging information to a kernel debugger running on a separate computer. Windows XP also allows for kernel debugging from the machine that is running the OS. If a blue screen error is encountered while a live kernel debugger is attached to the system, Windows will halt execution and cause the debugger to break in, rather than displaying the BSoD. The debugger can then be used to examine the contents of memory and determine the source of the problem.

A BSoD can also be caused by a critical boot loader error, where the operating system is unable to access the boot partition due to incorrect storage drivers, a damaged file system or similar problems. In such cases, there is no memory dump saved. Since the system is unable to boot from the hard drive in this situation, correction of the problem often requires booting from the Microsoft Windows CD. After booting to the CD, it may be possible to correct the problem by performing a repair install or by using the Recovery Console (with CHKDSK, or fixboot).

The colour blue was chosen because the console colours of the Alpha, a platform that runs a version of Windows NT, could not be changed easily.[2] For consistency reasons, blue became the colour for Stop errors on all platforms (alpha/i386/mips/ppc).

[edit] ReactOS

ReactOS, an attempt at creating a free software/open source implementation of a Windows NT-compatible operating system, also features its own BSoD similar to the Windows NT/XP one.

[edit] Windows 9x/Me

The blue screen of death frequently occurs in Microsoft's home desktop operating systems Windows 95, 98, and Me, which displays in a 80x25 text mode. In Windows 9x and Me it is usually less serious, but far more common. In these operating systems, the BSoD is the main way for virtual device drivers to report errors to the user. A Windows 9x/Me BSoD gives the user the option either to restart or continue. However, VxDs do not display BSoDs frivolously — they usually indicate a problem that cannot be fixed without restarting the computer, and hence after a BSoD is displayed the system is usually unstable or unresponsive.

Two of the most common reasons for BSoDs are:

  • Problems that occur with incompatible versions of DLLs. Windows loads these DLLs into memory when they are needed by application programs; if versions are changed, the next time an application loads the DLL it may be different from what the application expects. These incompatibilities increase over time as more new software is installed, and is one of the main reasons why a freshly-installed copy of Windows is more stable than an "old" one.
  • Faulty or poorly written device drivers, hardware incompatibilities, or damaged hardware may also cause a BSoD.

The BSoD can appear if a user ejects removable media while it is being read on 9x/ME. This is particularly common while using Microsoft Office: if a user simply wants to view a document, they might eject a floppy disk before exiting the program. Since Microsoft Office always creates a temporary file in the same directory, it will trigger a BSoD upon exiting because it will attempt to delete the file on the disk that is no longer in the drive.

This type of blue screen is no longer seen in Windows NT, 2000, and XP. In the case of these less serious software errors, the program may still crash, but it will not take down the entire operating system with it due to better memory management and decreased legacy support. In these systems, the "true" BSoD is seen only in cases where the entire operating system crashes.

Perhaps the most famous instance of a Windows 9x BSoD occurred during a presentation of a Windows 98 beta by Bill Gates at COMDEX on April 20, 1998. The demo PC crashed with a BSoD when his assistant (Chris Capossela, who is still working for Microsoft as Corporate VP in the Information Working business unit) connected a scanner to the PC, trying to demonstrate Windows 98's support for Plug and Play devices. This event brought thunderous applause from the crowd and Gates replied after a nervous pause: "That must be why we're not shipping Windows 98 yet."[3]

[edit] Windows CE

The simplest version of the blue screen occurs in Windows CE except the versions for Pocket PC, which appears similar to the ones found in Windows 9x/Me.

[edit] Windows 3.1

Windows 3.1 was the first version of Windows to use the Blue Screen of Death. In Windows 3.1's 386 enhanced mode, the Blue Screen is also displayed when Control-Alt-Delete is pressed.

[edit] In popular culture

[edit] See also

[edit] References

Personal tools