3.1 Device driver

At the “bottom” layer of an OS are device drivers. Each device driver is specific to a particular hardware device. The purpose of a device driver is to “abstract” different devices of the same category so that they provide the same “interface”.

For example, the Nvidia GeForce 6100 chipset is a graphics engine. Similarly, the ATI Radeon 2100 chipset is also a graphics engine. However, these two chipsets are different. In other words, in order to make use of these chipsets, each require a different set of code.

The purpose of a device driver is to provide a common interface based on the category of the hardware. In this example, a graphics card device driver is a translator that connects a published graphics card software interface to different graphics card hardware.

Essentially, every hardware component in a computer has a matching device driver so that the next layer of an OS does not have any dependency of specific hardware components.