Weather Forecast


Be aware of hardware, software, firmware

When I was in college getting a degree in computer science, we would joke at all the terminology that we learned. In retrospect the terminology was the easy part, but there was a lot of it.

There were so many acronyms that we had acronyms to describe them. TLAs are Three Letter Acronyms, FLAs are Four Letter Acronyms ... .

Over the years these terms have been ingrained in me, and I learn new terms every week. The field of technology is changing at a rapid pace.

I've found that the three most common terms, also some of the oldest, are only partially understood by most people. Hardware, software and firmware are used to describe different aspects of computing -- often incorrectly.

It's common for me to hear even a computer salesman at a store use the terms incorrectly. This is because when people talk about hardware, software and firmware, it's easy to get a general idea of what they mean so no one bothers to look into it further.

And why should they? Knowing exactly what these mean isn't that important, but I have a column to write so you're going to learn them today.

Let's start with the easiest to explain: hardware.

Hardware is the physical aspect of computing. The different components that make up a computer are the hardware.

Hardware encompasses a wide range of components -- the monitor, the hard drive, the CPU, the RAM, the motherboard, the case. Even your printer could be considered hardware.

The term hardware predates computing. It refers to machinery, tools, etc. When you go to buy a hammer or screws, you probably end up at a hardware store.

The term software refers to something that could be considered abstract. I'm a software engineer. I write software that runs on computers, phones, tablets, and whatever other devices will run it.

Software is called software because it doesn't physically exist. It's a play on hardware. Whereas hardware refers to an actual physical object that could be considered hard, software would be soft because it doesn't physically exist.

Software lives as either electrical signals or magnetic charge on a hard disk. Those signals or charges represent 1s and 0s that the computer interprets.

Software does take up space, you can only fit so many magnetic charges on a hard drive before it's full. But those charges don't weigh anything, you would have a hard time quantifying their volume.

It doesn't physically exist, but it takes up space. It's weird, OK?

The last term is maybe the hardest one to describe. Firmware is another play on words. Firmware, technically, is software, but it's used to control hardware.

The term "firm" refers to something that would be considered neither soft nor hard. It isn't stored on a hard drive. It's stored right on the hardware.

Hardware can be just a bunch of electrical circuits. Hardware doesn't know what to do with the 1s and 0s, so firmware is put directly onto the chips to tell them how to behave.

Firmware must be stored on the hardware. When you first boot up a computer it might display a bunch of output. The initial output is the firmware powering up the CPU, the hard drive, the RAM, etc. It's testing the components to make sure they work and then loading the operating system from the hard drive. If there were no firmware present, the hardware wouldn't do anything.

You probably had a good idea of what hardware and software meant before you read this, but did you know what firmware was?

Jason Ogaard is a Red Wing High School graduate and a software engineer in the Twin Cities. Contact him at