Report Offensive Message

Stability is largely a hardware issue
Its the GUI (and API) that traditionally causes most crashes in both Unix and Windows code. The reason is simple, the interface code between the hardware and software occurs mostly in the GUI. The interface code is very complex and very closely tied to the hardware - timing faults and hardware glitches are the main cause of most real crashes even today. A lot of stability issues come from Real Time timing constraints in the interface hardware - one of the biggest used to be in buffering between the graphics card and main memory.

The traditional Unix solution was to have the Kernel largely isolated from these issues - which gave a very high stability but at the price of a slightly clunky interface. Today of course the driver technologies are far more mature and the hardware itself is far faster and more reliable. Saying that a badly enough behaved piece of application code can still bring almost any system down. - One of Apples best tricks is that they don't allow software into the App stores until its undergone a minimum level of quality and stability testing.
Posted by lucien86
Updated - 20th Mar 2012