3

I am interested to learn: what are the most common technical causes (from the perspective of operating system programming) of an operating system crash (not limited to Windows crashes)? I'm looking for an answer not like "too many apps open", but what specifically happens when too many apps are open that causes the crash.

devinmoore
  • 2,726
  • 3
  • 19
  • 14

8 Answers8

6

In my opinion

  1. Bad drivers
  2. Kernel bugs
  3. Hardware failure
  4. End of resources

A modern operating system will not let a mere application crash it.

Sklivvz
  • 30,601
  • 24
  • 116
  • 172
  • Nice list, however "end of resources" should not cause a crash unless there is a bad driver, or bad kernel. Good code should handle all resource allocation failures gracefull. It is however true that this is quite common type of driver bug. – Suma Sep 22 '08 at 10:30
  • I was thinking about "fork bombs" and root file system full – Sklivvz Sep 22 '08 at 12:30
3

It's Buggy Drivers that cause OS crashes. Only the OS itself and drivers are able to harm the system.

To your suggestions:

  1. No OS has problems if an application accesses the same memory as the OS. Either the memory is accessible or it is not. If an application tries to access memory that it should not the CPU generates a segmentation-fault. The OS hands this over to the application and the problem is solved. (in 99% the app will crash afterwards, but that's not the fault of the OS).

  2. You're suggesting that slower programs are more safe. That's not true. The OS does not need to know what exactly your program is doing.

Nils Pipenbrinck
  • 83,631
  • 31
  • 151
  • 221
  • 1. "Segmentation fault" (or GPF in Windows land) is the term you are looking for when an application tries to access memory that it's not allowed to. "Page fault" refers to when a section of memory is accessed but it's been swapped out to virtual memory. – Dan Harper Sep 22 '08 at 11:41
2

In modern OS, application code and OS code run in separate address spaces. The application code cannot crash the operating system. See here:

http://en.wikipedia.org/wiki/Ring_(computer_security)

The most common readon for a crash is code that is acting as part of the OS interfearing with other code that is acting as part of the OS. A common cause is poorly written device drivers that live in the OS's address space.

Less often, crashes are caused by hardware faulures.

Kramii
  • 8,379
  • 4
  • 32
  • 38
1

Any OS crash can occur due to either of the two main reasons:

  1. Hardware Problem.
  2. Software Problem.

HARDWARE PROBLEMS:

  1. Power Related problems: Improper functioning of the System Power Supply can lead to immediate shutting down of the System.

  2. Overheating of RAM: Overheating RAM could lead to corruption of data in it.This can lead to definite crash where reset is a must.

  3. Improper Overclocking: Causes Overheating. Certain Hardware Components are sensitive to heat. When Overheating occurs automatically the system shuts down.

  4. Bad Sectors in Hard Drive: The Hard disk is divided into sectors where data is stored. Some sectors become Bad sectors. Reasons: a. Prolonged usage - many writes and reads. b. Manufacturing defect. If sectors in the hard disk, where important system information is stored, becomes a bad sector then it is difficult to load those files, thus leading to a crash.

  5. RAM Issues: Cause: Data retrieval not possible. This is very important as this leads to Fatal Exception Error

Major Misconception: An application crash in your system does not always lead to a system crash. Generally "Nothing" happens to the OS. It just sends you a report saying so and so application has crashed.

SOFTWARE PROBLEMS:

  1. Corrupt Registry: Before starting any application, the OS looks into its registry. Registry is a small Database where all the information about kernel, drivers and information about applications are stored. Registry can get corrupted due to improper uninstallation of applications, careless editing of registry, too many installed applications etc. More causes of Corrupt Registry. This leads to routine applications refusing to start thus causing the Blue Screen of Death to be displayed.
  2. Improper Drivers : In order to use additional hardware, we need drivers, generally downloaded from the internet. These drivers might contain bugs. These bugs cause the OS to crash. Modern operating systems are released with the option of "Safe Mode Boot". Safe Mode Boot loads only important drivers (minimum) and not all. Safe Mode Boot is used for diagnostic purposes to find the driver with bugs.
  3. Virus and Trojan: Common reasons for OS crash. Viruses and Trojans corrupt the system files, "eat up" the memory not allowing OS to retrieve it when a programs stops, changes administrative settings, frequent rebooting without any sign etc
  4. Thrashing: Deadlock occurs when two programs running require control over a particular resource. Sometimes during a deadlock, the OS tries to switch back and forth between the two programs. This eventually leads to Thrashing where the hard drive is being overworked by moving information between the system memory and virtual memory excessively causing a system crash.
0

No you are way off. Typically there is nothing an application can do that can cause the OS to crash. OS crashes are generally caused by buggy device drivers and hardware failures.

1800 INFORMATION
  • 131,367
  • 29
  • 160
  • 239
0

Two different sources trying to access a locked area is one problem. Getting all mutexes, monitors and locks to work 100% is not trivial.

Vargen
  • 696
  • 2
  • 7
  • 20
  • I am voting this up because deadlocks and livelocks *are* a very common cause of operating system failure. – Zan Lynx May 07 '09 at 00:17
0

If we use Vista as an example - drivers ... NVidia in particular http://arstechnica.com/news.ars/post/20080325-vista-capable-lawsuit-paints-picture-of-buggy-nvidia-drivers.html. It's the OS that dictates memory allocation, not applications. Well, that's the theory.

CAD bloke
  • 8,578
  • 7
  • 65
  • 114
0

os crash may also cause due to some sectors crash in harddisk this is because i all pcs os presents in primary drive in the hardidsk.