ソフトウェア

ソフトウェアとは

1日目2日目では、コンピューターを構成する機械的な部分であるハードウェアについて学びました。しかし、そのようにして構成されたコンピューターも電源を入れて何らかの操作や制御をしなければ、難の働きもできません。では、コンピューターを活用するにはどうすればよいのでしょうか?ここからは、コンピューターの中身であるソフトウェアについて学習していきます。

アプリケーションソフトウェア

私たちが「コンピュータを使用する」という言葉から連想する主な利用方法は以下のようなものではないでしょうか。

このどれもが、コンピューター内部にあるアプリケーションソフトウェアを利用することにより実現されます。アプリケーションソフトウェアとは、コンピューター上で特定の作業を行うことを目的に用意されたプログラムのことで、「アプリケーションソフト」や「アプリケーション」「アプリ」などと省略されて呼ばれることもあります。私たちが通常ソフトウェアという言葉で連想するのは、ほとんどがこのアプリケーションソフトであると言えます。前述の例で言うと、

といった具合になります。このように、一般に私たちがパソコンを使うということは、様々なアプリケーションソフトを利用することであるということがわかります。

システムソフトウェア

しかし、こういったアプリケーションソフトのみがコンピュータソフトウェアのすべてというわけではありません。現在のコンピューターでは、アプリケーションソフトとは別に直接ハードウェアを操作・制御するためのOS(オペレーティングシステム)というソフトウェアが組み込まれています。(図3-1.)

図3-1.OSとアプリケーションソフトウェアの関係

OSとはハードウェアとアプリケーションソフトの間で各アプリケーションがハードウェアをバランスよく使用できるように管理・制御するための特殊なソフトウェアです。OSが存在することによって、ハードウェアの構成をある程度気にすることなくアプリケーションを開発することができます。また、OSは私たちユーザーにとってコンピューターを使いやすくするための環境を提供してくれます。

このようにシステムの根幹をなすソフトウェアのことを、システムソフトウェアと言います。システムソフトウェアは、オペレーティングシステムの基本機能を拡張する為のミドルウェアや、更にはROMなどの集積回路に格納されたファームウェアが含まれることもあります。コンピューターに接続される機器を制御するためのソフトウェアである、デバイスドライバーと言ったものがあります。

以上をまとめると、ソフトウェアの分類はいかのようになります。(表3-1.)

表3-1.ソフトウェアの分類
分類 内容
アプリケーションソフトウェア広い意味でのソフトウェア。ワープロや表計算、ゲームやウェブブラウザなど、ユーザーがコンピュータを利用する際に必要な機能を実装したもの。
システムソフトウェア基本ソフトコンピュータの基本となるソフトウェア。OSとも言う。メモリやハードディスクなどのハードウェアの管理、プロセスの管理といった、コンピュータの基本的な管理・制御を行っている。
ミドルウェアアプリケーションソフトとOSの中間的な役割をもつソフトウェア。アプリケーションに特化した機能を提供する。
ファームウェアコンピューターに接続する周辺機器の内部でその機器自身の制御のために動作するソフトウェア。PCにもBIOS(バイオス)と呼ばれるファームフェアが存在する。

OSの役割

OSの種類

身の回りのスマートフォンやパソコンを見てわかるとおり、アプリケーションソフトには、実に様々な種類があります。それに比べて、コンピューターのOSはそれほど多くの種類は存在しません。皆さんもWindows(ウィンドウズ)とかMac(マック)という言葉を聞いたことがあるのではないでしょうか?それらはまさにOSの種類を指すものなのです。主なソフトウェアには、以下のようなものがあります。(表3-2.)

表3-2.主なOSの分類と名前
分類 名前 説明
パソコンWindows
現在もっとも広く普及しているパソコン用OS。マイクロソフト社によって開発・販売されている。日本で爆発的に普及したのがWindows95からで、Windows8以降ではタブレットやスマートフォンなどのモバイル機器でも同一のOSを用いるようになる。
MacOS
アップル社のマッキントッシュ用のOS。ウィンドウズよりもシェアが低いが、デザイナーやミュージシャンなどによって愛用されている。パソコンで最初にOSにGUIを取り込んだOSとしても知られている。OS X Mountain Lion より正式名称から「Mac」が外され、現在は「OS X」が正式な名称になっている。
Linux
フィンランドの大学生(当時)のリーナス・トーバルズ氏によって開発されたUnixをベースとしたOS。「リナックス」もしくは「ライナックス」などと呼ばれる。サーバー用のOSとして広く利用されている。オープンソースという特殊な法歩で開発・配布されている。様々なディストリビューションが発表されている。
スマートフォン
タブレット
iOS
スマートフォン用の最初のOS。アップル社のiPhone,iPadのためのOS。スマートフォンの世界ではかなり大きなシェアを占める。シェアの一番はAndroidに奪われたが、音声によるユーザーインターフェースであるSiri(シリ)など、先進的な技術を導入するなど、先進的なOSとして知られている。
Android
検索エンジンのグーグル社によって開発されたOS。広く様々な会社のスマートフォンやタブレットで利用されている。スマートフォン用のOSとしては、シェア1位である。ベースはlinuxであるが、Google社によって独自のGUIが搭載されている。スマートフォンやタブレットのハードウェアを開発するメーカーによって独自の変更が加えられているのが特徴。

原則的に、同一OSであれば、同一のアプリケーションソフトを利用することができます。そのため、アンドロイドのスマートフォンは、さまざまな会社から発売されていますが、同一のソフトを利用することが可能です。

逆に、ハードで同一でも、OSが異なると同一のソフトを使えません。現在、マッキントッシュでは、MacOSとWindowsの両方のOSを利用できますが、MacOS用のソフトをWindowsで利用できませんし、その逆についても同様です。

OSの働き

OSにもいくつかの種類があり、画面の見た目や搭載されている細かな機能にはちがいがあります。しかし、ユーザーやアプリケーションとハードウェアとの仲介役をするという点においては、共通する役割があります。コンピューターの発展とともにOSも進化し、役割は非常に多岐にわたるようになりましたが、ここでは、そのなかでも基本的なOSの役割について学習します。OSの基本的な役割には、以下のようなものがあります。

(1) 周辺機器の制御

キーボードやマウス、ディスプレイなどは周辺機器(しゅうへんきき)と呼ばれます。OSはこれらを監視し、正常に動作しているかどうかをチェックしています。周辺機器にトラブルが発生していたり、デバイスドライバがインストールされておらず周辺機器をOSが認識できない場合などには、ユーザーに対して警告を発するなどの働きをします。

(2) ユーザーインターフェースの提供

ユーザーインターフェースは、コンピューターの分野においてはユーザーとコンピューターの接点といった意味を持ちます。具体的には、コンピュータやOSをユーザーがどのようにして操作するための方法のことです。コンピューターのユーザーインターフェースには主にGUICUIの2種類があります。

コンピューターに関する情報をグラフィックを多用して視覚的に表示し、それを利用してユーザーがコンピューターの操作を行えるようにしたユーザーインターフェースをGUI(Graphical User Interface)といいます。スマートフォンやタブレットの画面をタップして操作したり、パソコンでマウスを使って画面上のアイコンをクリックすることによって、視覚的にコンピューターを操作することがこれにあたります。

図3-2.パソコンGUI(ウィンドウズの画面)図3-3.スマートフォンののGUI(Android)

それに対し、キーボードからの文字列入力のみを用いてユーザーがコンピューターを操作するユーザーインターフェースをCUI(Character User Interface)といいます。初期のOSであるUNIXやMS-DOS(図3-4.)では、CUIのみでしかコンピューターを操作することができませんでした。

MS-DOSは、IBM社のパソコンであるIBM-PC(図3-5.)のためのOSで、マイクロソフト社によって開発され、当初はフロッピーディスクで配布されていました。(図3-6.)また、最初に世界的に普及したパソコンであるアップル社のAppleⅡ(図3-7.)でも、コンピュータはCUIで操作していました。

現在では、さらに、音声による操作など、さまざまなユーザーインターフェースが追加されるようになりました。

図3-4.パソコンCUI(MS-DOS)

図3-5.IBM-PC図3-6.MS-DOS図3-7.Apple2
※画像提供:Wikimedia Commons

(3) ソフトウェアの管理

コンピューター上では、ワープロソフトやWebブラウザーソフトなど様々なソフトを同時に動作させることができます。それを可能にすることもOSの役割です。また、アプリケーションのインストールアンインストール、起動しているアプリケーションの確認をOSの機能によって行うことができます。

なお、インストールとは、コンピューターでソフトウェアを使用可能な状態にすることであり、アンインストールとは、コンピューター上からソフトウェアを削除することを指します。

(4) コンピューター上のデータ管理

コンピューターの内部には、アプリケーションソフトそのものや、アプリケーションを使って作成されたデータやアプリケーションそのものなど、様々なデータが存在します。これらはコンピューター上ではファイルとして扱われます。このファイルはOSによって管理されています。