Kernel panic
From Wikipedia, the free encyclopedia

A kernel panic is a message displayed by an operating system upon detecting an internal system error from which it cannot recover; the term is largely specific to Unix and Unix-like systems. The kernel routines that handle panics (in AT&T-derived Unix source code, a routine known as panic()) are generally designed to dump debugging information to either the screen or a specified file and then freeze the computer. The information provided is not always useful to the end user, but can sometimes provide troubleshooting data for a system developer or tech support personnel. Attempts by the operating system to read an invalid or non permitted memory address are a common source of kernel panics. A panic may also occur as a result of a hardware failure or a bug in the operating system.
The kernel panic was introduced in an early version of Unix, and demonstrated a major difference between the design philosophies of Unix and its predecessor Multics. Multics developer Tom van Vleck recalls a discussion of this change with Unix developer Dennis Ritchie:
“ | I remarked to Dennis that easily half the code I was writing in Multics was error recovery code. He said, "We left all that stuff out. If there's an error, we have this routine called panic, and when it is called, the machine crashes, and you holler down the hall, 'Hey, reboot it.'"[1] | ” |
The original panic() function was essentially unchanged from V5 to the VAX-based 32V and output only an error message with no other information, then dropped the system into an endless idle loop. As the Unix codebase was enhanced, the panic() function was also enhanced to dump various forms of debugging information to the terminal.
The Mac OS X Kernel Panic, "Please Restart" message has been nicknamed "The Gray Screen of Panic and Disarray" by some Mac OS X users.
While "kernel panic" is the term preferred for Unix-based operating systems, the reporting of unrecoverable errors in other systems have other names:
[edit] Kernel panic in other operating systems
- OS/2, Windows 3.x: Black Screen of Death
- newer Windows versions: Blue Screen of Death
- older Macintosh systems: Sad Mac (hardware error on startup), Bomb (for programs or OS errors)
- Amiga: Guru Meditation
- Windows Mobile and Palm (Palmtops, Pocket PCs, SmartPhones): White Screen of Death
[edit] External links
- What's a "kernel panic"? (Mac OS X)
- "Panic! Unix System Crash Dump Analysis" (SunSoft Press / Prentice Hall book by Chris Drake & Kimberley Brown
- The file prf.c from Version 6 Unix and the Lions Book, containing the panic() routine as implemented on early Unix systems (will not compile with modern C compilers)
- Kernel panic source code examples from OpenSolaris, Darwin/Mac OS X, Minix, and Linux