genonymous

GenestreamのTechブログ

【連載】エンジニアになるための教科書2(コンピューターの仕組み)

前回、エンジニアになるためにはまずコンピューターを知ることが重要だとお伝えしました。
今回はまず手始めに、コンピューターの仕組みについて学んでいきましょう。

genestream.hatenablog.com

コンピューターの仕組み

コンピューターは2つのものから構成されています。

それは
「ハードウェア」と「ソフトウェア」
の2つです。

いきなりハードウェアソフトウェアといわれても、何のことを言っているのか分からない方も多いと思います。
最初にこれらの用語を整理して理解しておきましょう。

ハードウェアとソフトウェアの違いは?

直訳すると
ハードウェアは、日本語で「硬いもの」
ソフトウェアは、日本語で「軟らかいもの」
という意味です。
しかしそのまま日本語にしてもいまいちピンときません。

なぜならこれらの言葉は
「目で見えるかどうか、すなわち実際に手で触ることができるかどうか」
ということを比喩した表現だからです。

「ハードウェア = 硬いもの = 実際に目で見て触ることができる」
「ソフトウェア = 軟らかいもの = 目で見て触ることができない 」
ということです。

ハードウェアには、パッと思いつくものはキーボード、画面(ディスプレイ)などがあります。

パソコンなどの裏側を開ければCPU、ハードディスク、メモリなど様々なものが入っていることも分かります。
もちろんこれらも目で見て触ることができるものなので、全てハードウェアです。

一方でソフトウェアはコンピューターによって実行される
「プログラムの命令とデータ」のことです。

アプリはソフトウェア?

ソフトウェアは「ソフト」という略語としてよく使われています。
「映像編集ソフト」「ゲームソフト」「ワープロソフト」などがあります。
ソフトウェアはそれ自体を目で見て触ることはできないので、CDなどのハードウェアに組み込んで販売されたり、インターネットで配信されたりしています。

ソフトウェアはハードウェアと違って、プログラム自体を見たり触ったりすることができません。
しかし、パソコンのゲームソフトなどを入れると画面上で遊ぶことができるので
「触ることはできないけど見ることはできているのでは?」 と思う方もいらっしゃるかもしれません。

しかし、画面に表示されているものはプログラムが実行された結果を画面(ハードウェア)に映し出しているだけなのです。
内部でどういうプログラムが実行されて画面に表示させたのかを見ることはできません。

また近年ではスマートフォンが爆発的に普及したのに伴ない「アプリ」という言葉も一般的に使われるようになりました。
パソコンよりスマートフォンを使っている人の方が多いと思いますので「ソフト」より「アプリ」という言葉を使った方がイメージが湧きやすいでしょう。

「アプリもソフトウェアの種類の1つ」
です。

ソフトウェアの種類

ソフトウェアには大きく分けて3種類あります。

・「基本ソフトウェア」
・「応用ソフトウェア」
・「ミドルウェア
の3つです。

この3つの中の「応用ソフトウェア」の「応用」は英語で「アプリケーション」です。
英語名だと「アプリケーションソフトウェア(Application Software)」ですが、これを省略して「アプリ」と呼ばれているのです。

これらの違いを簡単に説明すると
基本ソフトウェア=「コンピューター自体の稼働に必要なソフトウェア」
応用ソフトウェア=「任意でコンピューターに入れることができるソフトウェア」
という違いがあります。

ミドルウェアに関しては今の段階ではちょっと難しいので後の連載で説明することにします。
今はそういうものもあるということだけ覚えておいてください。

アプリとは?

応用アプリケーション(以降アプリと呼称します)は、身近なところでいうと皆さんが電気屋などでパソコンを買う時にセットで購入するソフト(セキュリティソフト)などがそれに該当します。

例えば先ほど例にあげた 「映像編集ソフト」「ゲームソフト」「ワープロソフト」がそうです。

これらはパソコンに入れて使うアプリがほとんどです。

もっと皆さんがイメージしやすいところで言うと、スマホのAppStoreやGooglePlayStoreで沢山の種類のアプリが配信されています。
ゲームや音楽などのアプリをインストールして楽しんでいる人が多いと思いますので、より身近で親しみがあると思います。

OSって?

しかし基本ソフトウェアというと、ほとんどの方がよく分からないと口を揃えて言います。

基本ソフトウェアはほとんどの場合
オペレーティングシステム(以降OSと呼称します)」
のことを指して言われます。

「OS(オーエス)って何だろう?」
と、皆さん疑問に思うでしょう。

OSには
Windows」「Mac OSX」「iOS」「Android
などがあります。

これらの言葉はほとんどの方が一度は聞いたことあると思います。

「えっ、これってパソコンとかスマートフォンの機種の名前じゃないの?」
「作ったメーカーが違うから名前が違うだけじゃない? マイクロソフトGoogleが開発したかの違いなのでは....」 と思ってしまう方が多いと思います。

OSが何をしているかを簡単に例えると
「ハードウェアとアプリの橋渡し」
です。 本当に基本的なことを行っているので、普段私たちが意識することはほとんどありません。

基本的なことというのは具体的にいうとこんなことです。

OSが活躍している場面例

例1:画面にHを表示する
「キーボードのHの文字が押されました(ハードウェア) 」

「わかりました。画面にHの文字を表示しなさい(OS)」

「画面にHを表示します(ハードウェア)」

例2:カーソルを右に動かす
「マウスが右に少し移動されました。(ハードウェア) 」

「わかりました。画面のカーソルの位置を少し右に移動しなさい(OS)」

「画面上のカーソルの位置を少し右に移動します(ハードウェア)」

パソコンを使っていてキーボードを押したら文字が入力される、マウスを動かしたら画面上のマウスの位置が変わる。
スマートフォンであれば、ホームボタンを押すとホーム画面に戻る。

このような当たり前と思ってしまうような普段意識をしない部分の
「ハードウェア ⇔ ソフトウェア」
の制御を行ってくれているのです。

OSはさらに活躍する

そして、「OS」は「アプリの制御」も行っています。
どんな風に制御を行っているかというと

「画面のこの部分がクリックされました(ハードウェア 画面上)」

「わかりました。そこはゲームアプリのアイコンが表示されている場所ですね。ゲームアプリを起動したいのでゲームアプリのプログラムをください。(OS)」

「ゲームアプリのプログラムはこれです。(ハードウェア ハードディスク)」

「ありがとうございます。ゲームアプリのプログラムを実行します。最初はどれから実行すればいいですか?(OS)」

「最初はこのプログラムを実行してください。(アプリ)」

「わかりました。なるほど、このプログラムは画面に起動画面を表示するプログラムですね。画面にこの起動画面を表示してください(OS)」

「指示された通りの画面を表示します。(ハードウェア 画面上)」

少しやりとりが複雑になりました。
OSやハードウェアやアプリがこういった会話を実際に行っているわけではありませんが、裏側ではこのようなやりとりがされています。

ここから分かる事が1つあります。

「ハードウェアもアプリもOSを経由して実行、制御されているので、OSが存在しないとハードウェアもアプリも動かない」
ということです。

なんとなくご理解いただけましたでしょうか?

もちろんOSはこれだけではなく、他にも沢山のハードウェアを制御しています。 まずはコンピューターの仕組みを理解する事が目的ですので、この場で全てのOSの機能を説明していくことは割愛します。
OSが何を行っているものだったのかを知っただけでもかなりの進歩なので、OSに関しては後の連載で徐々に知識を深めていけば十分だと思います。

まとめ

今回のテーマである「コンピューターの仕組み」についての説明は以上です。

コンピューターは「ハードウェア」「ソフトウェア」の2つから構成されている。
ソフトウェアは「基本ソフトウェア」「アプリ」「ミドルウェアの3種類ある。
「基本ソフトウェア」である「OS」はハードウェアとアプリの基本的な制御を行っている。

みなさんが普段あまり意識しないコンピューターやソフトウェアについて、少しでも「なるほど!」と思っていただければ幸いです。

次回では少し気分を変えて、今後のために学習効率をあげる方法を学習していただきます。
初学者が学習を続けていく上で陥りやすい罠があります。
この罠にはまることなく学習をすすめることにより、今後に次々と出てくる専門用語の学習や理解を効率よく行うことができるようになります。

次回「エンジニアになるための教科書3」