Hi everyone, I'm Yoshi.
In this article, I'm going to explain the most fundamental concepts in IT, "Hardware" and "Software"
We will explore the points below:
Let's get started!
Contents
What Do You Imagine from "Hardware and Software"?
Definition of Hardware and Software
When you hear the words hardware and software in the field of IT, what exactly comes to your mind?
Some of you may imagine video games like Playstation and Switch as a familiar example. I remember when I was a kid, I used to get excited when a new game software was released.
The meaning of the word "software" in this term "new game software" are game titles to play on a game console, such as racing games, sports games, battle games, etc.
In other words, the game console itself is hardware, and software is the title that is played on it.
What Is Hardware and Software?
Definition of Hardware and Software
The term "hardware" refers to the physical machine itself. Therefore,
"hardware is an object that can be touched by humans and is responsible for receiving instructions from humans and expressing the results of those instructions".
On the other hand, the term "software", decides how to process instructions from humans. In other words,
"software is responsible for determining how hardware works and behaves".
Perhaps this explanation is a bit unclear, so let’s take the game I mentioned earlier as an example.
Hardware and Software in Video Games
Physical machines, such as the game console, controllers, displays and speakers, are considered hardware.
When somebody pushes a button on the controller, the game console receives the instructions from it. Then the result of the instruction will be shown on the display or will be outputted to the speaker. This is the role of hardware.
Then, who decides what is shown on the display, and what sound is played from the speakers when a certain button on the controller is pressed?
It is determined by software.
For example, when the directional pad is pressed, software changes the car's current position to another position based on the pressed directions. When a car crashes, software decides to vibrate the controller and emit a crash sound from the speaker.
In other words, software determines the behavior of hardware.
よし
Hardware and Software Characteristics
Hardware and Software Characteristics Part 1
Software is what determines the behavior of hardware. Now, imagine how many patterns of that behavior are there?
This pattern is the result of humans thinking about how to operate hardware. So the number of these patterns is practically infinite. In short,
"A single hardware can provide millions of features by changing software".
This is one major characteristic of hardware and software.
In today's smartphones, it is normal to install apps to expand its functionality. However, old mobile phones had only call function because they couldn't be installed software. So,
"being able to add features without changing hardware, just by installing or updating software"
is a huge breakthrough.
Hardware and Software Characteristics Part 2
Let’s consider other examples besides games.
You can enjoy music by adding a music app to your phone. You can also listen to the radio by installing a radio app.
In the case of a music app, the app gets the instruction about "Play this music" through the user's touch on the screen. Then, the app determines the behavior of playing the indicated music from the speaker.
In other words, the touch sensor that receives human instructions and the speaker and screen that outputs the results are hardware. Also, it is software that determines the behavior of emitting sound from the speaker based on those instructions.
An "app" stands for an “Application", and it is a type of software.
You can listen to music and radio on the latest iPhone12, of course, but you can also listen to it on the iPhone 4, which was released in 2010, as long as the app is installed.
That is, as long as a device has the necessary hardware to provide a particular feature, it can provide services such as music, radio, etc. through software on both old and new devices. In other words,
the same functionality can be provided to users with the same interface and operability thanks to software, even if different hardware is used.
This is another characteristic of hardware and software.
Although newer models are released, there are still some people using older smartphones. And just because it's an older model doesn't mean you cannot use things like Instagram and YouTube. In this way, it is a great thing for users to be able to use new features without buying new hardware.
Strictly speaking, some apps are not compatible with older models in some cases.
Hardware and Software Characteristics Part 3
Even such a powerful pairing, hardware and software, has its limits. That is,
software cannot exceed the limits of hardware.
It means that, software cannot cover the lack of hardware required to provide a certain feature or the lack of hardware performance.
For example, Apple Pay, which allows you to pay by touching your iPhone to a payment terminal, is not available on the iPhone 4. That's because iPhone 4 is not equipped with the "NFC" standard antenna or hardware. So, no matter how advanced software is made, it can't support Apple Pay as long as it doesn't have the particular hardware.
NFC stands for "Near Field Communication" and is one of the wireless communication standards like Wi-Fi and Bluetooth. It is mainly used as a technology to realize electronic money, taking advantage of its characteristics of communicating over short distances (several centimeters).
Relationship between Hardware and Software
The relationship between hardware and software is similar to the relationship between instruments and its performer. There are specific tones that a certain instrument can produce. However, depending on how they are combined, it is possible to create countless pieces of music.
In this way,
a performer creates an original piece of music (like software) using a prepared instruments (like hardware) to attract the audience (like user).
I hope you now understand the relationship between such hardware and software.
Hardware That Cannot Update Software
What Is Firmware?
So far, I have explained that IT products are able to add functionality by installing software (applications) afterwards.
However, not every IT product is made to be able to add or update software. In fact, home appliances cannot be added software later, basically (As of 2021).
For example, rice cookers are products designed only for the purpose of cooking rice and is equipped with specialized software for that purpose. For this reason, rice cookers are not designed to install software to add new functions after purchase.
In this way, software that is not updated after the product is introduced to the market in principle and is closely related to hardware to perform specific processes, is called "firmware". The word "firm", meaning "unchanging", is used because the software is specialized for a specific purpose.
I explained that, in principle, firmware is "not updated after the product is introduced to the market," but a technology called "FOTA: Firmware Over-The-Air" has been introduced to update firmware via the Internet.
Why Is Hardware Unable To Update?
So, why are household appliances designed to not be able to add and update software?
The main reason is to lower the price of the product. If there is no need for a mechanism to add or update software, there is no need to connect to the Internet, nor need to equip storage or expensive hardware.
Thus, in the case of household appliances, for example a rice cooker, software or firmware is specialized only for cooking rice, which keeps the price of the product from rising higher.
On the contrary, you cannot do more than what is included in the product when it is purchased. In the case of smartphones, this means that you can only use the phone apps and email apps that are included at the time of purchase.
Therefore, when a new feature is desired, the user has no choice but to replace it with a new product offering that feature.
よし
Household appliances would evolve to be able to add functions as time goes by.
Summary
Finally, I'll summarize the contents of this article by looking back. I've been explaining differences and characteristics of "Hardware" and "Software".
The differences between hardware and software, and their roles are;
Characteristics of Hardware and software are;
Also, I explained as "Firmware is a kind of software, which is closely related to hardware to perform specific processes".
よし