3.2 コンピュータの基本構造:ソフトウェアシステムとして

コンピュータという一つのシステムは、ハードウェアとソフトウェアの二つに大別することができる。ハードウェアは元来、「金物」を表す言葉であった。コンピュータの世界では、電子機器としてのコンピュータ本体やそれを構成する部品をハードウェアと呼ぶことが多い。前節は、そのハードウェアとしてのコンピュータの基本構造の説明だった。

コンピュータは、ハードウェアだけでは動かない。そのハードウェア上に処理を実現するためのソフトウェアが必要である。その実体は多数のプログラムである。そうしたプログラム群の総称がソフトウェアと考えてもよいだろう。本節では、ソフトウェアに関して、その目的により分類しながら説明する。

一般に、「ソフト」と言われるものは、アプリケーションソフトウェアと呼ばれるものであり、特定の用途をもったものである。たとえば、文書の作成に関しては、文書の編集作業を目的とするテキストエディタ、そして、文字の装飾や段落の幅などの文書の体裁を整えることを目的としたテキストフォーマッタ、この二つの機能を兼ね備えたワープロソフトなどがあげられる。

数値データの集計や分析を主な目的とするソフトウェアとして表計算ソフトウェアがある。これは、集計用紙を模した格子状に並んだセルと呼ばれる欄に数値や、数値と数値との関係を数式で記述することにより、数値データの計算をおこなう。現在では、単なる数値データの集計・分析に留まらず、事務における小規模な帳票処理等に幅広く用いられている。

以上の二つ、ならびに後で解説するインターネット利用のための通信・閲覧・検索のソフトウェアが一般的かつ代表的なソフトウェアだろう。その他にも、多項式の展開や因数分解、微分や不定積分などを記号的な処理でおこなう数式処理システムと呼ばれるソフトウェアがある。これは、理工系分野の研究者や学生に広く役立っているソフトウェアの一例である。

これらのアプリケーションソフトウェアは、ハードウェアとしてのコンピュータ上で直接動作するのではなく、オペレーティングシステムと呼ばれるソフトウェアが両者の仲立ちとなる。オペレーティングシステム自体は、文書作成やデータ集計といった特定の用途をもたず、ハードウェアの制御や管理をアプリケーションソフトウェアの代りに一括して行なう。そして、オペレーティングシステムは、個々のアプリケーションソフトウェアに共通して必要となる機能を実現する。このように個々の用途に依存するのではない一般的な目的をもったソフトウェアをシステムソフトウェアと呼ぶ。

システムソフトウェアには、オペレーティングシステムの他、プログラミング言語処理系や、アプリケーションソフトウェアに共通した機能を担うミドルウェアが、あげられる。

ミドルウェアの例としては、データベースを管理するためのソフトウェアであるDBMSやWebページの配信を担当するWebサーバソフトウェアなどがあげられる。ローマ字を平仮名・片仮名・漢字に変換するかな漢字変換システムも、システムソフトウェアの一つであるといえる。

また、ライブラリと呼ばれるソフトウェアの部品の集合体がある。これもシステムソフトウェアの一つであり、たとえば、OpenGLと呼ばれる3次元画像の表示のためのライブラリがその典型である。これは、アプリケーションソフトウェアが画像表示のためのハードウェアを直接操作するよりも、効率的・効果的に3次元画像を表示することを可能にしている。