|
In this article:
- Meaning of device drivers
- Features of device drivers
- Working of device drivers
- Development of device drivers
- Applications of device drivers
Meaning of Device Drivers
Computer hardware comprises of a multitude of different components, each with its own set of functions and way of working. A hardware device or simply a device is essential for the computer to do a particular task. An example is that of a printer. A printer is a device that helps the computer to print something on paper. Now, we know that printers have their own way of working. An inkjet printer, for example, has a nozzle that sprays ink on the paper while moving horizontally. This motion is controlled by instructions given by the computer, or more specifically, the operating system (OS). Here is where the problem lies. Each piece of hardware is unique in its own way. It understands only those instructions that it is programmed to understand. An OS on the other hand, cannot hold instructions specific to each hardware as there are a plethora of such devices. This is where device drivers come to the rescue.
A Device Driver or a software driver or simply, a driver is a method designed to facilitate the interaction between the OS and a hardware device. It is essentially a software program that helps the OS communicate with the hardware.
Features of Device Drivers:
- Software Program
Device drivers are software programs. They reside on the computer to which the respective hardware is connected and help the OS to pass commands to the device.
- Hardware Specific
Device drivers are hardware specific, that is, they only work with the hardware they are designed for.
- OS Specific
All device drivers are operating system specific. This means, that a device drivers that works on, say, Windows XP will not work on a Linux distribution.
- Mediating Role
Device drivers play a mediating role as they are placed between the OS and the hardware. This is shown below:
A device driver, hence, is an interface that helps the OS to interact with the hardware.
Working of Device Drivers
The basic aim behind any device driver is to achieve what is called abstraction. Abstraction is a way to remove the details so as to facilitate concentration on a few concepts at a time. The working of a printer can be taken as an example.
In the scenario where a document is to be printed, three things are required, viz., instructions to print the document with the required formatting, acceptance of the instruction by the printing device and output in the form of printed paper. The OS does not know what the printing device or printer accepts as a correct instruction to start printing. The OS has only one command programmed into it and that is – ‘Print’ or ‘PrintIt’ or ‘PrintAll’ etc. When the OS receives a print command from the user, it passes this command that it has programmed into it to the device driver. The device driver takes this command and translates it to the format in which the printer can understand it and passes it to the printer. The printer accepts this and according to the format of the document to be printed, prints out on the paper sheets. This finally leads to the printed pages as output.
The above is an example how device drivers are helpful in converting general OS instructions to specific instructions for specific hardware. Without such device drivers, it is not possible for hardware to work according to the directions of the OS.
Development of device drivers
Device drivers are software programs. To develop such a software that helps an OS to interact with a particular piece of hardware, a thorough knowledge of the hardware’s working as well as that of the working of the platform or OS it is being designed for is necessary. This is why device drivers are OS specific. Each device driver is tailored according to the working of the OS it’s meant for.
Applications of Device Drivers
Device drivers are used to control a variety of hardware and the way they work. The following are some applications:
- Printers
- Network Cards
- Sound Cards
- Computer Storage (such as Hard Disks and CD-ROM)
- Input Devices (Keyboards, mice, touch-pads)
- Video Adapters (Monitors, LEDs)
|