
This new driver will ensure that the device appears to operate as usual from the operating systems' point of view. In theory a new device, which is controlled in a new manner, should function correctly if a suitable driver is available. The function of the device driver is then to translate these OS mandated function calls into device specific calls. To solve this problem, operating systems essentially dictate how every type of device should be controlled. Computers and their operating systems cannot be expected to know how to control every device, both now and in the future. Newer models also are released by manufacturers that provide more reliable or better performance and these newer models are often controlled differently. Every model of hardware (even within the same class of device) is different.


The key design goal of device drivers is abstraction.
