What Is Firmware?
Let’s spill the beans right away – firmware IS software. According to Wikipedia, firmware is “a type of computer program that provides the low-level control for the device’s specific hardware.” Almost any of today’s devices, be it a computer, phone, stereo, car, or a washing machine, comes from the manufacturer with some form of firmware. For simpler devices, firmware is all they need in order to function. For more advanced devices, e.g. computers, you need more software – such as an operating system and software applications – in order to make use of them.
Firmware vs. Software: How Is Firmware Different from Software?
Again, let’s state it clearly – firmware IS a variety of software; it’s programming code after all. The confusion comes from the fact that the typical “software” we usually refer to are programs such as Microsoft Word, a web browser, etc., while in reality software is every code you can find on a machine (a computer, a phone, car, or any other smart device). It’s more precise to call software, such as Microsoft Word, a web browser, etc., “application software” because they are applications, after all. However, this is too long and impractical. This is how “application software” became simply “software.”
One of the main differences between firmware and application software is that firmware is stored in non-volatile memory (ROM, EPROM, or flash memory), while application software can work from volatile and virtual memory as well. The fact that firmware resides in memory that is limited in size means that a firmware program must be small in size. Firmware can be as small as a few kilobytes, though depending on the specifics of the device where you run it, it can be bigger, too. Frequency of updates is another major difference between firmware and application software. In many devices firmware isn’t meant to be updated by the user, and very often the manufacturer of the device doesn’t give users access to the firmware at all. For instance, on devices such as hard disks, optical drives, consumer electronics, etc., typically users aren’t given the chance to mess with the firmware. This is good because if a user could mess with the firmware of these devices, the result might be a non-working device. In other cases, i.e. the BIOS of computers and the firmware of smartphones and music players, it can be updated by users. This is even recommended because by providing firmware updates the manufacturer can fix bugs in previous firmware versions or provide new features. However, even if a device allows firmware updates, you need to be very cautious, and you really, really, really need to know what you are doing because otherwise you might have to bid adieu to the device and this is not what you want. Basically, this is what you need to know about firmware.