Operating systems

Hardware controllers or “Drivers” What are they, and why are they important for our computer?

The development of computers is subject to the advancement of electronics and technologies that are more accelerated and diverse every day. There have been many computer manufacturers and each one handles the physical components (Hardware) differently. In the early days of computing, it was difficult to use various hardware components because they were often not physically or logically compatible. The incompatibilities were due to different connectors, their way of working was not the same and there was no common way to use them. Each of these components requires hardware drivers to be able to use them.

Main component manufacturers and links to their official sites

Link to a detailed list of hardware manufacturers by component (Wikipedia Annex)

A very significant step in the development of computing was the appearance of the IBM PC with an open architecture, which proposed an open standard in the development of computers. Many hardware manufacturers could follow suit and develop different components that were in turn compatible with each other. Although there were better hardware solutions, the IBM PC revolutionized the entire industry due to the ease with which components could be acquired and created personal computers affordable to the public. As time went by, many manufacturers that we know today adopted these hardware standards and enabled the rapid development of the computers we know today.

But to use a computer, just hardware is not enough, you need software, which is the logical control part. That software must be able to manage the entire physical component of the PC (hardware) and perform many supporting functions for everything. This special software is called the Operating System and since the development of the first computers, many of the ones we know today have evolved and emerged. To name a few: Unix, FreeBSD, Microsoft Windows, GNU Linux, MacOS, Android, IOS among many others.

Operating systems provide a simplification for the management of a computer’s physical resources. For this, the operating system needs to know in detail how to make each physical component of the computer work correctly. Although the specifications of hardware components have been highly standardized, the development of computer equipment itself often falls outside that standardization.

It is impossible for an operating system to be able to control in detail all the physical devices of any computer, due to the large number of different manufacturers. A solution for this was devised, which involves adding additional software plugins to the operating system so that it can handle new devices that are developed and all their functions. These software add-ons were called “hardware drivers” or drivers by their English name. Below we will see a slightly more formal definition.


What is a hardware driver (Driver)?

A hardware driver is software tailored specifically to use a hardware device or class of devices; It is the intermediate between the operating system and a physical device. Its goal is to abstract from the hardware and provide a common interface to use the device. Without a driver, a hardware component cannot be used.

Importance of hardware drivers

An important step after installing an operating system on a computer is the installation of the drivers, which generally come on a CD or DVD provided by the manufacturer of the computer or physical device in question.

Photos of Driver CDs from different manufacturers

In some cases, the operating system is capable of providing many of the drivers that are needed during the installation process, but in other cases it is not. An example of this is when we have hardware components that came onto the market a long time after the operating system we are installing. These components can be: video cards, sound cards, devices included in the motherboard itself (Motherboard), network cards, scanners, printers, disk drives (HD, SSD), cameras, USB adapter devices, etc.

There are classes of drivers and in cases of not having the specific one, the operating system in question can use generic drivers. These will allow us to use the device halfway. For example, let’s say we have a multimedia keyboard like the one shown in the image below.

(keyboard that has keys with special functions aimed at multimedia and more, which go beyond the standard functions of a common keyboard)

Once we install the operating system, it detects that there is a keyboard and since it does not come with the exact device driver for this keyboard, the operating system installs a generic one. In this case, we would have the problem that the keyboard will work halfway. The standard keys (the ones common on all keyboards) will work, but the special functions of this multimedia keyboard will not be available. Therefore, we must look for the specific driver for our keyboard and install it so that the device works 100%. The same thing illustrated in the previous example can happen with almost all the hardware components of our computers.

It must be taken into account that hardware drivers (drivers) are software developed by the manufacturer and in many cases it only provides the driver for a specific operating system and does not release its source code. In these cases, users of other operating systems cannot use this hardware component or have to resort to drivers developed by third parties that make them from reverse engineering processes. The correct functioning of these devices is not always obtained. This is the case of operating systems such as GNU Linux distributions.

Most hardware manufacturers only produced drivers for Microsoft Windows because it is the most used operating system worldwide. This is a trend that is gradually being stopped and manufacturers are making drivers for various operating systems (Microsoft Windows, GNU Linux, MacOS, Android, IOS) and even releasing their source codes.

A solution that you can use when you do not have the drivers for your computer and cannot find the required ones anywhere can be to use some driver package software. Among the best known we have Driver Pack Solutions and here we leave you the link to its official site https://driverpack.io/es .

Important : It is always more recommended to use the original drivers of the device (Those provided by the manufacturer).

In operating systems such as GNU Linux, the drivers are incorporated directly into the system kernel. In addition to that, others can be added through dynamic loading of kernel modules.

In Microsoft Windows we can see the hardware device tree managed by the operating system, accessing the menu by secondary clicking on the Computer icon (My Computer, Computer, This computer) and choosing the Manage option. The system displays a window in which we select “Device Manager” in the left panel. The device class tree will appear in the central panel. We can deploy any of these classes and see the installed hardware devices that the system is capable of handling.

Tree of hardware devices managed by the system

By deploying a branch and secondary clicking on an element, it is possible to access the general options’ menu for the devices, as shown in the image below.

If we access the “Properties” option, a window will appear with all the details about the device in question, in which we can also see details of the driver it is using in the “driver” tab.

There are numerous applications that allow you to make a backup copy of the drivers that the system is currently using. This option is of vital importance so as not to lose them and in case of reinstalling the system to be able to restore them.

Tools to back up hardware drivers

At this point, you should have a better idea about hardware drivers, and you should understand the importance of your computer having the required drivers and always updated.

Eidy EV

Computer Science Engineer with over 10 years of experience in information technology. Has held roles as a Software Architect, Analyst, Senior Software Full stack developer, Network and Systems Administrator (Sysadmin), and Information Security Specialist (Pentester).

Entradas recientes

United Airlines’ First Automated Reservation System: An Example of High Availability

Evelyn Berezin was a pioneer in the world of computing. She is considered the creator…

8 months hace

Evelyn Berezin, the creator of the first word processor

When I started researching this woman, I never thought I would find her anecdotes so…

8 months hace

Installation and configuration of WordPress from scratch on an Ubuntu VPS with Let’s Encrypt certificates

Among the most popular and used content management systems (CMS) on the entire internet is…

8 months hace

What is Delphi and why do you have to learn to use it?

Delphi is a RAD (Rapid Application Development) type visual development environment. It is a development…

11 months hace

Web browsers, their history and features

A web browser, also called an Internet browser or simply a "browser", is a computer…

1 year hace

Installation of GNU Linux Debian 12 (Bookworm) + KDE in graphical mode for workstations from scratch and step by step

In this article we will see step by step how to install GNU Linux Debian…

1 year hace