In computing, a crash is an unexpected termination of a process. Crashes can happen to individual applications as well as the operating system itself. Some crashes produce error messages, while other crashes may cause a program or the entire system to hang or freeze.
When a crash occurs, it can cause a number of different problems. If you are typing a document in a word processor, for example, you may lose the changes you made since you last saved the document. If you are copying or downloading a file, the crash may produce a corrupt file. In some cases, a crash can even cause errors in the file system of your storage device.
Since crashes create a negative user experience, software developers aim to create stable programs that do not crash. This involves removing bugs that produce undefined or infinite calculations and eliminating memory leaks. Some programs are even designed to handle crashes gracefully, generating detailed error messages if a "fatal error" occurs. Many productivity applications save your work periodically so you can recover your work after a crash.
With older computers (before the turn of the century), when a program crashed, it often took down the whole system with it. This made restarting the computer a frequent task. Modern operating systems support multi-threading, which enables programs to run independently of each other. This allows the operating system and other programs to keep running when an application crashes. If the operating system itself crashes, however, you may still be forced to restart your computer.