最終更新日:2019年04月01日

目次


コンピュータを構成するソフトウェア

ハードとソフトは、コンピュータのハードウェアソフトウェア以外にも用いられる用語である。ハード実際に形があるものソフト物質的には形はないが意味のあるものということができる。

コンピュータのハードウェアは、形があって機能を果たすもの

コンピュータのソフトウェアは、形はないが機能を果たすもの

ということができる。

コンピュータのハードウェアは、【講義】コンピュータを構成するハードウェアで説明する。

コンピュータのソフトウェアをこの記事で説明する。

コンピュータのみならず、多くの機械を見たとき、人々はどちらかというとその外見的な特徴に目を奪われがちである。例えば、ミニカーを見たなら、車輪が回って動くのだな、といったことがわかる。そういった目で見て理解できるわかりやすさを求めて、その機械を理解しようとする。

しかし、コンピュータは、どうだろうか。コンピュータは、確かに電源のスイッチを押し、キーボードのキーを叩き、マウスを動かすと行った物理的な力を使うこともあるが、基本的には手を動かさなくとも、モニタには映像が映っているし、時と場合によっては勝手に次々と動いていく。このように、コンピュータは、目で見てもわからない法則で役割を着々とこなしていく。物質世界を生きており、その物理的な法則で生きている人間にとっては、なかなか理解しがたいが、また違う法則に従って動いていくものがソフトウェアなのである。

最近は、かなり多くのものにコンピュータが搭載されている。われわれが利用するパソコンスマートフォンなどとは別に家電自動車などにもコンピュータが搭載されており、単純な構造だと思っていた機械が実はかなり高度なソフトウェアに管理されて動いているなどというケースが実は身近にかなり多くある。特に IoT の普及に伴って、さらに多くのものにコンピュータが搭載され、様々なソフトウェアが開発されていくだろう。

こういった知らない間に身近にひっそりといて、役に立ってくれているソフトウェアには、さまざまなタイプがいる。パソコンで動いているソフトウェアだけを考えてみても、OSアプリケーションといった我々がそれを認識できるソフトウェアから、デバイスドライバミドルウェア、BIOSといった我々がなかなか認識していないソフトウェアまで幅広い。

この記事では、細かいところまで踏み込んでいくとかなり高度になってしまうため、一般の利用者でも触れ合う機会が多いであろう、以下の項目について説明を行う。

  • OS
  • アプリケーション
  • その他のソフトウェア

これら以外のソフトウェアについては、必要があればまた別の記事を作成して、紹介することとする。

OS(オペレーティングシステム)

OS(Operating System:オペレーティングシステム)は、基本ソフトウェアとも呼ばれ、コンピュータの中核を担うソフトウェアのことである。「OSが~」といった会話は、昔は良く聞いた気がするが、最近はOSといっても通じない学生が多いように思う。だが、以下の代表的なOSを挙げれば、なんとなく想像ができるのではないだろうか。

代表的なOS

  • Windows
  • MacOS
  • UNIX
  • Linux
  • iOS
  • Android

UNIXとLinux以外は、聞いたことがある人が多いのではないだろうか。WindowsとMacOS、UNIX、Linuxは、一般人が想像しやすいいわゆるコンピュータ(パソコンと一部サーバー)を統括しているOSである。

Windows

日本では、ほとんどのパソコン利用者がWindowsのパソコンを利用している(もしくは、いた)のではないだろうか。Windowsシリーズは、パソコンのOSシェアトップであり、依然として9割近くを占めている状況である(2018年1月時点)1)様々なメーカーから発売されているパソコンに導入され、幅広く利用されている。そのため、あまり認識をしていない人も多いが、OSの製造元は、Microsoft社である。そのMicrosoft社が各メーカーにWindowsを提供し、そうして製造されたパソコンが販売されているわけである。

Windowsシリーズは、日々バージョンアップしており、複数のバージョンが今も現役で用いられている。古くは、Windows3.1といったバージョン数字だったが、途中Windows95やWindows2000といった年が入った場合や、ME、XP、Vistaといった言葉が入った場合もあった。近年は、7、8、10とバージョン数字に戻っており、最新版はWindows10である(2018年2月時点)。

GUI で利用できるのが最大の強みであり、ウィンドウズという言葉の通り、 デスクトップ 上にウィンドウを複数開けて、目で見てわかりやすく作業ができるウィンドウズシステムが特徴である。ウィンドウズシステムを導入したのは、何もWindowsシリーズが最初ではないが、Windowsシリーズがウィンドウシステム等を用いて、他のOSに比べて比較的使いやすく、初心者でも簡単に使えるように開発・発展してきたことによって、現在のようにコンピュータが世界中に広がったといっても過言ではないと考えられる。

なお、Windowsは、パソコン用のOSだけではなく、サーバー用のWindows Serverシリーズもある。

MacOS

MacOSは、Apple社が開発したOSである。古くは、Macintoshという名前でパソコンが展開していたが、近年はMacという名前で売り出されている。最も大きな特徴は、MacOSのパソコンは、ハードウェア本体の開発もApple社が行っていることである。よって、MacOSのパソコンを買うには、Windowsのように幅広いバリエーションの中から選ぶのではなく、Apple社が製造したいくつかの種類から選ぶことになる。綺麗な映像音楽が特色として挙げられ、古くから画像・音楽・映像系で多くのファンを持っており、芸術系には信奉者が多い(筆者はそれほど使っていないので理由は正確ではないが、ソフトウェアとハードウェアが同一企業によって開発されているからだろうか?)。

GUI で利用することができ、Dockと呼ばれるアプリケーションを格納したウィンドウがあるのが特徴と言える。その他、擬似的なデスクトップを作り出し、それを切り替えることによって、Windowsのウィンドウズシステムとは、ひと味違った使いやすさがある。

MacOSにもバージョンはあるが、Windowsシリーズのように様変わりはあまりせず、複数のバージョンが世界で共存するようなことはなく、古いバージョンを新しいバージョンが発表されたら、ネットワーク経由でバージョンアップをすることになる。

※世界中でWindowsは、7、8、10が利用されている(2018年1月時点)。これは、Windowsのそれぞれのバージョンが大幅に異なることやWindowsは古いバージョンからバージョンアップするのが有償の場合があることにもよると考えられる。

Apple社のもう一つの主力製品であるiPhone、iPadの成功などもある影響か、近年徐々にWindowsシリーズに変わってシェアを伸ばしつつある2)

UNIX・Linux系OS

UNIX系OSLinux系OSと呼ばれるUNIXから分岐したバリエーションに富んだOS群である。コンピュータの利用が高度になってくると、おそらくこれらのOSに行き着くだろう。特に自作のプログラムの実行環境やネットワーク上にサーバーなどを存在させる場合、UNIX系OSやLinux系OSに行き当たることが多い。始まりのでUNIXは、1960年代後半にベル研究所にて開発された。その後、そのUNIXを参考として、複数のOSが開発されていった。こういったUNIXを参考に開発されたOSたちをUNIX系OSと呼び、総称するのである。なお、MacOSもUNIXから開発されたOSであり、現在独立した地位を築いているため、UNIX系OSと呼ばれることは稀だが、流れをくんでいることには変わりがない。

Linuxは、このUNIXを参考に開発されたOSの1つである。ここでまた、Linuxを基に複数のOSが開発されて、分岐していった。

こういった経緯により、UNIX的な、Linux的な、OSが数多くこの世の中に現れたのである。これらを総称して、UNIX系OS、Linux系OSなどと総称されているわけである。厳密に言うと、総称してひとくくりにしたOSの1つ1つは、別物であり、総称することが適切であるかと言われると、そうでないと思われる。しかし、一般的な日本人にとっては、パソコン用のOSと言ったら、Windowsか、MacOSか、その他というくくりになり、UNIXとLinuxの厳密な違いについて言及できる人は稀である。しかし、UNIXを参考に開発されたというだけあって、似ている部分が多いのも事実であり、大枠で考えるのであれば、ひとくくりにしても支障はないと思われる。

特徴は、 CUI で利用することを基本としており、 GUI での利用を前提としている Windows に比べたら圧倒的に動作が軽快である。近年では、Linux系OSでありながら、 GUI 環境を提供するOSも登場しており、その機能面でも Windows や MacOS に比べても遜色ないレベルに達している。しかし、対応アプリケーションが多くなく、 Windows や MacOS に比べると出遅れている感がぬぐえない。もっとも、それは人間がメインパソコンとして利用する場合の話であり、自作のプログラムの実行やネットワークサーバーとしての機能など、行動が固定されている場合、その軽快さから強力なパフォーマンスを発揮する。

また、無料で利用できるものも多く、そういった意味でもコストパフォーマンスが高く、利用シーンも徐々に増えつつある。

iOS

Apple社が開発したモバイル端末向けのOSである。iPhoneに搭載されているOSであり、実質スマートフォンを登場させたOSということができる。基本的にはApple社が開発・管理しているOSであり、他社の介入を許さない。よって、iOS搭載型のコンピュータは、iPhoneiPadなどのApple社の純正品のみとなっている。その点が後述するAndroidとの大きな違いである。

自由に利用できるAndroidに比べて、iOSは自由さがないといった負のイメージを持たれる場合があるが、一方で、他社の介入を許さないことによって、品質を担保している面がある。例えば、正式にiOS搭載型コンピュータにアプリケーションをインストールしようとした場合、AppStoreを経由しなければならない。これはパソコン利用者にとっては非常に違和感を感じる部分であり、Apple社の独裁的なやり方であると不満を感じる人もいる。しかし、しっかりと審査を通過したアプリケーションのみがAppStoreに並んでいるため、異常におかしいアプリケーションや不正アプリケーションは少ない。これは、セキュリティ面では重要であり、他社の介入を許さないことがセキュリティ的な弱点の漏洩を防いでいるとも考えられる。

良い意味でも悪い意味でもApple社によってしっかりと管理されているOSである。

Android

Google社が開発したモバイル端末向けのOSである。iOSとiPhoneの登場がスマートフォンをこの世に登場させたと考えるのであれば、Androidはスマートフォンを広めたOSということができる。無償で誰でも入手できる オープンソース が特徴であり、その内容が広く公開されている。そのため、利用の幅が広く、様々な企業がAndroidをOSとしたスマートフォンタブレットを開発し、販売している。iOSの方が先に登場したにもかかわらず、爆発的に広まったのはそのためである。

iOSがApple社の管理を受けているのに対して、オープンソースのAndroidはアプリケーション開発も幅広く行われており、多様さが大きな特徴ということができる。参入するためのハードルが比較的低いため、多くのチャレンジの機会があり、その中で切磋琢磨することによって、大きく発展しているということができる。一方で、オープンソースになってしまったがばかりに、内部情報も広く知られてしまい、セキュリティ的な弱点も広く共有されてしまっていることは否めない。

アプリケーション開発を含めた成長の伸びが期待できる一方で、セキュリティ的な脅威の成長の可能性も残していると考えられる。

アプリケーション

おそらく、多くの人々がソフト(あるいはソフトウェア)という言葉で指しているものは、アプリケーション(アプリケーションソフトウェア)のことだろう。applicationという言葉には、「適用」や「応用」、「妥当性」、「申請」などといった様々な意味があるが、意味合いから最も正しいらしい日本語は「応用」である。OSを基本ソフトウェアと呼び、コンピュータ全体の根幹、基盤と考えるのであるならば、アプリケーションはそれらを使って利用者の目的を達成するためのソフトウェアである。よって、基本ソフトウェアに対して応用ソフトウェアとも呼ばれる。

コンピュータを利用するのは、目的を達成するためである。OSの機能は汎用的にできているため、個々の目的に対して特化した機能を有しているわけではない。目的に応じて、それを達成できるような機能が必要になるわけである。しかし、その機能は、他の目的のために必要な機能であるとは言い切れない。むしろ、邪魔になる場合もある。よって、OSの上に目的に応じた機能だけを有するアプリケーションを利用する必要が出てくるわけである。

代表的なアプリケーションの種類は、以下のとおりである。もっとも、アプリケーションの分類の仕方は無数にあり、その方法によって分け方が変わってくるので、注意が必要である。

  • テキストエディタ
    • “.txt”や”.csv”などの拡張子で、その容量のほとんどが文字情報によって締められている テキストファイル を閲覧・編集するためのアプリケーションである。
    • 一言で言うと、文字を表示するためのアプリケーションである。
    • 文字情報を扱うことに長けているアプリケーションだが、レイアウトや装飾なども含めて、文字情報に関する機能以外はほぼないものもある。
    • 普段、利用者が利用するファイルは、 バイナリファイル に分類されるものが多いが、テキストエディタ以外で利用しているファイルであっても、実はテキストファイルであるものもある。代表的なものは、”.html”が挙げられる。テキストエディタはそれらを直接閲覧・編集できるため、熟練者には重宝される種類のアプリケーションでもある。
    • 例:メモ帳、秀丸、terapad、sakuraエディタなど
  • ブラウザ
    • インターネットサーフィンをするためのアプリケーションと思って差し支えない。実際には、他にも様々な機能を持っているアプリケーションが多いが、一般人にとっては利用しないケースが多いだろう。
    • “.html”など、インターネット上に置かれているいわゆる ホームページ と呼ばれるファイル達の多くは、 テキストファイル である。それらは、実際はタグなどと呼ばれた法則に従って記述されただけのテキストファイルであるのだが、ブラウザではタグなどを変換して、グラフィカルな見た目に直して表示してくれる。
    • 例:InternetExplorer、Firefox、Chrome、Safari、Edgeなど
  • 文書作成ソフト
    • 文書ファイルを作成するためのアプリケーションである。
    • テキストファイルも広義の意味では文書ファイルと言えるが、ここでいう文書とは、フォントや装飾、レイアウトなど様々な要素を含んだ書類をイメージした方が良いだろう。
    • 近年では、画像や表なども盛り込むことができ、保存形式もいわゆる文書ファイル形式以外に画像ファイルやHTMLファイルなど様々な形式で保存ができるようになったアプリケーションが多く、単なる文書だけを作るソフトウェアから様変わりしている。
    • 例:Microsoft Office Word、Apache OpenOffice Writer、一太郎など
  • 表計算ソフト
    • 表を用いて計算をするためのアプリケーションである。
    • “表”という言葉がついているところが重要なポイントである。計算をするだけならば、電卓などでも事足りるが、表計算ソフトでは、データを表に保存・管理することによって、単なる計算ではなく、表を用いたデータベースとそれを用いた計算が両方できるようになっている。
    • 例:Microsoft Office Excel、Apache OpenOffice Calcなど
  • プレゼンテーションソフト
    • プレゼンテーションを行うためのアプリケーションである。
    • プレゼンテーションという言葉は、”発表”をイメージする人が多いが、”発表”という単純な言葉より、もっと広義な”情報伝達”をイメージした方が実際に利用する際に役立つだろう。
    • Microsoft Office PowerPointのようにスライドを作成し、それを紙芝居のように切り替えていく方式と、Preziの用に大きな1枚のポスターを作り、それの細部に焦点を当てていく方式の大きく分けて2種類が存在している。古くは、OHPなどを用いたプレゼンテーションの仕方が一般的であったため、それに沿った形で発展してきたと考えられる。
    • 例:Microsoft Office PowerPoint、Apache OpenOffice Impress、Preziなど
  • 画像編集ソフト
    • 画像を編集するためのアプリケーションである。
    • 画像編集ソフトは、いわゆるお絵かきをするアプリケーションである。細かい説明を省いて、どのようなことができるか説明すると、紙にペンなどで絵を描くイメージで、マウスでなぞった通りに絵を描くことができる。
    • 描く以外にも、編集効果などをつけられるアプリケーションもあり、利用用途や性能は幅広い。
    • 例:ペイント、GIMP、Adobe Photoshop

利用者は、これらのアプリケーションを利用して、目的を達成していく。

その他のソフトウェア

これまで、OS(基本ソフトウェア)とアプリケーション(応用ソフトウェア)について、紹介してきた。専門知識のあまりない利用者が認識するのは、これらの2種類のソフトウェアだろう。しかし、これらに分類されないソフトウェアも存在している

一般利用者が目にする事例を挙げると、 デバイスドライバ が挙げられる。プリンタやスキャナを購入した際によく見ることがあると思われるが、実際にはマウスやキーボード、モニタ、無線LAN、フラッシュメモリなど、普段何気なく使っている周辺機器( デバイス )を接続する際にもこのデバイスドライバが働いている。周辺機器には、多くの企業がそれぞれ独自の製品を開発し、販売しているが、OSが対応していればかなり幅広く利用することができる。しかし、それぞれの製品によって持っている機能は大きく異なり、独自の機能をウリにしている製品も少なくはない。これらのかなり多くのバリエーションがある機器の制御をする必要性が出てくる。

つまり、それぞれの製品に応じて、機能を動かすためのソフトウェアが必要になってくるわけである。バリエーションに富み、日進月歩で新開発されていく機能を全てOSで網羅するのは、そもそも難しく、使う機能と使えない機能も出てしまうため、無駄が多くなってしまう。これは、アプリケーションについてもいえることであり、利用者がどの会社のどの製品を使うかはわからない。そこで、OSでもアプリケーションでもないソフトウェアが登場し、それがデバイスドライバと言えるわけだ。

最近の製品は、周辺機器を接続すると、自動でデバイスドライバをインストールするケースが多いが、プリンタなど高機能の周辺機器の場合は、購入時にデバイスドライバをインストールするDVDなどが同梱されているケースやメーカーのWebサイトへ行き、デバイスドライバをダウンロードしてインストールする必要のあるものも少なくはない。このデバイスドライバをインストールすることによって、その周辺機器を利用することができるようになる。

その他、一般利用者はあまり目にする機会はないが、 ミドルウェア というソフトウェアも存在する。ミドルウェアというのは、ある特定の用途に特化して、基本ソフトウェア(OS)と応用ソフトウェア(アプリケーション)との間の橋渡しをするためのソフトウェアのことである2)。データベース制御など多くのアプリケーションで利用するが、アプリケーションの付属物ではなく、かといって最初からOSに含まれているわけでもない機能を利用するために標準化された形式が必要となってくる。これを実現するためのソフトウェアを、OSでもアプリケーションでもなく、中間(ミドル)で働くソフトウェアであるため、ミドルウェアと呼んでいるわけである。厳密に言うと、デバイスドライバとミドルウェアは別物と考えられているが、デバイスドライバもミドルウェアの一種であるととらえる人もいる。

これら以外にもソフトウェアの種類があり、様々な場面で利用者を助けてくれている。

このように、我々がコンピュータを利用する際には、コンピュータの内部で様々な機能やソフトウェアがお互いに働き合っているわけである。これらの全てを詳細な原理まで含めて理解していなければ、コンピュータを利用することができないわけではないが、ある程度の理屈を理解して利用していくことによって、多くの初歩的なトラブルを回避することができると思われる。

参考文献

1) 後藤大地. “Windows 7と10で75% – 3月OSシェア”. マイナビニュース. https://news.mynavi.jp/article/20180206-580925/, (参照2018-02-21)

2) きたみりゅうじ. キタミ式イラストIT塾 応用情報技術者 平成29年度. 初版, 株式会社技術評論社, 2017, 799p, ISBN978-4-7741-8523-1.


本教材に掲載する製品名は、一般に各開発メーカーの商標、または登録商標です。