Difference Between Similar Terms and Objects

Difference Between Device Driver and Device Controller

The main difference between the device driver and device controller is that a device driver is a software program whereas device controller is a hardware unit. Device driver is a program via which the operating system communicates with the device controller. Both the terms are often used interchangeably but they are very different. Let’s look at the two.

What is Device Driver?

Device driver is a specialized software program running as part of the operating system that interacts with a device attached to a computer. It is just a code inside the OS that allows to be empowered with the specific commands needed to operate the associated device. OS manages and controls the devices attached to the computer by providing required functionality to the software programs for controlling different aspects of the devices. OS does so by combining both hardware and software techniques. The OS interacts with the I/O hardware via the device driver software. The device driver software comes along with each device. Device drivers are basically low-level programs that allow the kernel of computer to communicate with different hardware devices, without worrying about the details of how the hardware works. So, they provide the kernel with the appropriate knowledge on how to control the devices.

What is Device Controller?

Device controller is a hardware unit attached to the I/O bus of the computer and works like an interface between a device and a device driver. It is an electronic component consisting of chips that is responsible for handling the incoming and outgoing signals of the CPU. It acts as a bridge between the device and the operating system which receives commands from the OS, such as read, write or more complex commands. Each device controller has its own set of commands, depending on the nature or the manufacturer. So, there is different software running as part of the OS that interacts with each controller. Thus, there is always a device controller and a device driver associated with each device that communicates with the OS. The controller receives the data from a connected device, stores it temporarily, and then communicates the data to its device driver. So, the device controller interacts with the OS via the device driver.

Difference between Device Driver and Device Controller

Basics

 – A device driver is a code inside the OS that allows to be empowered with the specific commands needed to operate the associated device. The code is implemented by the device manufacturer which allows the device to communicate with the computer’s OS. Without device drivers, the computer won’t be able to able to communicate properly with the hardware devices. Device controller, on the other hand, is like a bridge between the device and the operating system. It is an electronic component consisting of chips which control the device.

Purpose

 – A device driver is a special type of software program that allows a computer to interface and interact with a specific hardware device, such as a printer, sound card, graphics card, etc., so that the computer should know the configuration and specification of that device. Without the correct device driver, the corresponding device won’t work correctly. Device controller, on the other hand, is nothing but a hardware unit attached to the I/O bus of the computer and provides an intermediate layer which receives commands from the OS, such as read, write or more complex commands.

Significance 

– A device driver is a software program with which the device controller interacts with the operating system. Each device has its own device driver and a device controller that is specific to the device. The device driver presents a uniform interface to the operating system by hiding the differences among the different device controllers. Device controllers, on the other hand, operate on a bus, a device or a port, and control the signals on the wires of the bus or the port. It makes sense of the incoming and outgoing signals of the CPU.

Types

 – Device drivers can be broadly categorized as kernel device drivers and user device drivers. Kernel device drivers are essentially low-level hardware handling routines that function as part of the operating system and come pre-loaded with the OS. The drivers pertain to motherboard, BIOS, processor, and so on. Device controllers, on the other hand, can be simple like a serial port controller for a serial port, or complex like a SCSI controller. A few devices have their own built-in controllers.

Device Driver vs. Device Controller: Comparison Chart

Summary of Device Driver vs. Device Controller

In a nutshell, a device driver is a software program that manages and controls a specific device that is attached to a computer, while a device controller is a hardware unit that makes sense of the incoming and outgoing signals of the CPU. A device driver allows a computer to interface and interact with a specific hardware device, such as a printer, sound card, graphics card, etc. The device controller receives the data from a connected device, stores it temporarily, and then communicates the data to its device driver. Device controller acts as a bridge between the device and the operating system.

Latest posts by Sagar Khillar (see all)

Sharing is caring!


Search DifferenceBetween.net :




Email This Post Email This Post : If you like this article or our site. Please spread the word. Share it with your friends/family.


Leave a Response

Please note: comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.

References :


[0]Image credit: https://commons.wikimedia.org/wiki/File:Gallium3D_vs_DRI_graphics_driver_model.svg

[1]Image credit: https://live.staticflickr.com/7289/26775594584_d2fe7483f9_c.jpg

[2]Dey, Kashi Nath, et al. Basic Computation and Principles of Computer Programming. New Delhi, India: Pearson Education India, 2011. Print

[3]Kagadis, George C. and Steve G. Langer. Informatics in Medical Imaging. Boca Raton, Florida: CRC Press, 2011. Print

[4]Sathe, S.R. and Anil S. Mokhade. Operating Systems. New Delhi, India: Macmillan Publishers, 2008. Print

[5]Smith, Richard E. Elementary Information Security. Burlington, Massachusetts: Jones & Bartlett Learning, 2011. Print

[6]Goel, Anita. Computer Fundamentals. New Delhi, India: Pearson Education India, 2010. Print

Articles on DifferenceBetween.net are general information, and are not intended to substitute for professional advice. The information is "AS IS", "WITH ALL FAULTS". User assumes all risk of use, damage, or injury. You agree that we have no liability for any damages.


See more about : ,
Protected by Copyscape Plagiarism Finder