こんにちは、タイシです。
LineとかTwitterなどのアプリを使っている方が多いと思います。
アプリはソフトウェアの1種なのですが、ソフトウェアについて皆さんはご存知でしょうか?
スマホやパソコンが動くためにソフトウェアは超重要です。
今回は、ソフトウェアについて初心者の方が分かるように、簡単に説明します。
ハードウェアについてはこちらを参照ください。
ソフトウェアについて
ソフトウェアはハードウェアをどのように動かすか、どういう表現をさせるかなどを決める人間の脳のようなものです。物理的な装置であるハードウェアと違って、プログラムやデータの塊です。
例えば、一つのパソコンでも、ituneなどのソフトウェアを使うと音楽を聞くことができ、ペイントなどのお絵描きソフトウェアを使うと画面に絵を描けます。このように同じハードウェア(パソコン)であってもソフトウェアによってできることが変わってきます。

このようにコンピューターを動かすことができるソフトウェアですが、1つのソフトウェアだけでコンピューターを制御しているわけではありません。複数のソフトウェアが協力することでコンピューターを動かしています。ソフトウェアは大きく4つの種類に分けることができます。
ファームウェア、OS(Operating System)、ミドルウェア、アプリケーションです。
ファームウェアとは
パソコンや家電製品、スマホなど、コンピューター本体に最初から内蔵されていて、内蔵したハードウェアを制御するためのソフトウェアになります。ファームウェアをインストールした記憶装置をハードウェアに内蔵する形になります。
つまり、ソフトウェアを入れたハードウェアを部品としてハードウェアに組み込んでいるということですね。
ですので、ソフトウェアとハードウェアの中間みたいなものですね。
このような組み込みの形なので、他のソフトウェアのように、簡単にインストールしたりアンインストールしたり出来るものではありません。

ファームウェアの一つで良く聞くのがBIOS(Basic Input/Output System)です。
パソコンに内蔵されていて、電源をいれ入れると起動します。キーボードやディスプレイなどの入出力装置や記憶装置などを制御します。だから、OSが立ち上がっていなくてもディスプレイに表示を行ったり、キーボード操作ができるのです。
OSとは
OS(Operating System)はコンピューター全体を制御する基本的なソフトウェアです。パソコン以外にも家電や作業機械など、コンピューターには大体インストールされています。
例えば、キーボードのこのボタンを押すと何をする、ファイルをコピーする、パソコンを一定時間使用していないとスリープモードにするなど、コンピューターの基本的な動作はOSが制御しています。
OSの種類でよく聞くのはWindowsやMac OS、android、iOSですね。
ファームウェアとOSは似ていますが、大きな違いとしては、ファームウェアは物理的な部品としてハードウェアに組み込まれますが、OSは組み込まれておらず、後からソフトウェアとしてコンピューターにインストールします。また、コンピューター全体を制御するのはOSですが、ハードウェアを直接制御するのはファームウェアです。例えば、OSが”ディプレイを点灯せよ”と制御命令を出して、実際にはファームウェアがディスプレイを点灯させます。なので、私たちユーザーから見るとOSが全部管理しているように見え、普段からファームウェアを意識することはありません。

ミドルウェアとは
OSとアプリケーションの間で処理を行うソフトウェアです。アプリケーションのようにコンピューターで何かをできるようにするのではなく、アプリケーションで汎用的に使われるような機能をミドルウェアで提供します。
例えば、出席簿アプリがあったとして、いつ出席したかを記録するための「データベース」がアプリの中にあるとします。
また、名前管理アプリがあったとして、個々の名前を記録するための「データベース」がアプリの中にあるとします。
それぞれのアプリで「データベース」が必要なので、似たようなデータベースを作成しています。
それでは効率が悪いですし、データベースを変更するときは、それぞれのアプリのデータベースを修正することになります。
そこで、データベースのミドルウェアがあると、アプリごとにデータベースを作る必要が無くなります。
一つのデータベースのミドルウェアに、それぞれのアプリへデータベース機能を提供してもらえば良いです。またデータベースのミドルウェアを修正すれば、当然、それぞれのアプリが利用しているデータベースに修正が加わります。効率的ですね。
このように、OSの提供する機能には無いけれども、アプリケーションで共通的に使うような機能を用意しているのがミドルウェアと考えて良いです。

アプリケーションとは
皆さんがイメージするソフトウェアのことです。パソコンで使うエクセルやワード、スマホで使うLINEやソシャゲなどなど。インストールすることで、コンピューターに様々な機能を提供してくれるソフトウェア全般のことです。アプリ(アプリケーション)はWindowsでしか使えなかったり、iOSとAndroidのスマホでは使えるなど、OSによって対応が変わる場合があります。OSに依存しない、端末にインストールするような物ではなく、ブラウザで動くようなWEBアプリケーションもあります。

コンピューターのソフトウェアとしては、このような種類があります。
私たちが目にするのはアプリケーションが殆どで、ソフトウェアと言えばアプリケーションと思いがちです。
しかし、実際にはアプリケーションが動くためにはミドルウェアやOSが必要で、OSからハードウェアを動かすにはファームウェアが制御するなど、普段意識しないソフトウェアがたくさん動いています。
そう考えると、普段動いているあのアプリは・・・と思えるようになり、アプリ一つとってみても動きが違って面白いかもしれません。
今回はソフトウェアについて説明しましたが、ハードウェアについても基本知識を学びたい方は、こちらの記事で説明しています。
コメント