ソフトウェアの分類と階層構造
経営情報システム 第8回
「ちょっと想像してみてください。あなたは今、ほんの短いメールを書こうとしています。キーを1つ叩く前に、画面のピクセル1つ1つに直接命令しなければならないとしたら、どうですか?」。動画はこんな想像から始まります。このページでは動画の流れにそって、ソフトウェアの2大分類、応用ソフトウェアの個別・共通、ミドルウェアとOS、広義と狭義のOS、カーネルまでの階層構造をまとめました。まず動画を聞いて、あとからここで復習するのがおすすめです。
メールを1通書くだけでも、裏では膨大な命令が動いている
動画は、こんな想像から始まります。短いメールを1通書こうとして、キーボードを1つ叩く前に、画面のピクセル1つ1つに「この色で光れ」と直接命令しなければならないとしたら? さらに、ハードディスクの円盤を回すモーターに「この速度で回れ」と毎回指示しなければならないとしたら? 考えただけで気が遠くなります。
私たちがそんな苦労をせずに済むのは、ソフトウェアのおかげです。動画はソフトウェアを、一言で「コンピューターを動かすための命令をまとめたもの」と説明します。そして、ソフトウェアの種類をバラバラのリストとして暗記するのは非効率で、どの階層で、どんな役割を果たしているかという全体像で覚えるのがコツだ、と続けます。
ただ用語を暗記するだけじゃダメなんですね。
ええ。全体像を俯瞰してイメージできれば、試験本番でも迷わず答えを導けます。この回は、ソフトウェアの世界を上の層から下の層へ降りていく流れで見ていきましょう。
まずは2大分類:応用ソフトウェアとシステムソフトウェア
動画では、ソフトウェアはその役割から大きく2つに分けられます。1つ目は、利用者の目的に合わせた特定の機能を提供する応用ソフトウェア(アプリケーションソフトウェア)です。2つ目は、コンピューター自体を動かすために必要なシステムソフトウェアです。
聞き手は、これを会社にたとえます。直接お客さんの課題を解決したり、ものづくりをしたりする事業部が応用ソフトウェア。会社という組織そのものを維持して機能させる総務やインフラ部門がシステムソフトウェア、という関係です。
動画のたとえ:事業部と総務
どんなに優秀な事業部(アプリケーション)があっても、働く場所やインフラを整える総務(システム)がなければ機能しません。電話もネットもつながらないオフィスでは仕事にならないのと同じです。動画は、表の顔(応用)と裏方(システム)という2つの役割分担を意識することが第一歩だと言います。
(補足:JIS X 0001:1994「情報処理用語―基本用語」では、応用ソフトウェアを「ある適用業務問題の解決に特有のソフトウェア」と定義し、例に表計算プログラムを挙げています。確認できたのは1994年版です。同じ規格には「支援ソフトウェア」という項もあり、例にコンパイラとデータベース管理システムが挙がります。動画の「ミドルウェア」「言語プロセッサ」とは分け方の切り口が違うので、別の資料を読むときは用語の定義を確かめましょう。)
応用ソフトウェアは「個別」と「共通」に分かれる
動画は、応用ソフトウェアをさらに2つに分けます。個別応用ソフトウェアは、在庫管理システムや給与計算ソフトのように、個別の特定の用途のために使われるものです。特定の業務の課題を解決するためだけに作られているので、給与計算ソフトで文章を書くことはできません。
もう1つの共通応用ソフトウェアは、文書作成ソフト、表計算ソフト、プレゼンテーションソフトのように、さまざまな目的・さまざまな業務に使えるものです。動画は、ウェブサイト制作ソフトや、画像・動画を編集するオーサリングツールも、ここに含まれると説明します。
ちょっと素朴な疑問です。動画編集のオーサリングツールって、用途がかなり絞られていませんか? なぜ個別ではなく共通なんでしょう。
いい着眼点です。ここでの「共通」は、作り出す最終成果物が利用者の自由な発想に委ねられているか、という意味なんです。給与計算ソフトは、誰がどう使っても給与明細という決まった結果しか出てきません。
確かに、人によってポエムが出てきたりはしませんね。
一方、オーサリングツールは、企業のまじめなプロモーション動画も、個人の旅行の思い出ムービーも作れます。アウトプットの自由度が高い汎用的な道具だから、共通応用ソフトウェアなんです。
(補足:「個別応用」「共通応用」という呼び方や、オーサリングツールを共通応用に入れる扱いは、今回確認した公的資料には出てきませんでした。この回では動画の分け方として覚えてください。)
アプリは、下の階層の力を借りて動いている
動画で聞き手が「面白い」と感じたのは、個別応用ソフトの説明に「OSやミドルウェアの機能を呼び出しながら処理を行う」という点が含まれていることです。アプリケーションは、画面に文字を表示したりデータを保存したりするときに、自分で0から処理しているわけではありません。すべて、下で支えているシステムソフトウェアの力を借りています。
聞き手は「会社の事業部が、総務に備品の発注をお願いするような連携ですね」とまとめ、講師も、この連携こそが階層構造の核心部分だと答えます。ここから、お願いを受け取る側、つまりシステムソフトウェアの中身へ降りていきます。
ミドルウェア:OSとアプリの「中間」にいる専門部署
システムソフトウェアは、さらにミドルウェアとOSに分けられます。動画によると、ミドルウェアは名前のとおりOSとアプリケーションソフトウェアの中間に位置し、データベース管理のように、OSにはない特定の機能について、アプリケーションを動かすための基本処理を行います。
OSが最初から全部の機能を持っていればいいのに、なぜわざわざ中間のミドルウェアが必要なんですか?
役割分担のためです。世の中のすべてのアプリが必要とする複雑な機能を全部OSに持たせたら、OSがとてつもなく巨大で重いシステムになってしまいます。
なるほど。OSには、どんなアプリでも絶対に使う最小限の基本機能だけを持たせておくんですね。
そうです。データベース管理のように、多くのアプリが必要とする少し高度な機能だけを、ミドルウェアとして独立させます。アプリは高度な機能を効率よく呼び出せるようになります。
これは動画の説明で、ミドルウェアが置かれている理由を「OSを身軽にするための役割分担」とみなしています。(補足:IPAの基本情報技術者試験のシラバスVer.9.2は、ミドルウェアを「OSとアプリケーションソフトウェアの中間に位置する」ものとし、用語例にDBMS、通信管理システム、TPモニターなどを挙げています。一方、名古屋大学の講義スライドは、ミドルウェアを応用ソフトウェア側にまとめる分け方をしています。ミドルウェアの位置づけは資料により異なります。この回では動画に合わせて、システムソフトウェアの一部として覚えます。)
OSには広義と狭義がある
ミドルウェアのさらに下が、コンピューターの最も大きな土台であるOS(オペレーティングシステム)です。動画では、OSは「コンピューター全体を管理・制御し、人が使えるようにするためのソフトウェア」と説明されます。ここで重要になるのが、広義のOSと狭義のOSという2つの範囲を分けて考えることです。
狭義のOSは、私たちが日常的にいちばんよく知っているものです。PC向けのWindows、macOS、Linux、モバイル端末向けのiOS、Androidなどで、デバイスを買ったときから入っていて、画面表示やタッチ・クリック操作を可能にしているベースの部分です。広義のOSは、この狭義のOSに加えて、言語プロセッサやサービスプログラムなどを含めた範囲を指します。
(補足:「狭義のOS」の範囲は資料により異なります。動画は狭義のOSをWindowsなどの製品として説明しますが、名古屋大学の講義スライドは「狭義にはカーネルのみをOSとする(例:Linuxカーネル)」と書き、言語プロセッサも基本ソフトウェアに含めることがある、と添えています。問題文で用語の範囲が示されているときは、その範囲に従ってください。)
なぜ「翻訳」までOSの仲間なのか:言語プロセッサ
言語プロセッサは、人が分かる言葉で書いたプログラムのソースコードを、コンピューターが分かる言葉に変換するもので、動画はコンパイラやインタプリタを例に挙げます。
翻訳みたいなものが、どうしてOSの一部として扱われるんですか? ちょっと不思議です。
ハードウェアそのものは、人間が書いたプログラムの言葉を直接理解できるわけではないからです。機械は機械の言葉しか分かりません。人間がどれだけ美しいプログラムを書いても、そのままではただの文字列です。
つまり、便利な翻訳ツールというより、機械と対話するための根本的な仕組みだから、広義のOSに入るんですね。
そういうことです。人間と機械の間にあるコミュニケーションの壁を越える、言葉の変換という基礎的なインフラが、システムレベルで必要不可欠なんです。
(補足:IPAの基本情報技術者試験のシラバスVer.9.2は、「OSの機能と構成」の項目にカーネルと言語プロセッサを並べ、用語例にコンパイラ、サービスプログラム、ミドルウェアなどを挙げています。言語プロセッサやサービスプログラムをOSの話題として扱う点は、動画の整理と同じ方向です。)
見た目に騙されるな:サービスプログラム(ユーティリティ)
サービスプログラム(別名ユーティリティ)は、ディスク最適化ソフト、アーカイブソフト、データ復旧ソフトのように、OSの機能を補うためのソフトウェアです。ここで聞き手が、自分の体験を話します。間違えて消した写真を取り戻すために、データ復旧ソフトを別に買ったことがある。自分が目的を持って使ったのだから、アプリケーションではないのか、という疑問です。
そこは多くの方が混同しやすいトラップです。アイコンをクリックして起動する点では、見た目はアプリケーションと同じですよね。でも、ソフトウェアの分類は、何の目的で動いているかで決まるんです。
アプリは、文章を書く、動画を作るといった、ユーザーの業務や娯楽の課題を解決する。データ復旧やディスク最適化は、コンピューター自体を健全に保つためにある、ということですか。
その通りです。だから、システムソフトウェアの仲間であり、広義のOSに含まれます。見た目に騙されず、そのソフトが表でユーザーにサービスしているのか、裏でシステムを支えているのかを見極めることが重要です。
(補足:サービスプログラムとユーティリティをどちらの側に置くかは、資料により異なります。名古屋大学の講義スライドは、基本ソフトウェアの中に「システムサービスプログラム/ライブラリ」を置く一方、応用ソフトウェアの中に「ユーティリティ系アプリケーション」も置いています。データ復旧ソフトなどを広義のOSの一部とする扱いは、今回確認した公的資料には出てきません。動画の考え方として覚えてください。)
最深部のカーネルと、国にたとえた全体像
階層構造のいちばん深い場所にあるのがカーネルです。OSの中核を担い、ソフトウェアとハードウェアの橋渡しを行うソフトウェアです。聞き手は、ここまでの話を、広義のOSを巨大な国にたとえて整理します。
| 広義のOS | 国でいうと | 動画の説明 |
|---|---|---|
| 広義のOS | 国を動かす | コンピュー |
| 言語プロセ | 機械と人間 | プログラム |
| ユーティリ | インフラの | OSの機能 |
| カーネル | 国の根幹を | 最も奥底で |
講師は、カーネルは物理的なハードウェアに直接触れて橋渡しを行うことができる唯一無二の存在だ、と強調します。(補足:「唯一」は強い言い方です。名古屋大学の講義スライドは、下位の機能は基本的にライブラリを通して使うとしたうえで、「やる気と特権があるならば、直接ハードウェアも叩ける」と添えています。また、IPAのシラバスは、シェルが利用者の指示を受けてカーネルの機能を呼び出す役割をもつ、と説明しています。この回では、カーネルがOSの中核として、アプリ側からハードウェアへ橋渡しをする部分、と覚えれば十分です。)
階層構造を1本の流れで描いてみる
動画は最後に、アプリケーションが利用者から注文を受け、ミドルウェアが効率的に指示を整理し、OSが全体を管理・制御し、カーネルが物理的なハードウェアへ橋渡しを行う、という流れをまとめます。私たちがスマートフォンをタップした一瞬のうちに、この連携が裏側で行われています。
次の表は、この回の分類を使った仕分けの練習です(自作の設例で、動画の例ではありません。分類は動画の枠組みに当てはめたものです)。
| ソフトウェ | 仕分け | 理由 |
|---|---|---|
| 給与計算ソ | 個別応用 | 給与明細と |
| 文書作成ソ | 共通応用 | 何を書くか |
| データベー | ミドルウェ | 多くのアプ |
| コンパイラ | 言語プロセ | ソースコー |
| ディスク最 | サービスプ | コンピュー |
| Windo | 狭義のOS | コンピュー |
動画が試験向けに強調した区別
動画は、見た目ではなく目的で分類することを強調しています。アイコンをクリックして使えるデータ復旧ソフトでも、目的がコンピューター自体のメンテナンスなら、動画ではシステムソフトウェア側に入れます。また、広義のOSと狭義のOSを分けて読む点も、動画が「ここからが非常に重要」と強調した区別です。問題文でどちらの範囲を指しているかを確かめましょう。
動画の宿題:ハードウェアが進化したら、階層はどうなる?
動画は最後に、考えてほしい問いを残します。ハードウェアの性能は日々進化しています。もし、ハードウェア自身が、いまOSやミドルウェアが担っている役割の一部を直接処理できるようになったら、この階層構造はどう変わるでしょうか。動画はこれに答えを出さず、身の回りのテクノロジーを見ながら想像してほしい、と締めくくります。
まとめ
この回の押さえどころ
- ソフトウェアは、動画では応用ソフトウェア(表の顔)とシステムソフトウェア(裏方)に2大分類される。
- 応用ソフトウェアは、個別応用(給与計算・在庫管理)と共通応用(文書作成・表計算・オーサリングツールなど)。見分けの鍵は、最終成果物が利用者の自由に委ねられているか。
- 動画の整理では、システムソフトウェアはミドルウェアとOS。ミドルウェアはOSとアプリの中間でデータベース管理などの高度な機能を担う。
- 動画の整理では、広義のOS=狭義のOS(Windows・macOS・Linux・iOS・Android)+言語プロセッサ+サービスプログラム。中核はカーネル。
- 動画では、分類は見た目ではなく何の目的で動くかで決まるとされる。アプリは常に下の階層の力を借りて動く。
動画で聞く
続けて読む
- 第3回 記憶装置とCPU・GPU経営情報システム・コンピュータ基礎 003
- 第4回 USB規格とコネクター経営情報システム・コンピュータ基礎 004
- 第5回 バスとインターフェース経営情報システム・コンピュータ基礎 005
- 第6回 OSの5大機能経営情報システム・コンピュータ基礎 006
- 第7回 画像形式と音声デジタル化の仕組み経営情報システム・コンピュータ基礎 007
- 第9回 機械語からJavaへの進化の歴史経営情報システム・ソフトウェア 002
- 第10回 プログラミング言語の正体経営情報システム・ソフトウェア 003
- 第11回 ファイル分類と文字コード経営情報システム・ソフトウェア 004
- 第12回 プログラム実行の流れとWeb技術経営情報システム・ソフトウェア 005
- 第13回 OSSライセンスとコピーレフト経営情報システム・ソフトウェア 006
- 経営情報システムのWebテキスト一覧同じ科目の48本を一覧・検索
- 中小企業診断士 1次の講座トップ科目別プレイリスト・人気の講義・ファイナルペーパー

