目次 †
はじめに †
一般にOSなどをシステムパッケージ、OS上で実行されるゲームソフトなどをアプリケーションパッケージという。
ソフトウェアは、ハードウェアを稼働させるためのシステムソフトウェアとユーザーが利用するための応用ソフトウェアに大別される。応用ソフトウェアと基本ソフトウェアの間に、ミドルウェアがあることを覚えておこう。
階層構造にすると上位になるほどハードウェアの影響が少ない。階層構造の利点は、上位の層はすぐ下の層だけを気にすればよいことである。例えばステレオのプラグにウォークマンのヘッドホンを繋ぐとする。このときプラグの大きさが合わないので接続できない。そこで間に変換プラグをはさむことで接続できる。ヘッドホンから見れば、変換プラグに合っていればよく、ステレオのプラグの大きさは関係ないことになるわけだ。
ソフトウェアの階層構造の具体的な利点を紹介する。データベースや通信機能などを独立させることにより、移植*1に伴なう修正作業をミドルウェアで吸収でき、応用ソフトウェアの変更をしなくてすむ。
- システムソフトウェア
- 基本ソフトウェア(広義のOS)
- 制御プログラム(狭義のOS):基本通信制御を含む。
- 言語プロセッサ
- サービスプログラム(ユーティリティ)
- ミドルウェア
- データベース管理システム
- 通信管理システム:LAN制御を含む。
- ソフトウェア開発支援ツール:CASEツールを含む。
- EUCツール
- 運用管理ツール
- 応用ソフトウェア
- 共通応用ソフトウェア
- CAD
- CAIオーサリングシステム
- エキスパートシステムシェル
- 機械翻訳
- OR、統計処理(LP、シミュレーション、多変量解析など)
- 科学技術計算ライブラリ
- 特殊問題向き言語
- 個別応用ソフトウェア
システムソフトウェア(system software) †
ハードウェアを制御し、効率的にコンピュータを活用するためのソフトウェア。
基本ソフトウェア(Operating System:OS) †
ハードウェアの基本的な制御を行い、ハードウェアの資源を有効活用するとともに、ユーザーの使い勝手をよくするためのソフトウェア。広義にはオペレーティングシステム(OS)を示す。
基本ソフトウェアには、さらに制御プログラム(狭義のOS)、言語処理プロセッサ、サービスプログラム(ユーティリティソフトウェア)がある。
ミドルウェア(middleware) †
基本ソフトウェアと応用ソフトウェアの中間に位置し、多くのユーザーが共通して使用するソフトウェアのこと。OS上で動作し、アプリケーションソフトに対してOSよりも高度で具体的な機能を提供する。
- OSとアプリケーションの中間に位置する
- OSの機能を利用するには、スーパーバイザーコール(システムコール)を利用する。しかし、システムコールを利用するには、OSやハードウェアの高度な知識を必要とする。そのため、システムコールを直接利用したアプリケーションの作成は難しい。そこで、システムコールの難しい部分を隠蔽することで、高度なスキルを要求せずにOSの機能を利用できる仕組みを提供するソフトウェアがミドルウェアである。
- 多様な利用分野に共通する基本機能を実現する
- 例えば、DBMSは高度なアルゴリズムによるファイル入出力やログの保存などの機能を持っている。これはDBMSを利用するアプリケーションにとっては共通の機能であるので、これを括り出してミドルウェアとする。
- 他にもトランザクション制御など、アプリケーションが直接実装すると開発規模の肥大や品質の低下を招くような場面で共通部分を括り出して、ミドルウェアとする場合がある。
例:
応用ソフトウェア(application software) †
ユーザーの利用目的に応じて作られたソフトウェア。アプリケーションソフトウェアとも呼ばれる。
共通応用ソフトウェア †
多くの分野で共通して利用できる汎用的なソフトウェア。個々のユーザーが同じソフトウェアを共通利用できるので、一般にソフトウェアパッケージにされ市販されている。
例:
- ワープロソフト
- 表計算ソフト
- プレゼンテーションソフト
- オーサリングソフト
個別応用ソフトウェア †
ソフトウェアパッケージされた共通応用ソフトウェアでは十分な作業が行えない場合に、個々の業務ニーズに応じて開発したソフトウェアのこと。
例:
参考文献 †
- 『実践コンピュータシステム』
- 『平成16年度【秋期】基本情報技術者合格教本』
- 『1週間で分かる基本情報技術者集中ゼミ【午前編】 2006春秋』