Cosmic rays are high-energy radiation originating outside the Solar System and from distant galaxies. Upon impact with the Earth's atmosphere, cosmic rays can produce showers of secondary particles that sometimes reach the surface. Composed of high-energy protons and atomic nuclei, they are originated either from the sun or from outside of our solar system. Data from the Fermi Space Telescope have been interpreted as evidence that a significant fraction of primary cosmic rays originate from the supernova explosions of stars. Active galactic nuclei appear to produce cosmic rays, based on observations of neutrinos and gamma rays from blazar TXS 0506+056 in 2018; the term ray is somewhat of a misnomer due to a historical accident, as cosmic rays were at first, wrongly, thought to be electromagnetic radiation. In common scientific usage, high-energy particles with intrinsic mass are known as "cosmic" rays, while photons, which are quanta of electromagnetic radiation are known by their common names, such as gamma rays or X-rays, depending on their photon energy.
In current usage, the term cosmic ray exclusively refers to massive particles – those that have rest mass – as opposed to photons, which have no rest mass, neutrinos, which have negligible rest mass. Massive particles have additional, mass-energy when they are moving, due to relativistic effects. Through this process, some particles acquire tremendously high mass-energies; these are higher than the photon energy of the highest-energy photons detected to date. The energy of the massless photon depends on frequency, not speed, as photons always travel at the same speed. At the higher end of the energy spectrum, relativistic kinetic energy is the main source of the mass-energy of cosmic rays; the highest-energy fermionic cosmic rays detected to date, such as the Oh-My-God particle, had an energy of about 3×1020 eV, while the highest-energy gamma rays to be observed, very-high-energy gamma rays, are photons with energies of up to 1014 eV, the highest energy neutrinos detected so far have energies of several 1015 eV.
Hence, the highest-energy detected fermionic cosmic rays are about 3×106 times as energetic as the highest-energy detected cosmic photons. Of primary cosmic rays, which originate outside of Earth's atmosphere, about 99% are the nuclei of well-known atoms, about 1% are solitary electrons. Of the nuclei, about 90% are simple protons; these fractions vary over the energy range of cosmic rays. A small fraction are stable particles of antimatter, such as positrons or antiprotons; the precise nature of this remaining fraction is an area of active research. An active search from Earth orbit for anti-alpha particles has failed to detect them. Cosmic rays attract great interest due to the damage they inflict on microelectronics and life outside the protection of an atmosphere and magnetic field, scientifically, because the energies of the most energetic ultra-high-energy cosmic rays have been observed to approach 3 × 1020 eV, about 40 million times the energy of particles accelerated by the Large Hadron Collider.
One can show that such enormous energies might be achieved by means of the centrifugal mechanism of acceleration in active galactic nuclei. At 50 J, the highest-energy ultra-high-energy cosmic rays have energies comparable to the kinetic energy of a 90-kilometre-per-hour baseball; as a result of these discoveries, there has been interest in investigating cosmic rays of greater energies. Most cosmic rays, however, do not have such extreme energies. After the discovery of radioactivity by Henri Becquerel in 1896, it was believed that atmospheric electricity, ionization of the air, was caused only by radiation from radioactive elements in the ground or the radioactive gases or isotopes of radon they produce. Measurements of increasing ionization rates at increasing heights above the ground during the decade from 1900 to 1910 could be explained as due to absorption of the ionizing radiation by the intervening air. In 1909, Theodor Wulf developed an electrometer, a device to measure the rate of ion production inside a hermetically sealed container, used it to show higher levels of radiation at the top of the Eiffel Tower than at its base.
However, his paper published in Physikalische Zeitschrift was not accepted. In 1911, Domenico Pacini observed simultaneous variations of the rate of ionization over a lake, over the sea, at a depth of 3 metres from the surface. Pacini concluded from the decrease of radioactivity underwater that a certain part of the ionization must be due to sources other than the radioactivity of the Earth. In 1912, Victor Hess carried three enhanced-accuracy Wulf electrometers to an altitude of 5,300 metres in a free balloon flight, he found the ionization rate increased fourfold over the rate at ground level. Hess ruled out the Sun as the radiation's source by making a balloon ascent during a near-total eclipse. With the moon blocking much of the Sun's visible radiation, Hess still measured rising radiation at rising altitudes, he concluded that "The results of the observations seem most to be explained by the assumption that radiation of high penetrating power enters from above into our atmosphere." In 1913–1914, Werner Kolhörster confirmed Victor Hess's earlier results by measuring the increased ionization enthalpy rate at an altitude of 9 km.
Hess received the Nobel Prize in Physics in 1936
Linux is a family of free and open-source software operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is packaged in a Linux distribution. Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy. Popular Linux distributions include Debian and Ubuntu. Commercial distributions include SUSE Linux Enterprise Server. Desktop Linux distributions include a windowing system such as X11 or Wayland, a desktop environment such as GNOME or KDE Plasma. Distributions intended for servers may omit graphics altogether, include a solution stack such as LAMP; because Linux is redistributable, anyone may create a distribution for any purpose. Linux was developed for personal computers based on the Intel x86 architecture, but has since been ported to more platforms than any other operating system.
Linux is the leading operating system on servers and other big iron systems such as mainframe computers, the only OS used on TOP500 supercomputers. It is used by around 2.3 percent of desktop computers. The Chromebook, which runs the Linux kernel-based Chrome OS, dominates the US K–12 education market and represents nearly 20 percent of sub-$300 notebook sales in the US. Linux runs on embedded systems, i.e. devices whose operating system is built into the firmware and is tailored to the system. This includes routers, automation controls, digital video recorders, video game consoles, smartwatches. Many smartphones and tablet computers run other Linux derivatives; because of the dominance of Android on smartphones, Linux has the largest installed base of all general-purpose operating systems. Linux is one of the most prominent examples of open-source software collaboration; the source code may be used and distributed—commercially or non-commercially—by anyone under the terms of its respective licenses, such as the GNU General Public License.
The Unix operating system was conceived and implemented in 1969, at AT&T's Bell Laboratories in the United States by Ken Thompson, Dennis Ritchie, Douglas McIlroy, Joe Ossanna. First released in 1971, Unix was written in assembly language, as was common practice at the time. In a key pioneering approach in 1973, it was rewritten in the C programming language by Dennis Ritchie; the availability of a high-level language implementation of Unix made its porting to different computer platforms easier. Due to an earlier antitrust case forbidding it from entering the computer business, AT&T was required to license the operating system's source code to anyone who asked; as a result, Unix grew and became adopted by academic institutions and businesses. In 1984, AT&T divested itself of Bell Labs; the GNU Project, started in 1983 by Richard Stallman, had the goal of creating a "complete Unix-compatible software system" composed of free software. Work began in 1984. In 1985, Stallman started the Free Software Foundation and wrote the GNU General Public License in 1989.
By the early 1990s, many of the programs required in an operating system were completed, although low-level elements such as device drivers and the kernel, called GNU/Hurd, were stalled and incomplete. Linus Torvalds has stated that if the GNU kernel had been available at the time, he would not have decided to write his own. Although not released until 1992, due to legal complications, development of 386BSD, from which NetBSD, OpenBSD and FreeBSD descended, predated that of Linux. Torvalds has stated that if 386BSD had been available at the time, he would not have created Linux. MINIX was created by Andrew S. Tanenbaum, a computer science professor, released in 1987 as a minimal Unix-like operating system targeted at students and others who wanted to learn the operating system principles. Although the complete source code of MINIX was available, the licensing terms prevented it from being free software until the licensing changed in April 2000. In 1991, while attending the University of Helsinki, Torvalds became curious about operating systems.
Frustrated by the licensing of MINIX, which at the time limited it to educational use only, he began to work on his own operating system kernel, which became the Linux kernel. Torvalds began the development of the Linux kernel on MINIX and applications written for MINIX were used on Linux. Linux matured and further Linux kernel development took place on Linux systems. GNU applications replaced all MINIX components, because it was advantageous to use the available code from the GNU Project with the fledgling operating system. Torvalds initiated a switch from his original license, which prohibited commercial redistribution, to the GNU GPL. Developers worked to integrate GNU components with the Linux kernel, making a functional and free operating system. Linus Torvalds had wanted to call his invention "Freax", a portmant
Microsoft Windows is a group of several graphical operating system families, all of which are developed and sold by Microsoft. Each family caters to a certain sector of the computing industry. Active Windows families include Windows Embedded. Defunct Windows families include Windows Mobile and Windows Phone. Microsoft introduced an operating environment named Windows on November 20, 1985, as a graphical operating system shell for MS-DOS in response to the growing interest in graphical user interfaces. Microsoft Windows came to dominate the world's personal computer market with over 90% market share, overtaking Mac OS, introduced in 1984. Apple came to see Windows as an unfair encroachment on their innovation in GUI development as implemented on products such as the Lisa and Macintosh. On PCs, Windows is still the most popular operating system. However, in 2014, Microsoft admitted losing the majority of the overall operating system market to Android, because of the massive growth in sales of Android smartphones.
In 2014, the number of Windows devices sold was less than 25 %. This comparison however may not be relevant, as the two operating systems traditionally target different platforms. Still, numbers for server use of Windows show one third market share, similar to that for end user use; as of October 2018, the most recent version of Windows for PCs, tablets and embedded devices is Windows 10. The most recent versions for server computers is Windows Server 2019. A specialized version of Windows runs on the Xbox One video game console. Microsoft, the developer of Windows, has registered several trademarks, each of which denote a family of Windows operating systems that target a specific sector of the computing industry; as of 2014, the following Windows families are being developed: Windows NT: Started as a family of operating systems with Windows NT 3.1, an operating system for server computers and workstations. It now consists of three operating system subfamilies that are released at the same time and share the same kernel: Windows: The operating system for mainstream personal computers and smartphones.
The latest version is Windows 10. The main competitor of this family is macOS by Apple for personal computers and Android for mobile devices. Windows Server: The operating system for server computers; the latest version is Windows Server 2019. Unlike its client sibling, it has adopted a strong naming scheme; the main competitor of this family is Linux. Windows PE: A lightweight version of its Windows sibling, meant to operate as a live operating system, used for installing Windows on bare-metal computers, recovery or troubleshooting purposes; the latest version is Windows PE 10. Windows IoT: Initially, Microsoft developed Windows CE as a general-purpose operating system for every device, too resource-limited to be called a full-fledged computer. However, Windows CE was renamed Windows Embedded Compact and was folded under Windows Compact trademark which consists of Windows Embedded Industry, Windows Embedded Professional, Windows Embedded Standard, Windows Embedded Handheld and Windows Embedded Automotive.
The following Windows families are no longer being developed: Windows 9x: An operating system that targeted consumers market. Discontinued because of suboptimal performance. Microsoft now caters to the consumer market with Windows NT. Windows Mobile: The predecessor to Windows Phone, it was a mobile phone operating system; the first version was called Pocket PC 2000. The last version is Windows Mobile 6.5. Windows Phone: An operating system sold only to manufacturers of smartphones; the first version was Windows Phone 7, followed by Windows Phone 8, the last version Windows Phone 8.1. It was succeeded by Windows 10 Mobile; the term Windows collectively describes any or all of several generations of Microsoft operating system products. These products are categorized as follows: The history of Windows dates back to 1981, when Microsoft started work on a program called "Interface Manager", it was announced in November 1983 under the name "Windows", but Windows 1.0 was not released until November 1985.
Windows 1.0 was to achieved little popularity. Windows 1.0 is not a complete operating system. The shell of Windows 1.0 is a program known as the MS-DOS Executive. Components included Calculator, Cardfile, Clipboard viewer, Control Panel, Paint, Reversi and Write. Windows 1.0 does not allow overlapping windows. Instead all windows are tiled. Only modal dialog boxes may appear over other windows. Microsoft sold as included Windows Development libraries with the C development environment, which included numerous windows samples. Windows 2.0 was released in December 1987, was more popular than its predecessor. It features several improvements to the user memory management. Windows 2.03 changed the OS from tiled windows to overlapping windows. The result of this change led to Apple Computer filing a suit against Microsoft alleging infringement on Apple's copyrights. Windows 2.0
A debugger or debugging tool is a computer program, used to test and debug other programs. The code to be examined might alternatively be running on an instruction set simulator, a technique that allows great power in its ability to halt when specific conditions are encountered, but which will be somewhat slower than executing the code directly on the appropriate processor; some debuggers offer two modes of operation, partial simulation, to limit this impact. A "trap" occurs when the program cannot continue because of a programming bug or invalid data. For example, the program might have tried to use an instruction not available on the current version of the CPU or attempted to access unavailable or protected memory; when the program "traps" or reaches a preset condition, the debugger shows the location in the original code if it is a source-level debugger or symbolic debugger now seen in integrated development environments. If it is a low-level debugger or a machine-language debugger it shows the line in the disassembly.
Debuggers offer a query processor, a symbol resolver, an expression interpreter, a debug support interface at its top level. Debuggers offer more sophisticated functions such as running a program step by step, stopping at some event or specified instruction by means of a breakpoint, tracking the values of variables; some debuggers have the ability to modify program state. It may be possible to continue execution at a different location in the program to bypass a crash or logical error; the same functionality which makes a debugger useful for eliminating bugs allows it to be used as a software cracking tool to evade copy protection, digital rights management, other software protection features. It also makes it useful as a general verification tool, fault coverage, performance analyzer if instruction path lengths are shown. Most mainstream debugging engines, such as gdb and dbx, provide console-based command line interfaces. Debugger front-ends are popular extensions to debugger engines that provide IDE integration, program animation, visualization features.
Some debuggers include a feature called "reverse debugging" known as "historical debugging" or "backwards debugging". These debuggers make it possible to step a program's execution backwards in time. Various debuggers include this feature. Microsoft Visual Studio offers IntelliTrace reverse debugging for Visual Basic. NET, some other languages, but not C++. Reverse debuggers exist for C, C++, Python and other languages; some are open source. Some reverse debuggers slow down the target by orders of magnitude, but the best reverse debuggers cause a slowdown of 2× or less. Reverse debugging is useful for certain types of problems, but is still not used yet; some debuggers operate on a single specific language while others can handle multiple languages transparently. For example, if the main target program is written in COBOL but calls assembly language subroutines and PL/1 subroutines, the debugger may have to dynamically switch modes to accommodate the changes in language as they occur; some debuggers incorporate memory protection to avoid storage violations such as buffer overflow.
This may be important in transaction processing environments where memory is dynamically allocated from memory'pools' on a task by task basis. Most modern microprocessors have at least one of these features in their CPU design to make debugging easier: Hardware support for single-stepping a program, such as the trap flag. An instruction set that meets the Popek and Goldberg virtualization requirements makes it easier to write debugger software that runs on the same CPU as the software being debugged. In-system programming allows an external hardware debugger to reprogram a system under test. Many systems with such ISP support have other hardware debug support. Hardware support for code and data breakpoints, such as address comparators and data value comparators or, with more work involved, page fault hardware. JTAG access to hardware debug interfaces such as those on ARM architecture processors or using the Nexus command set. Processors used in embedded systems have extensive JTAG debug support.
Solaris (operating system)
Solaris is a Unix operating system developed by Sun Microsystems. It superseded their earlier SunOS in 1993. In 2010, after the Sun acquisition by Oracle, it was renamed Oracle Solaris. Solaris is known for its scalability on SPARC systems, for originating many innovative features such as DTrace, ZFS and Time Slider. Solaris supports SPARC and x86-64 servers from Oracle and other vendors. Solaris is registered as compliant with the Single UNIX Specification. Solaris was developed as proprietary software. In June 2005, Sun Microsystems released most of the codebase under the CDDL license, founded the OpenSolaris open-source project. With OpenSolaris, Sun wanted to build a user community around the software. After the acquisition of Sun Microsystems in January 2010, Oracle decided to discontinue the OpenSolaris distribution and the development model. In August 2010, Oracle discontinued providing public updates to the source code of the Solaris kernel turning Solaris 11 back into a closed source proprietary operating system.
Following that, in 2011 the Solaris 11 kernel source code leaked to BitTorrent. However, through the Oracle Technology Network, industry partners can still gain access to the in-development Solaris source code. Source code for the open source components of Solaris 11 is available for download from Oracle. In 1987, AT&T Corporation and Sun announced that they were collaborating on a project to merge the most popular Unix variants on the market at that time: Berkeley Software Distribution, UNIX System V, Xenix; this became Unix System V Release 4. On September 4, 1991, Sun announced that it would replace its existing BSD-derived Unix, SunOS 4, with one based on SVR4; this was identified internally as SunOS 5, but a new marketing name was introduced at the same time: Solaris 2. The justification for this new overbrand was that it encompassed not only SunOS, but the OpenWindows graphical user interface and Open Network Computing functionality. Although SunOS 4.1.x micro releases were retroactively named Solaris 1 by Sun, the Solaris name is used exclusively to refer only to the releases based on SVR4-derived SunOS 5.0 and later.
For releases based on SunOS 5, the SunOS minor version is included in the Solaris release number. For example, Solaris 2.4 incorporates SunOS 5.4. After Solaris 2.6, the 2. was dropped from the release name, so Solaris 7 incorporates SunOS 5.7, the latest release SunOS 5.11 forms the core of Solaris 11.4. Although SunSoft stated in its initial Solaris 2 press release their intent to support both SPARC and x86 systems, the first two Solaris 2 releases, 2.0 and 2.1, were SPARC-only. An x86 version of Solaris 2.1 was released in June 1993, about 6 months after the SPARC version, as a desktop and uniprocessor workgroup server operating system. It included the Wabi emulator to support Windows applications. At the time, Sun offered the Interactive Unix system that it had acquired from Interactive Systems Corporation. In 1994, Sun released Solaris 2.4, supporting both SPARC and x86 systems from a unified source code base. On September 2, 2017, Simon Phipps, a former Sun Microsystems employee not hired by Oracle in the acquisition, reported on Twitter that Oracle had laid off the Solaris core development staff, which many interpreted as sign that Oracle no longer intended to support future development of the platform.
While Oracle did have a large layoff of Solaris development engineering staff, development continues today of which Solaris 11.4 was released in 2018. Solaris uses a common code base for the platforms it supports: i86pc. Solaris has a reputation for being well-suited to symmetric multiprocessing, supporting a large number of CPUs, it has been integrated with Sun's SPARC hardware, with which it is marketed as a combined package. This has led to more reliable systems, but at a cost premium compared to commodity PC hardware. However, it has supported x86 systems since Solaris 2.1 and 64-bit x86 applications since Solaris 10, allowing Sun to capitalize on the availability of commodity 64-bit CPUs based on the x86-64 architecture. Sun has marketed Solaris for use with both its own "x64" workstations and servers based on AMD Opteron and Intel Xeon processors, as well as x86 systems manufactured by companies such as Dell, Hewlett-Packard, IBM; as of 2009, the following vendors support Solaris for their x86 server systems: Dell – will "test and optimize Solaris and OpenSolaris on its rack and blade servers and offer them as one of several choices in the overall Dell software menu" Intel Hewlett Packard Enterprise – distributes and provides software technical support for Solaris on BL, DL, SL platforms Fujitsu SiemensAs of July 2010, Dell and HP certify and resell Oracle Solaris, Oracle Enterprise Linux and Oracle VM on their respective x86 platforms, IBM stopped direct support for Solaris on x64 kit.
Solaris 2.5.1 included support for the PowerPC platform, but the port was canceled before the Solaris 2.6 release. In January 2006, a community of developers at Blastwave began work on a PowerPC port which they named Polaris. In October 2006, an OpenSolaris community project based on the Blastwave efforts and Sun Labs' Project Pulsar, which re-integrated the relevant parts from Solaris 2.5.1 into OpenSolaris, announced its first official source code release. A port of Solaris to the Intel Itanium architecture was announced in 1997 but never brought to market. On November 28, 2007, IBM, Sine Nomine Associates demonstrated a preview of OpenSolaris for System z running on an IBM System z mainframe under z/VM, called Sirius
In mathematics and computing, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most the symbols "0"–"9" to represent values zero to nine, "A"–"F" to represent values ten to fifteen. Hexadecimal numerals are used by computer system designers and programmers, as they provide a more human-friendly representation of binary-coded values; each hexadecimal digit represents four binary digits known as a nibble, half a byte. For example, a single byte can have values ranging from 0000 0000 to 1111 1111 in binary form, which can be more conveniently represented as 00 to FF in hexadecimal. In mathematics, a subscript is used to specify the radix. For example the decimal value 10,995 would be expressed in hexadecimal as 2AF316. In programming, a number of notations are used to support hexadecimal representation involving a prefix or suffix; the prefix 0x is used in C and related languages, which would denote this value by 0x2AF3. Hexadecimal is used in the transfer encoding Base16, in which each byte of the plaintext is broken into two 4-bit values and represented by two hexadecimal digits.
In contexts where the base is not clear, hexadecimal numbers can be ambiguous and confused with numbers expressed in other bases. There are several conventions for expressing values unambiguously. A numerical subscript can give the base explicitly: 15910 is decimal 159; some authors prefer a text subscript, such as 159decimal and 159hex, or 159h. In linear text systems, such as those used in most computer programming environments, a variety of methods have arisen: In URIs, character codes are written as hexadecimal pairs prefixed with %: http://www.example.com/name%20with%20spaces where %20 is the space character, ASCII code point 20 in hex, 32 in decimal. In XML and XHTML, characters can be expressed as hexadecimal numeric character references using the notation
ode, thus ’. In the Unicode standard, a character value is represented with U+ followed by the hex value, e.g. U+20AC is the Euro sign. Color references in HTML, CSS and X Window can be expressed with six hexadecimal digits prefixed with #: white, for example, is represented #FFFFFF.
CSS allows 3-hexdigit abbreviations with one hexdigit per component: #FA3 abbreviates #FFAA33. Unix shells, AT&T assembly language and the C programming language use the prefix 0x for numeric constants represented in hex: 0x5A3. Character and string constants may express character codes in hexadecimal with the prefix \x followed by two hex digits:'\x1B' represents the Esc control character. To output an integer as hexadecimal with the printf function family, the format conversion code %X or %x is used. In MIME quoted-printable encoding, characters that cannot be represented as literal ASCII characters are represented by their codes as two hexadecimal digits prefixed by an equal to sign =, as in Espa=F1a to send "España". In Intel-derived assembly languages and Modula-2, hexadecimal is denoted with a suffixed H or h: FFh or 05A3H; some implementations require a leading zero when the first hexadecimal digit character is not a decimal digit, so one would write 0FFh instead of FFh Other assembly languages, Delphi, some versions of BASIC, GameMaker Language and Forth use $ as a prefix: $5A3.
Some assembly languages use the notation H'ABCD'. Fortran 95 uses Z'ABCD'. Ada and VHDL enclose hexadecimal numerals in based "numeric quotes": 16#5A3#. For bit vector constants VHDL uses the notation x"5A3". Verilog represents hexadecimal constants in the form 8'hFF, where 8 is the number of bits in the value and FF is the hexadecimal constant; the Smalltalk language uses the prefix 16r: 16r5A3 PostScript and the Bourne shell and its derivatives denote hex with prefix 16#: 16#5A3. For PostScript, binary data can be expressed as unprefixed consecutive hexadecimal pairs: AA213FD51B3801043FBC... Common Lisp uses the prefixes # 16r. Setting the variables *read-base* and *print-base* to 16 can be used to switch the reader and printer of a Common Lisp system to Hexadecimal number representation for reading and printing numbers, thus Hexadecimal numbers can be represented without the #x or #16r prefix code, when the input or output base has been changed to 16. MSX BASIC, QuickBASIC, FreeBASIC and Visual Basic prefix hexadecimal numbers with &H: &H5A3 BBC BASIC and Locomotive BASIC use & for hex.
TI-89 and 92 series uses a 0h prefix: 0h5A3 ALGOL 68 uses the prefix 16r to denote hexadecimal numbers: 16r5a3. Binary and octal numbers can be specified similarly; the most common format for hexadecimal on IBM mainframes and midrange computers running the traditional OS's is X'5A3', is used in Assembler, PL/I, COBOL, JCL, scripts and other places. This format was common on
Blue Screen of Death
A stop error, better known as a Blue Screen of Death, is an error screen displayed on a Windows computer system after a fatal system error known as a system crash: when the operating system reaches a condition where it can no longer operate safely. BSods have been around since the first Windows edition, Windows 1.01. It appears as a blue screen with white letters telling of a problem. BSoDs have been present in Windows NT 3.1 and all Windows operating systems released afterwards. BSoDs can be caused by poorly written device drivers or malfunctioning hardware, such as faulty memory, power supply issues, overheating of components, or hardware running beyond its specification limits. In the Windows 9x era, incompatible DLLs or bugs in the operating system kernel could cause BSoDs; because of the instability and lack of memory protection in Windows 9x, BSoDs were much more common. On 4 September 2014, several online journals, including Business Insider, DailyTech, Gizmodo, Neowin, Softpedia,TechFactsBD, The Register, The Verge attributed the creation of the Blue Screen of Death to Steve Ballmer, Microsoft's former CEO, while citing a source that does not say so: An article by the Microsoft employee Raymond Chen, titled "Who wrote the text for the Ctrl+Alt+Del dialog in Windows 3.1?"
The article was about the creation of the first rudimentary task manager in Windows 3.x, which shared visual similarities with a BSoD. In a follow-up on 9 September 2014, Raymond Chen complained about this widespread mistake, claimed responsibility for revising the BSoD in Windows 95 and panned BGR.com for having "entirely fabricated a scenario and posited it as real". Engadget updated its article to correct the mistake; until Windows 8 and Windows Server 2012, BSoDs showed silver text on a royal blue background with information about current memory values and register values. Windows Server 2012, Windows 8 and Windows 10 use a cerulean background instead. Windows 95, 98 and ME BSoDs use 80×25 text mode. BSoDs in the Windows NT family use 80×50 text mode on a 720×400 screen. Windows XP BSoDs use the Lucida Console font while the Windows Vista and 7 BSoD uses the Consolas font. Windows 8, Windows Server 2012 use Segoe UI and attempt to render the BSoD at native resolution, otherwise defaulting to 640x480.
Windows 10 uses the same format as Windows 8, but has a QR code which leads to a Microsoft survey about how the blue screen was caused. Despite the "blue screen" name, in Windows 9x, the color of the message could be customized by the user; as of December 2016, Windows Insider builds of Windows 10 feature the same format as in public release versions, but with a green background instead of a blue one. "STOP Error" redirects here. In Windows NT family of operating systems, the blue screen of death occurs when the kernel or a driver running in kernel mode encounters an error from which it cannot recover; this is 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 and its symbolic name 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, loaded at that address. Under Windows NT, 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. By default, Windows will create a memory dump file. Depending on the OS version, there may be several formats this can be saved in, ranging from a 64kB "minidump" to a "complete dump", a copy of the entire contents of physical memory; the resulting memory dump file may be debugged using a kernel debugger. For Windows WinDBG or KD debuggers from Debugging Tools for Windows are used. A debugger is necessary to obtain a stack trace, may be required to ascertain the true cause of the problem. By default, Windows XP is configured to save only a 64kB minidump when it encounters a stop error, to automatically reboot the computer; because this process happens quickly, the blue screen may be seen only for an instant or not at all.
Users have sometimes noted this as a random reboot rather than a traditional stop error, are only aware of an issue after Windows reboots and displays a notification that it has recovered from a serious error. This happens only when the computer has a function called "Auto Restart" enabled, which can be disabled in the Control Panel which in turn shows the stop error. Microsoft Windows can be configured to send live debugging information to a kernel debugger running on a separate computer. If a stop 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 be used to examine the contents of memory and determine