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.
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.
It's Buggy Drivers that cause OS crashes. Only the OS itself and drivers are able to harm the system.
To your suggestions:
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).
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.
Two different sources trying to access a locked area is one problem. Getting all mutexes, monitors and locks to work 100% is not trivial.
In my opinion
- Bad drivers
- Kernel bugs
- Hardware failure
- End of resources
A modern operating system will not let a mere application crash it.
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.
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.
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.