Most of the time with Macs it starts happening when you have hardware failure. It happens way more on Windows and Linux because of the much larger range of supported devices and drivers and the varying quality of the drivers for them. Most drivers running in Darwin as made by Apple. It's also the reason Microsoft created a certification program for device drivers for Windows.