1.1 Operating System (OS)
Linux Essentials Online Text | 2021/07/14

OS とは

コンピュータとは、ハードウェアとソフトウェアを組み合わせたもののことを指します。ハードウェアはコンピュータの機械そのもののことを指し、ソフトウェアはそのハードウェア上で動作しているプログラムを指します。OSとは、簡単に言うとこのハードウェアを動かすためのプログラムのことです。

ハードウェアは基本的に人間が命令して動きますが、直接命令できるわけではありません。そのため、仲介してくれるソフトウェアが必要なのです。ソフトウェアが仲介することで、人間はハードウェアに対して間接的に命令を出すことができ、自分の希望通りの動作をさせることができます。

そして、コンピュータにおけるソフトウェアには大きく分けて基本ソフトウェアと応用ソフトウェアの2種類があります。基本ソフトウェアのことをOperating System(OS)といい、応用ソフトウェアのことをアプリケーションといいます。皆さんご存知のスマートフォンを例に出すと、スマートフォンそのものがハードウェア、AndroidやiOSが基本ソフトウェア、その上で使用しているゲームなどのアプリケーションが応用ソフトウェアです。

そして、皆さんがこれから学習するLinuxとは、OSの一種です。

OS の役割

OSは基本的な機能を提供するソフトウェアで、極端な言い方をすると自発的には動作しないソフトウェアです。OSには、大きく3つの役割があります。

1つ目は「基本機能を提供すること」です。例えば、大抵のアプリケーションにはメニューやダイアログ、確認ボタンあったりしますが、これらの機能を、アプリケーション作成の都度作るのは大変です。そのため、アプリケーションが共通して利用できる機能はOSが提供するようにしています。他にも、文字入力の仕組みや、ネットワーク通信機能、ディスプレイへの画面出力などもOSが持っている基本機能で、OS上で動作するアプリケーションに提供することができます。これがOSの大きな役割の1つです。

 

2つ目は「資源を管理すること」です。この場合の”資源”とは、コンピュータが提供できる機能・能力を示しています。
例えば、コンピュータの画面上で、メモ帳ソフトでメモを取りながらメールを書き、その間に表計算のソフトを動かすことがあるかと思います。この時、皆さんはメモ帳ソフト、メールソフト、表計算ソフトのうち、自分が入力したいソフトウェアに入力させることが出来ると思います。具体的には、文字入力したいソフトウェアをアクティブ(最前面に表示する)ことで、文字入力します。

この時OSは、使用者の指示に従い、どのアプリケーションを画面に投影させるか、キーボードからの文字入力はどのアプリケーションで受け付けるか、スピーカーはどのアプリケーションが使うのか等、絶えず裏側で”資源”を切り替えながら管理しています。使用者はこのおかげで、いろいろな作業を同時にできるようになります。

3つ目は「ハードウェアの差異を吸収する役割」です。メーカーが異なるパソコンの筐体に「WindowsOS」をインストールすればWindowsとして使用することができます。これはデスクトップ型でもノート型でも同じです。同様に「LinuxOS」をインストールしたらどうでしょうか。この場合も、どちらもLinuxとして動作します。

通常、ハードウェアはモノが違うと仕様が変わります。仕様が違うということは、動かし方が違います。動かし方が違うということは、動かすためのプログラムが違うということです。

パソコンやスマホは複数のメーカーが製造していて様々な種類があり、形も部品もバラバラです。つまり、本来メーカーが異なる様々なパソコンやスマホは、全て異なるプログラムじゃないと動かないということです。
でも実際は、パソコンにはWindowsが、スマホにはiOSやAndroidがインストールされていて、ハードウェアの違いを意識せず使用することができます。なぜでしょうか。

例えば、デスクトップPCのモニタもタブレットのタッチパネルも、画面に映像を投影するためのハードウェアです。モノは違いますから、モニタに投影するためのプログラムとタッチパネルに投影させるためのプログラムは、別々に作らなければなりません。
しかし、OSが間に入ることでどちらも「OS上に認識した投影装置」として認識させることができます。これにより、アプリケーションを開発する際は、画面に投影させる処理を行うプログラムを作成しなくてもよくなります。OSがハードウェアの違いを吸収して基本機能として提供してくれることで、開発者はハードウェアの違いを気にすることなく、OS上で動作するプログラムを開発するようになります。

OS上で動くようになったアプリケーションは、デスクトップであれ、ノートであれ、タブレットであれ、あるいは、それ以外のパソコンの形をしていないハードウェアであっても、OSが動く状態であるなら、作成したアプリケーションはどのようなハードウェア上でも動作する、ということになります。 

このようにOSは、メーカーが異なることによって生じるハードウェアの差異を吸収することで、異なるハードウェアにインストールしても同じ機能が提供することができます。WindowsでもLinuxでも、そのOSの操作方法を覚えてしまえば、ハードウェアが異なっていても同じ操作感でそのコンピュータを扱うことができます。

ただし、スペック的な能力の差異はOSの機能で埋めることはできません。例えば、高性能なスピーカーが搭載されたPCと安価なスピーカーが搭載されたPCでは、同じ操作で同じ音楽を再生することができますが、音質面では高性能スピーカーを持つパソコンと安価なスピーカーのパソコンとでは音質の差が生じます。
「音を鳴らす」という意味では同じ動作をさせられますが、同じクオリティの音質を求めることはできません。 これは、ハードウェアの性能の問題なので、OSではどうにもなりません。

【一言メモ】
この単元の内容が直接出題されることはありませんが、これからLinuxを学習する上で「OS」がどのようなものかを理解しておきましょう。
一通り読んで、なんとなく理解できたらそれでOKです!

PAGE TOP