Sometimes when people start throwing around the words software and firmware, things can get a little muddled and confusing. Software and firmware are two separate, but related things and some people aren't sure how to differentiate the two. Today, we're here to explain what software and firmware are while providing you some information about the purpose of both.
Before we can dive into software, it is important to first understand the difference between software and hardware. Hardware encompasses items and/or components that are physical; prime examples include: phones, computers, laptops, motherboards, USB sticks, memory cards and more. The easy way of identifying hardware is to think of physical items you can physically touch. Software on the other hand is virtual information that can be installed and ran on a system. Software works together with the hardware and can be encompassed as a(n) program, operating system and/or utility tool. There are a few examples to illustrate this.
In the case of a software program, say that there's a program you want to install on your computer (i.e. a photo editing program or a malware protection program). Your computer (the hardware) will go through a process to download the program information (the software) so that you can have that program on your computer and use it for its intended purpose. In the case of operating systems, operating systems aren't programs: they are, well, operating systems. However, you can download operating system software onto a system and run the OS on that system once the download is successful. When it comes to utility tools, again you can run them on your system but they aren't programs. Utility tools would include things like drivers, encryption, disk cleanup, file compression and screen savers.
In the past, it was common to download software programs from CDs; however, nowadays it is more common to download software via the Internet.
Moving onto firmware, it might get a little tricky. Like software, firmware is intangible. You cannot physically touch it because it's also virtual information. Firmware is software that has been programmed/written onto a hardware device (i.e. a BIOS) and stored within the flash ROM of a hardware device. The primary role of the firmware is to provide instructions as to how to communicate with the hardware to get the hardware to work. Firmware is necessary to make hardware devices function properly because it acts as the liaison between the hardware and the operating system. An example of firmware in action, where we discussed the role of UEFI/BIOS firmware when you press the power button on a computer, can be found in a previous blog post. Firmware can be found in a multitude of things, even devices we interact with on a daily basis. Traffic lights have firmware in them. ATMs have firmware in them. TVs have firmware in them. Computers definitely have firmware in them (hello, UEFI/BIOS firmware? All computers have it!).
Overall, it's safe to say that we would be lost without software and firmware. All these things work together and they definitely keep our technology running!