Device driver is usually called driver for short. Generally
speaking, driver is a more popular name among people. In computing, it refers
to a computer program which operates or controls a particular type of device which
is attached to the computer. As a matter of fact, a driver provides a software
interface to hardware devices, which enables the operating system and other
computer programs to have access to hardware functions even without needing to
know the hardware being used in great details.
Typically, a driver can only communicate with the device through
the computer bus or communications subsystem connected to the hardware. If the
routine located in the driver is invoked by a calling program, then the driver
will issue commands to the device immediately. As long as the device sends the
received data back to the driver, the routines in the original calling program
are likely to be invoked as well. As a matter of fact, drivers are
hardware-dependent and operating-system-specific. They usually provide the
interrupt handling required for any necessary asynchronous time-dependent
hardware interface. Therefore, it is safe to say that drivers are of vital
significance in computing.
Device drivers act as translators working between a hardware device
and the applications or operating systems using it, which can effectively
simplify programming. Moreover, programmers can write the higher-level
application code regardless of the specific type of hardware being used.
For instance, a high-level application for interlacing
can be rather simple. It may have only two simple functions, namely, “send data”
and “receive data”. However, it is able to interact with a serial port. In
comparison, a device driver at a lower level may only be able to communicate
with a particular serial port controller installed on a user’s computer even
though it has implemented these functions as well.