eli5 what are Computer “Drivers”

825 views

After painstakingly installing printer drivers for a thermal printer at work I realized I still don’t truly understand what I was installing. (Bonus points if you can cover video card drivers too cause idk what drivers are In that sense either)

In: 2515

42 Answers

Anonymous 0 Comments

Drivers are the middle man between the Hardware and the Operating system. their job is to translate the OS’s instructions into something the Hardware can interpret and then translate the output into something the OS can show you.

OS> Driver > Hardware

think of them like the ” user manuals” the Operating system needs ot be able ot use the hardware, or if you want ot extend an analogy to us humans: picture it as you needing a manual for your brain to be able to command your limbs and understand the stimulus it receives from them.

without drivers, software would need ot directly program the hardware and considering how many different models of any single device exist out there this is impossible(or at least would be impactrical in terms of programming time)

Anonymous 0 Comments

There are a lot of great answers here, but I don’t know how ELI5 they are. Here is a more ELI5 version….

There are hundreds of thousands of different peripherals you can hook up to your computer. Your computer wasn’t made to know how to use all of them. Even common things like printers, there are dozens of manufacturers who each make dozens or even hundreds of different models that each work differently and have different functions. The same is true of video cards. That’s why they have drivers, to tell it how this particular model works.

As an analogy, let’s say you go out and buy a new vacuum cleaner. You know in general what vacuum cleaners do, even if you don’t know the specifics of how it works. There are some basic vacuum cleaners that are very simple, no specific settings for different floor heights, a very simple on/off switch, a standard easy to see canister that has a simple latch to remove it. You could probably figure it all out without having to read the instruction manual. But what if the on/off switch isn’t simply on/off, but has multiple settings? And it has a different setting for tiled/hardwood floors than for carpet. And how does it store the dust and dirt it cleans when there’s no obvious bag or canister? How do you empty those? And how often? What do I use these 3 attachments for and how do I use them? Are there filters on it? If so, where? How often do I need to change those? What does it mean when it is making a certain noise? There’s a light that comes on sometimes, what does that mean? You might have even bought a Bissell, just like all of the other ones you had previously, but the buttons and lights and switches are in different places.

To understand any of those things you need to use the vacuum in anything more than the bare basic means, you need to read the instruction manual. The instruction manual describes all of the components, how each works, what kind of maintenance schedule each piece needs, what different types of noises or odd behavior means, etc.

The drivers are basically an instruction manual for the computer to tell it how this specific model of this specific peripheral works. Without the driver, the computer wouldn’t know how to use the peripheral attached to it. Just like with the vacuum, if it is a very simple device, there’s probably a generic driver that will work fine to do the basic things. But for any advanced specific feature, your computer needs the instruction manual/driver to know how to use it.

Anonymous 0 Comments

In order to print, every program in windows will send a command like “print an A”. Its the same for notepad or internet explorer or word.

The problem is in order to be more flexible, every piece of hardware takes a different input to do a different job. So lets take the printer. In order for that printer to print an “A” it needs to receive 011010101 for instance.

The problem is this other printer needs to receive the command 010101100110 to print an A.

So each hardware manufactuer makes a driver, so all any program has to do is tell the driver to “Print an A” and then the correct driver will send the printer the correct command.

Anonymous 0 Comments

Think of drivers in general as instruction manuals that tell your computer’s operating system how to talk to the hardware inside it.

Anonymous 0 Comments

Your hardware speaks German. Your operating system speaks French. The drivers are a translator.

Anonymous 0 Comments

So your OS wants to draw a box on the screen. The OS has a defined command for that (drawBox), however that doesn’t tell the OS how to actually tell the video card how to do it. Each card does it differently (ish).

So, a driver translates drawBox to 0010010 001000 0100100 which is sent to the video card over the PCI slot, and a box appears on your screen.

The OS defines the commands, and the card manufacturer writes a piece of code that translates the OS commands into the specific method this specific model of card uses to achieve that result.

Anonymous 0 Comments

It’s hilarious to me that once again we have an ELI5 thread asking about some computer terminology, and everyone is coming up with all sorts of analogies EXCEPT the analogy built into the name itself!

It’s called a “driver”, people. That means it metaphorically “drives” a specific piece of hardware, like someone drives a car, or a train, or cattle.

The point of a driver, both literal and metaphorical, is to handle the low-level details of a request without their boss having to know or care about them. Tell a taxi driver to take you to Carnegie Hall, and he’ll do it, without you having to give him moment-by-moment directions on when to push the pedals and turn the wheel.

In the ancient days before drivers, things like word processors would have to “drive” the printer themselves, essentially pushing the pedals and turning the wheel. This worked fine if, for example, the user only had a stick-shift printer. But if someone had an automatic transmission printer, suddenly the code was trying to push a pedal that didn’t even exist and at best you’d get corrupted gibberish.

With drivers, the word processor doesn’t need to know exactly what kind of printer you have. If you have a stick-shift printer, you install the stick-shift driver. If you have an automatic transmission, you install the automatic transmission driver. Then you just tell the driver what you want, and they take care of making it happen. The driver allows low-level operational details to be abstracted into high-level commands.

Anonymous 0 Comments

I’m going to give this a shot, nbd if it gets axed.

I think of the whole drivers chain being like a limo, you’re in the back, with the operating system, telling the limo what to do by telling the literal driver. that driver takes what you told it to do, (print a picture) and operates the mechanicals, steering, gas, navigation without you having to intervene.

if there’s errors, the driver of the limo will tell you, “PC LOAD LETTER” (flat tire) and wait for the error to resolve. whether you call road service (auto troubleshooter) or change the tire yourself, the hardware refuses to budge because the driver says no.

so, the driver knows how to work steering and throttle and brakes, but that driver knows how to operate quite a few vehicles as well, sure, he wouldn’t be able to drive a bus(video vs sound vs USB drivers) without the proper training, but he can work any car conforming to a standard. VGA would be a standard akin to most passengers vehicles, there’s default drivers that know how to move the vehicle and navigate purposefully, but the nuanced controls like the radio, windows and turn signals would require a “trained”(manufacturer driver) driver to get the best out of the ride.

Anonymous 0 Comments

The head foreman of a construction company speaks German (The Operating system), the guy who pours concrete speaks French (A printer). They can’t directly talk to each other, so they use a translator (The device driver) to communicate and work together.

Anonymous 0 Comments

Operating system can tell if new hardware is plugged in (EX: via USB) but it doesn’t know how it works and needs something to explain how to use that hardware

You buy a new smart TV from the store. The last TV you had is from the 90s. You know how to adjust the brightness on your old TV but for the new one, the steps/buttons pushed are likely different. You need to read manual to tell you how to adjust brightness on the new TV. The manual is the “driver”