There’s a lot of different layers of “computer” inside a computer, it’s real trippy.
For example, a hard drive is a computer! It has its own “controller”, which is basically a CPU. When your computer wants to read stuff from the hard drive, it basically writes a letter to the “controller” describing what it wants, then it has to wait around to get the response. The way the OS “writes a letter” is dictated by the “driver”: it’s the interface between the OS and a piece of hardware.
But inside that hard drive, the “controller” has to follow a program to do that. It needs to know how to actually read the data it’s been asked to produce. That program is called “firmware”. It’s internal to the hard drive, but it’s still a program that is the interface between the “controller” and the actual data storage.
The way the names were picked goes like this:
**Hardware** is physical objects like RAM and disk drives. The only way to change it is to swap it out with a new part. That is tough, and can involve having to turn off the entire computer and update a lot of things.
**Software** is the programs that the computer runs. It’s easy to move around, swap, and modify, that’s why it’s “soft”.
**Firmware** is in between. It’s software that is used by a piece of hardware. It’s not part of the OS, and not as easy to update or change as software. But it CAN be updated without removing or swapping physical parts. So it’s not “hard”, and it’s not “soft”, so it’s something in between: firm.
Latest Answers