When a computer program (including the operating system itself) encounters a situation it cannot handle,10 it simply stops, or crashes.11 Crashes are usually caused by bad software design, though they can also be caused by hardware failure, or even bad hardware design. GNU/Linux is an extremely stable operating system: very few things short of hardware failure or a deliberate attack will cause a kernel crash. If a single application program crashes, the kernel runs without interruption; you typically see nothing more than the message, `` segmentation fault''. Stability is an important issue for commercial users, especially for web and enterprise servers, but instability is at least an annoyance for the home user. When an operating system crashes, the contents of the memory--all unsaved data in all open applications--is lost.
GNU/Linux is stable for a couple of reasons. First, its design philosophy is modular; different system functions are handled by distinct, separated portions of code.12 A problem in one piece does not have serious repercussions in other pieces. Second, the Linux kernel source code has been thoroughly debugged by literally thousands of programmers worldwide. Linux developers compile and run Linux on a variety of hardware, run a multitude of applications (which tests their stability and compatibility with GNU/Linux), and often provide their own bug fixes when they discover a problem. No other OS can claim the sheer effort of brainpower that has gone into GNU/Linux.