この記事ではソフトウェアの分類とOSSについてIT初心者にも分かりやすく解説します。
ソフトウェアの分類
- ソフトウェアには基本ソフトウェア・ミドルウェア・応用ソフトウェアがある。
- 基本ソフトウェアはOSとも言われ、ハードウェア管理やタスク管理など、コンピュータの処理の土台になる部分を制御する。
- 応用ソフトウェアはExcelやペイント等のユーザが実際に使用するアプリである。
- ミドルウェアは基本ソフトウェアと応用ソフトウェアの中間に位置し、処理効率を上げたり、開発コストを下げるのに役立つ。
- OSSとはソースコードを公開しているソフトウェアで、誰でも無償・安値で
ソースコードを改変して再配布出来る。
基本情報ではソフトウェアの基本に関する問題やOSSに関する問題が出ます。是非最後までご覧ください。
ソフトウェアの役割
コンピュータは五大装置と呼ばれるハードウェアで構成されています。
しかし、ハードウェアはハードウェアだけではただの機械の塊です。
ただの機械の塊であるハードウェアに意味を吹き込み、コンピュータとして動くようにするのがソフトウェアです。ロボットがハードウェアで操縦士がソフトウェアのような感じですね。
ソフトウェアには基本ソフトウェア・ミドルウェア・応用ソフトウェアがあります。
基本ソフトウェア
基本ソフトウェアは全てのコンピュータが必要とするような機能を提供するソフトウェアです。コンピュータの電源をON・OFFしたり、キーボードで入力した内容がディスプレイに表示できるのは基本ソフトウェアが働いているからです。基本ソフトウェアはOS(Operating System)とも呼ばれます。WindowsやMacが身近な例です。
基本ソフトウェアの役割は、
- ハードウェア管理:マウスを動かした時にポインタが動いたり、キーボードで入力した時に文字が表示されるようにする。
- タスク管理:Googleで検索しながらExcelを動かすみたいに、複数のソフトウェアを同時に操作することがあります。しかしCPUは同時に1つの命令しか処理出来ないので、どのソフトのどの命令をどの順番で処理するのかを整理します。
- 記憶管理:プログラムを実行する際、主記憶装置に命令やデータを読み込んでおく必要があります。プログラムが使用する主記憶装置の領域の確保や解放を行います。
- 言語プロセッサ:プログラム言語をコンピュータが理解出来る機械語に変換します。
また、基本ソフトウェアによって画面のデザインが違います。WindowsとMacでスタート画面が全然違ったりしますよね。
基本情報で基本ソフトウェアの詳細について問われることはあまりありませんが、ソフトウェアを理解する上で知っとくべき知識なので、ふーんくらいで理解しておくと良いと思います。
デバイスドライバ
デバイスドライバとは、コンピュータに接続したマウスやプリンタ等の周辺機器が利用できるように、OSと周辺機器を仲介するソフトウェアです。
プリンタをコンピュータに接続しても上手く使えなかったという経験ありますか?この時、プリンタ用のソフトウェアをインストールすることで、プリンタが使えるようになったと思います。このソフトウェアがデバイスドライバです。
マウスやキーボード等、よく使う周辺機器のデバイスドライバはOSに内蔵されていることが多いです。
応用ソフトウェア
応用ソフトウェアはある目的のために作られたソフトウェアで、ExcelやWord、メモ帳、Google Chrome等が応用ソフトウェアに当たります。応用ソフトウェアはアプリケーションとも言われますね。
ミドルウェア
ミドルウェアは基本ソフトウェアと応用ソフトウェアの中間に位置するソフトウェアで両方の補佐をします。
ミドルウェアを使うことで得られる下のメリットが得られます。
- 処理効率が上がる:OSだけでも応用ソフトウェアは動きますが、ミドルウェアを使う方がより効率的に処理が出来ます。
- 開発コストの削減:複数の応用ソフトウェアで使用する汎用的な機能をまとめておくことで、効率的に応用ソフトウェアの開発が出来ます。
OSS(オープンソフトウェア)
OSS(オープンソフトウェア)とは、ソースコードを公開しているソフトウェアです。
OSSは誰でも無償もしくは少額でソースコードを改変して、再配布することができます。
OSSとして認められるには以下の10個の要件を満たす必要があります。
- 自由に再配布できる
- 無償(または妥当なコスト)でソースコードを配布する
- 派生ソフトウェアの配布を許可する
- オリジナルのコードがどこか分かるようにする
- 配布先の個人やグループを制限しない
- 配布先の利用分野を制限しない
- プログラムに付随する権利はすべての再配布者に平等に与えられる
- 特定の製品だけに限定したライセンスにしない
- 他のソフトウェアを制限するライセンスにしない
- ライセンスは技術的に中立である
OSSの問題ではOSSの開発者・再配布する人・OSSを改変する人がいます。
OSSの開発者が他の誰かにOSSを配布することを「配布」と言い、
OSSの開発者以外が他の誰かにOSSを配布することを「再配布」と言います。
OSSを再配布したり、派生ソフトウェアを販売する時、元のOSS開発者は追加でお金を取ることが出来ません。
ライセンスとはOSSを入手・利用するために守る必要があるルールや利用者に与えられる権利をまとめたものです。
OSSのライセンスで他のソフトウェアを制限してはいけません。
また、派生ソフトウェアを作成した時、元のOSSのライセンスと同じライセンスで配布する必要はありません。
基本情報技術者試験での出題例
平成31年度春期問17
基本情報技術者
午前試験 平成31年度春期問17
デバイスドライバの説明として,適切なものはどれか。
ア PCに接続された周辺機器を制御するソフトウェア
イ アプリケーションプログラムをPCに導入するソフトウェア
ウ キーボードなどの操作手順を登録して,その操作を自動化するソフトウェア
エ 他のPCに入り込んで不利益をもたらすソフトウェア
正解は”ア”
デバイスドライバとはPCに接続された周辺機器を制御するソフトウェアです。
平成31年度春期問20
基本情報技術者
午前試験 平成31年度春期問20
OSIによるオープンソースソフトウェアの定義に従うときのオーブンソースソフトウェアに対する取扱いとして,適切なものはどれか。
ア ある特定の業界向けに作成されたオープンソースソフトウェアは,ソースコードを公開する範囲をその業界に限定することができる。
イ オープンソースソフトウェアを改変して再配布する場合,元のソフトウェアと同じ配布条件となるように,同じライセンスを適用して配布する必要がある。
ウ オープンソースソフトウェアを第三者が製品として再配布する場合,オープンソースソフトウェアの開発者は第三者に対してライセンス費を請求することができる。
エ 社内での利用などのようにオープンソースソフトウェアを改変しても再配布しない場合,改変部分のソースコードを公開しなくてもよい。
正解は”エ”
ア OSSは配布先の組織や業界を限定してはいけません。
イ OSSを再配布・改変して再配布する際、元のOSSと同じライセンスにする必要はありません。
ウ OSSを再配布・改変して再配布する際、元のOSS開発者は第三者に追加のライセンス料金を請求できません。
平成30年度春期問20
基本情報技術者
午前試験 平成30年度春期問20
多数のサーバで構成された大規模な分散ファイルシステム機能を提供し,MapReduceによる大規模データの分散処理を実現するOSSはどれか。
ア Apache Hadoop
ウ Apache Spark
イ Apache Kafka
エ Apache Storm
正解は”ア”
Hadoopとは大規模データの分散処理を行うOSSです。詳しくはこちらの記事で解説しています。
基本情報に関するの他の記事
ハードウェア | ソフトウェア | システム構成 |
ネットワーク | データベース | 開発手法 | 情報セキュリティ |
ソフトウェアに関する記事