TechKnowSurge
CompTIA Tech+ 3.1 CompTIA Tech+ 2.3 CompTIA A+ Core 2 1.8
VideoComputeFree

Firmware

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.

Complete this video to capture a CTF flag worth 1 point.

About this video

Firmware is software embedded directly into a specific piece of hardware, giving that device the instructions it needs to carry out its core functions. Unlike general-purpose software, firmware is not designed to be installed across multiple devices or extended with third-party applications — it exists solely to run the hardware it ships with. Classic examples include the software controlling a keyboard, a remote control, a digital camera, or a game controller. Originally, firmware was written to read-only memory chips, meaning it could not be modified after manufacture, which made it reliable but impossible to update if bugs or security vulnerabilities were discovered. Over time, programmable read-only memory technologies emerged, allowing manufacturers to issue firmware updates — a practice now considered essential for maintaining security and functionality. A computer's BIOS is a well-known example: it is firmware stored on read-only memory that initializes hardware at startup and hands control off to the operating system stored on the main drive. This interaction highlights one of the clearest distinctions between firmware and an operating system — firmware handles low-level, hardware-specific tasks using compact, lower-level code, while an operating system manages complex, high-level operations and runs on a wide range of hardware from many different manufacturers. As devices have become more sophisticated, the boundary between firmware and operating systems has grown less defined. What once required only simple firmware — such as a vehicle's onboard systems — may now run software complex enough to qualify as an embedded operating system. Rather than a sharp dividing line, the relationship between firmware and operating systems is better understood as a spectrum, ranging from highly hardware-specific, rarely updated firmware on one end to fully featured, broadly portable operating systems on the other, with various embedded and hybrid systems occupying the space in between.

What you'll learn

What's covered

Firmware vs Operating Systems

Aligned to

CompTIA Tech+
3.1 Explain the purpose of operating systems.
2.3 Explain the purpose of common internal computing components.
CompTIA A+ Core 2
1.8 Explain common OS types and their purposes.

Key terms

Firmware
Permanent software embedded in a device's non-volatile memory that controls its hardware functions and low-level operations; it bridges the hardware and any higher-level software.
Operating System
OS
System software that manages hardware resources, provides common services for application software, and acts as an intermediary between users and computer hardware. Examples include Windows, macOS, and Linux.
Read-only Memory
ROM
Non-volatile memory whose contents are set at manufacture and cannot be modified during normal operation. Stores firmware and boot instructions that persist without power.
Programmable Read-Only Memory
PROM
A type of memory that allows firmware to be written or updated after manufacture, enabling occasional patches and feature updates while remaining largely static.
Basic Input/Output System
BIOS
Firmware stored on a motherboard chip that initializes hardware during startup and provides runtime services for the operating system via the Power-On Self-Test (POST) process. BIOS has largely been replaced by UEFI on modern systems.
Embedded Operating System
A specialized operating system built into a device to perform dedicated functions, such as firmware on IoT devices like smart speakers.

Topics

Firmware Embedded Systems Operating Systems Read Only Memory Hardware Software Integration System Architecture

Transcript

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.

Firmware on my keyboard

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.

Full featured software versus simple hardware

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.

Where firmware started

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.

The spectrum from firmware to an operating system

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.

The differences

So what are the differences?

  • Firmware is software embedded on a specific piece of hardware, generally speaking, and operating systems are software used on lots of devices.
  • Firmware usually is on some sort of read-only memory or programmable read-only memory, versus operating systems generally are on hard disks, HDDs, or some sort of SSDs or something of that nature.
  • Firmware tends to be a lot smaller; operating systems tend to be a lot larger.
  • Firmware is rarely updated, versus the operating system gets regular updates to it.
  • Firmware tends to be lower level languages like assembly languages, the machine language; operating systems tend to be programmed at higher level languages.
  • Firmware has low-level tasks, and the operating system has much higher level tasks.

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.

About TechKnowSurge

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 →