System crash when updating catalyst drivers
If an app needs to print, its developer can implement a basic print function and trust the system’s printer drivers to handle the details.
Otherwise, the software developer might need to design a print operation for HP printers, then Brother Printers, and so on.
Unfortunately, the first device interpreter on hand only speaks English and Italian. Now, imagine a second interpreter arrived who spoke Italian and German.
By sending down the line through the two interpreters, eventually, communication would work.
Hardware drivers give software developers a leg up though; they don’t have to learn the ins and outs of hardware language to use the hardware.
Hardware drivers, then, are the language interpreter converting English to German and back again.
And those problems can be magnified as they head down the chain, much like a game of telephone.
So if you tell the software you want to print, and it sends the direction to the driver incorrectly, the driver will, in turn, interpret as best as it can and send those directions to the hardware. But software, drivers, and your hardware aren’t always smart enough to recover from bad data.
The same basic concept occurs when multiple drivers are in use between software and hardware.
The close interaction between software, driver, and hardware is what makes everything work on your computer. Let’s go back to our language interpretation analogy.