Firmware is device-specific software embedded directly into hardware, enabling it to perform its core functions. This content covers what firmware is, how it differs from an operating system, and why the boundary between the two has become increasingly blurred.
Firmware vs Operating Systems
This is my keyboard, and it actually has software used to run this keyboard. It's built into the keyboard and we call it firmware. But what is firmware, and what does it do, and how is it different from an operating system, and why is there some confusion between an operating system and firmware? Because there are some blurry lines in between these two.
This is software that I have running that helps me manage my mouse and my keyboard. I'm going to click on the keyboard and click on settings, and here we see there's a firmware version, 12.1.13, and I can actually check for updates on that. So that's the firmware, that's the software that's on my keyboard right now that's running my keyboard.
When it comes to the complexity of a computer, we end up with a lot of code, code that can be transferred from device to device, brand to brand, and it can have lots of different applications installed on it, and it really does a lot of complex calculations and is really quite full featured.
Versus, on the other side here, we have some hardware. For instance we have my keyboard, which just carries out a very simple function. What happens is it does need software to run it, but it doesn't need all of that extra stuff to it. It doesn't need extra applications installed on it, it doesn't need all of the capabilities of me taking that software and installing it on other devices that are similar but of other brands. So really it is specially designed software just for this device, and then it gets installed on this device, and we call that firmware.
But there are some blurry lines in between, and why is that the case? We can take a look at firmware and where it started and where it is now to give us some answers about that.
One thing that we did is, what we put on this memory is software. So we added software to this type of read-only memory that couldn't be changed in the future. This is what we call firmware, because it's hardcoded on a chip, it is firm, it's not going to change, because it's on read-only memory. And we use it to power things like remotes and phones and cameras and video game controllers and all sorts of devices. We put it on these devices so that way we can control these devices.
Now the problem with read-only memory is that we can never update it. So let's say we want to add a feature, or perhaps there's a security issue. We can't go back and change it at all. And so we found some other technologies which would allow us to do some changes to it, so we made them programmable, so we made programmable read-only memory. There are different technologies that allow us to do this, but essentially it still is fairly static, and that meaning that it is not going to change very often at all, but gives us at least some ability to change it down the road.
So this was helpful because, for instance, my keyboard, now I could do some updates to the software, and I still call it firmware. One thing that I want to do, very similar to any software that I have, is I want to go through firmware updates to make sure that it's patched and it's secure and it has all the latest and greatest features.
Now what's happened is our devices have become more and more complex, and the software that we use to run these devices has become more complex, and there are some devices that we start adding more and more features to. For instance your vehicle, which had simple firmware on it before, relatively simple firmware on it, we are now starting to be able to add more and more to it, and at some point in time it starts transitioning into something that's more of an embedded OS rather than just firmware.
So we've really created a little more of a spectrum between there. On one side we have something like the firmware that's on this keyboard right here, that's specifically designed just for this keyboard, and you really don't install extra apps on this keyboard, to where we have a fully functioning operating system that we can install on lots of different brands and we can install a lot of different apps on it. And then there's all of this kind of in between that happens here, where we may kind of draw this line and say anything on this side is more of an operating system and anything on this side is more of firmware.
A computer gives us some insight into this, because we have that BIOS, that basic input output system, that's stored on read-only memory, and we call this firmware. That firmware is the first thing that gets loaded up to get the computer up and running. It doesn't change all that often, but sometimes we do need to change it and do updates and patches to it. And then once that's loaded up, it will execute some commands to get the actual operating system that's stored on the disk loaded onto the system and start running, so this full featured operating system takes over at that point.
So what are the differences?
We don't necessarily need to know about all of the ins and outs of what all of these mean, but just know that this is kind of a general way that we categorize things.
TechKnowSurge builds IT and cybersecurity professionals through hands-on, concept-first training built around real understanding — not memorization. Free interactive tools, structured programs, and 25+ years of real-world experience, all in one place.
Explore free tools and programs →