どうも、みなさんこんにちは、よしです。
この記事では、ITにおいて最も基礎的な概念となる「ハードウェア」と「ソフトウェア」の、違いや特徴について解説します。
「ハードウェアとソフトウェアで何が出来るのか?何が出来ないのか?」、
「ハードウェアとソフトウェアの関係性は?」、
について説明します。また、ハードウェア、ソフトウェアによく似た言葉である「ファームウェア」との違いについてもわかりやすく解説します。
ほな、いきましょう!
よし
Contents
ハードウェア・ソフトウェアで思い浮かべるモノ
まず初めに、「ハードウェア」と「ソフトウェア」という言葉は、「ハード」、「ソフト」と略して呼ばれることが多いです。ですので、ハード、ソフトという言葉に出くわした場合、それはハードウェア、ソフトウェアと同義だと捉えてください。
さて、皆さんは、ITの分野において、ハードウェア、ソフトウェアと聞いて何を思い浮かべるでしょうか?
身近な例として、PlayStationやSwitchなどのビデオゲームを思い浮かべられた方、いらっしゃるのではないでしょうか。自分も子供の頃、新作ソフトウェアが発売される日は、ワクワクしたの思い出します。
この「新作ソフトウェア」という言葉の「ソフトウェア」が示す意味は、レースゲームやスポーツゲーム、バトルゲームなどのゲーム機でプレイすることのできる作品のことでしょう。つまり、ゲーム機本体がハードウェア、そして、そこでプレイする作品がソフトウェアということになります。
ハードウェア・ソフトウェアとは?
ハードウェアとソフトウェアの定義
「ハードウェア」とは、
物理的な機械そのものを指します。よって、人間が触れることのできる物であって、
「人間から何かしらの指示を受け取ったり、その指示の結果を表現したりする」
役割を担っています。
一方、「ソフトウェア」とは、
人間からの指示をどのように処理するかを決めている部分です。言い換えると、
「ハードウェアをどう動かすのか、その挙動を決める」
役割を担っています。
おそらく、この説明だけだと少し分かりにくいと思いますので、先ほどのゲームを例にとって考えてみましょう。
ビデオゲームにおけるハードウェアとソフトウェア
物理的な機械である、ゲーム機本体やコントローラー、ディスプレイやスピーカーなどがハードウェアに当たります。そして、人間がコントローラーのボタンを操作することで、その指示を受け取り、その結果をディスプレイに表示したり、スピーカーに出力していると言えます。これがハードウェアの役割です。
では、コントローラーのあるボタンが押された時、ディスプレイに何を表示するのか、スピーカからどういった音を流すのかは誰が決めているのでしょうか?ここまで来るとお分かりかと思いますが、それを決めているのがソフトウェアということになります。
例えば、十字キーが押された時に、現在ディスプレイに表示している車の位置を変えて表示させる、つまり車を移動させる、ということをソフトウェアが決めています。また、車がクラッシュしたときには、コントローラーを振動させたり、スピーカーからクラッシュ音を出すといったこともソフトウェアが決めています。
すなわち、ソフトウェアはハードウェアの挙動を決めている、と言えます。
よし
「IT製品はハードウェアやソフトウェアのどちらか一方だけではなく、その双方によって動作している」
ということが分かります。
ハードウェア・ソフトウェアの特徴
ハードウェアとソフトウェアの特徴 その1
ソフトウェアはハードウェアの挙動を決める物でした。ではその挙動のパターンはいくつ考えられるのでしょうか?
このパターンは、人間がハードウェアをこう動かしたいと考えた結果に当たりますから、その数は事実上無限大です。要するに、
「1つのハードウェアに対して、ソフトウェアを変更することで機能を無数に提供することができる」
ということです。これが一つの大きな大きな特徴になります。
スマートフォンが普及した現代においては、アプリケーションを入れて機能拡張するのは一般的なことですから、これは当たり前の様に感じるかもしれません。
しかし、昔のいわゆる携帯電話は、ソフトウェアの更新ができなかったので、通話としての機能しかなかったのです。ですから、
「ハードウェアの変更なしに、ソフトウェアだけで機能追加できるようになった」
のは非常に画期的なことなのです。
ハードウェアとソフトウェアの特徴 その2
ゲーム以外の例も考えてみましょう。スマホに音楽アプリを入れることで音楽を楽しむことができます。また、ラジオのアプリを入れることで、ラジオも聴くことができるようになります。
このうち、音楽アプリを例にとってみれば、画面というハードウェアから、ユーザのタッチを通じて、選曲つまり、「この音楽を再生しろ」という指示を知り、その指示に応じた音楽をスピーカーというハードウェアから流すといった挙動を、アプリが決めていると言うことです。
人間の指示を受けとったタッチセンサーや、その結果を出力したスピーカーや画面がハードウェア、そして、その指示内容を基にスピーカーから音を流すという挙動を決めたのがソフトウェアです。
「アプリ」とはアプリケーションの略で、ソフトウェアの種類の一つです。

この音楽やラジオを聴くという行為は、現時点で最新機種であるiPhone11ではもちろんですが、2010年に発売されたiPhone4でも、アプリさえいれれば、同じ様に音楽、ラジオを聴くことができます。
つまり、ある機能を提供するのに必要なハードウェアがその機種に備わっていさえすれば、古い機種でも新しい機種でもソフトによって音楽、ラジオといった機能を提供できる、ということです。
言い換えると、
「異なるハードウェアであってもソフトウェアによって同じ機能を同じ操作感でユーザへ提供できる」
ということです。これも特徴の一つです。
新しい機種が発売されても、古い機種を使っていらっしゃる方は結構いますし、古いからといって、インスタグラムやYouTubeなど使えないということはありません。
このように、
「ハードウェアを買い替えなくても、ソフトウェアを追加することで新しい機能が使えること」
は、ユーザーにとってはありがたいことです。
厳密に言うと、アプリによっては、古い機種には対応していない事例もあります。
ハードウェアとソフトウェアの特徴 その3
そんな最強に見えるハードウェアとソフトウェアのタッグにも限界があります。それは、
「ソフトウェアはハードウェアの限界を超えることはできない」
ということです。
どう言うことかと言うと、ある機能を提供するのに必要となるハードウェアが備わっていなかったり、その性能が足りていないものをソフトウェアでカバーしてあげるということはできません。
例えば、iPhoneを決済端末へかざして支払いをするApple Pay、日本だとおサイフケータイという呼び名で知られていますが、これはiPhone4では利用することができません。なぜなら、それに使用されている「NFC」という規格のアンテナつまりハードがiPhone4には備わっていないからです。
ですので、いくらソフトウェアを高度に作っても、ハードウェアがない以上、Apple payに対応することはできません。
「NFC」とはNear Field Communicationの略で、「Wi-Fi」や「Bluetooth」のような無線で通信する規格の一つです。近距離(数センチメートル)での通信という特徴を活かし、主に電子マネーを実現する技術として使用されています。
ハードウェアとソフトウェアの関係性
ハードウェアとソフトウェアの関係性は、楽器と演奏者の関係に似ています。楽器が出せる音色は決まっていますが、それをどう組み合わせるかによって、曲を無数に造ることができます。
このように、
「観客(ユーザー)を魅了するために、演奏者が、用意された楽器(ハードウェア)を使って、創意工夫をこらした曲(ソフトウェア)を造る」
そんなハードウェアとソフトウェアの関係性がお分かりいただけたのではないでしょうか。
ソフトウェアを更新できないハードウェア
ファームウェアとは?
ここまで、IT製品はソフトウェア(アプリケーション)を後からインストールすることで、機能追加できることを解説しました。
しかし、全てのIT製品がソフトウェアを追加、更新できるように作られているわけではありません。実際、生活家電は基本的にソフトウェアを後から追加することができません。(2020年現在)
例えば、炊飯器はご飯を炊くことだけを目的とした製品であり、それに特化したソフトウェアが搭載されています。そのため、炊飯器はソフトウェアを後からインストールして新しい機能を追加することを想定した作りにはなっていません。
このように、ハードウェアに密接に紐づいて特定の処理を行い、原則として製品が市場に投入された後に更新されることがないソフトウェアを「ファームウェア」と呼びます。特定の目的に特化したソフトウェアであることから、「硬い」や「不変」を意味する「ファーム」という言葉が使用されています。
ファームウェアは原則として、「製品が市場に投入された後に更新されることがない」と説明しましたが、最近ではインターネット経由でファームウェアを更新する「FOTA: Firmware Over-The-Air」という技術が登場しています。
なぜソフトウェアを更新できないのか?
では、生活家電はなぜソフトウェアを追加、更新できるような設計になっていないのでしょうか?その主な理由は、製品価格を引き下げるためです。ソフトウェアを追加、更新する仕組みが不要であれば、インターネットに接続する必要がなくなり、また、ストレージや高度なハードウェアを備える必要もありません。
このように、生活家電、例えば炊飯器であれば、ご飯を炊くことだけに特化したソフトウェア、つまり、ファームウェアを搭載することで、製品価格の高騰を抑えているのです。
逆に言えば、製品を購入した時点で搭載されている機能以上のことはできません。スマートフォンで言えば、購入時に搭載されている電話アプリやメールアプリしか使用できない状態です。音楽アプリや動画アプリなど新たな機能を追加することができない状態を示します。
そのため、新しい機能が欲しくなった場合には、ユーザーはその機能を搭載した新製品へ買い換えるしか方法がないのです。
よし
生活家電も時代とともに機能追加できるように進化していくことでしょう。
まとめ
最後に、振り返りながらここまでの内容をまとめていきます。
今回、ハードウェアとソフトウェアの違いや特徴について解説して来ました。
ハードウェアとソフトウェアの違い、役割は、
またそれらの特徴として、
を説明しました。
また、「ファームウェアはソフトウェアの一種であり、ハードウェアに密接に紐づいて特定の処理を行う」ことを解説しました。
ということで、今回は以上になります。
よし
「YouTube」で動画解説もしていますので、質問のある方はコメント欄へお気軽にメッセージください!
ほなね!