What is the Difference Between Device Driver and Device Controller

The main difference between device driver and device controller is that the device driver is a software that works as the interface for the device controller to communicate with the operating system or an application program. Whereas, the device controller is a hardware component that works as a bridge between the hardware device and the operating system or an application program.

Hence, there is a distinct difference between device driver and device controller even though these terms are used interchangeably. A device driver is specific to an operating system and it is hardware dependent.  It provides interrupt handling required for necessary asynchronous time-dependent hardware interface. On the other hand, device controller is a circuit board between the device and the operating system.

Key Areas Covered

1. What is Device Driver
     – Definition, Functionality
2. What is Device Controller
     – Definition, Functionality
3. What is the Relationship Between Device Driver and Device Controller
     – Outline of Association
4. What is the Difference Between Device Driver and Device Controller
     – Comparison of Key Differences

Key Terms

Device Driver, Device Controller

Difference Between Device Driver and Device Controller - Comparison Summary

What is Device Driver

Device driver operates a specific device that is attached to a computer. It provides a software interface for the device controller to access the hardware devices. Therefore, the operating system or some other computer programs can access that hardware without knowing much details about that hardware component. The device driver allows to send data and receive data from the connected hardware device.

Main Difference - Device Driver vs Device Controller

Figure 1: Device Driver

When the operating system or a program needs to communicate with a hardware device, it invokes a routine in the driver. Then the driver issues commands to that device. When the device sends data back to the driver, the driver invokes routines in the original calling program.

What is Device Controller

A device controller is a system that handles the incoming and outgoing signals of the CPU. A device is connected to the computer via a plug and socket, and the socket is connected to a device controller. Device controllers use binary and digital codes. An IO device contains mechanical and electrical parts. A device controller is the electrical part of the IO device.

Difference Between Device Driver and Device Controller

Figure 2: Device Controller

The device controller receives data from a connected device. It stores that data temporarily in a special purpose register called a local buffer inside the controller.  Each device controller has a corresponding device driver. The memory is connected to the memory controller. The monitor is connected to the video controller while the keyboard is connected to the keyboard controller. Disk drive is connected to the disk controller, and the USB drive is connected to the USB controller. These controllers are connected to the CPU via the common bus.

Relationship Between Device Driver and Device Controller

  • Every device has a device controller and a device driver to communicate with the operating system.

Difference Between Device Driver and Device Controller

Definition

A device driver is a computer program that operates or controls a particular type of device that is attached to a computer. A device controller is a part of the computer system that makes sense of the signals going to and coming from the CPU. The basic difference between device driver and device controller is thus clear from this definition.

Type

Whereas device driver is software, device controller is hardware.

Main Task

The major difference between device driver and device controller is that the device driver works as a translator between the hardware device and the application or the operating system that uses it.  On the other hand, the device controller converts a serial bit stream to block of bytes and perform error correction as required.

Conclusion

Device driver is a software that works as the interface for the device controller to communicate with the operating system or an application program. Device controller is a hardware component that works as a bridge between the hardware device and the operating system or an application program. That is the main difference between device driver and device controller. In brief, device driver is software while device controller is hardware.

Reference:

1. “Device Driver.” Wikipedia, Wikimedia Foundation, 7 Sept. 2018, Available here.
2. “Device Controller.” Wikipedia, Wikimedia Foundation, 12 Sept. 2018, Available here.
3. “Operating System – I/O Hardware.” Www.tutorialspoint.com, Tutorials Point, Available here.

Image Courtesy:

1. “Driverarch” By Tutorial – (Public Domain) via Commons Wikimedia
2. “Kontroler scsi isa” By The original uploader was Rjt at Polish Wikipedia. – Transferred from pl.wikipedia to Commons (Public Domain) via Commons Wikimedia

About the Author: Lithmee

Lithmee holds a Bachelor of Science degree in Computer Systems Engineering and is reading for her Master’s degree in Computer Science. She is passionate about sharing her knowldge in the areas of programming, data science, and computer systems.

Leave a Reply