今日の授業では、コンピュータの基本構成について、特にソフトウェアの役割とその種類について学びます。アプリケーションプログラム、オペレーティングシステム、そしてこれらがどのように連携するか、そしてソフトウェアの提供形態について、具体的な例を通して理解を深めましょう。
黒板
![ソフトウェア](https://joho-terakoya.com/wp-content/uploads/2023/07/19360221eb96be91846562bc5e057082-2-546x1024.png)
授業
ソフトウェアとは?
![](https://joho-terakoya.com/wp-content/uploads/2023/04/f2162247d6ded898b96b3d93e752f8e5-1.png)
さて、コンピュータの基本構成を理解するにはソフトウェアの知識が欠かせないぞ。ソフトウェアは主に2種類に分けられる。それがアプリケーションプログラムとオペレーティングシステムだ。
![](https://joho-terakoya.com/wp-content/uploads/2023/04/cb0d259219ea5886bfa3891c468ff2a0-1.png)
先生、スマホのアプリも、アプリケーションプログラムですか?
![](https://joho-terakoya.com/wp-content/uploads/2023/04/b75d9d9a6c534b3d25243ac19bc0499d-1.png)
その通り。アプリケーションプログラムは、ユーザーが具体的な作業を行うためのソフトウェアで、日本語では応用ソフトウェアと呼ばれるよ。例えば、文章を書くためのワードプロセッサや、画像を編集するための画像処理ソフトウェアなどがこれに当たるよ。
オペレーティングシステム(OS)とは
![](https://joho-terakoya.com/wp-content/uploads/2023/04/cb0d259219ea5886bfa3891c468ff2a0-1.png)
じゃあオペレーティングシステムって何のためにあるんですか?
![](https://joho-terakoya.com/wp-content/uploads/2023/04/f2162247d6ded898b96b3d93e752f8e5-1.png)
オペレーティングシステムは略してOSで、日本語では基本ソフトウェアとも呼ばれるよ。コンピュータの基本的な機能を管理し、ユーザーやアプリケーションプログラムからの要求を解釈してハードウェアを操作するソフトウェアのことさ。
![](https://joho-terakoya.com/wp-content/uploads/2023/04/788ba1b9cd590f0d71a03527896754c9-1.png)
アプリケーションとハードウェアの間で、難しい制御をするのがOSなんですね。ところで、スマホのiOSとか、AndroidというのもOSですよね?
![](https://joho-terakoya.com/wp-content/uploads/2023/04/b75d9d9a6c534b3d25243ac19bc0499d-1.png)
その通り。パソコンのOSとしては、WindowsやmacOS、Linux(リナックス)が多く使われているね。
![](https://joho-terakoya.com/wp-content/uploads/2023/04/63cef23d2e450e29361ffd9d51963edf-1.png)
Windowsしか使ったことがなけれども、他のものも聞いたことはあります。でも、覚えるのが難しいそう。
![](https://joho-terakoya.com/wp-content/uploads/2023/04/f2162247d6ded898b96b3d93e752f8e5-1.png)
難しい問いことはないけれど、OSによって操作方法が変わるから、慣れたOSから変更するのは大変だね。
![](https://joho-terakoya.com/wp-content/uploads/2023/04/63cef23d2e450e29361ffd9d51963edf-1.png)
まずは、Windowsを極めます!
プログラムとファイルの関係
![](https://joho-terakoya.com/wp-content/uploads/2023/04/f2162247d6ded898b96b3d93e752f8e5-1.png)
さて、OSはアプリケーションプログラムと密接に関係しているんだ。例えば、WordやExcelなどを使っている時、それらのプログラムはファイルを開く、保存する、印刷するなどの機能をOSに依頼するんだ。
![](https://joho-terakoya.com/wp-content/uploads/2023/04/788ba1b9cd590f0d71a03527896754c9-1.png)
なるほど、だからアプリを開くときも、OSがそれを管理しているんですね。
![](https://joho-terakoya.com/wp-content/uploads/2023/04/b75d9d9a6c534b3d25243ac19bc0499d-1.png)
そう、OSはプログラムの実行を管理し、ファイルシステムを通じてデータの保存や取得を行うんだ。
![](https://joho-terakoya.com/wp-content/uploads/2023/04/788ba1b9cd590f0d71a03527896754c9-1.png)
へぇ、アプリケーションプログラムは、どうやってOSの機能を呼び出したりするですか?
API(アプリケーションプログラムインタフェース)とは
![](https://joho-terakoya.com/wp-content/uploads/2023/04/f2162247d6ded898b96b3d93e752f8e5-1.png)
いい質問だね。OSの機能を呼び出すときには、APIというものが使われるんだ。APIは、アプリケーションプログラムインタフェースの略で、プログラムから呼び出す手順や方式を定めたものさ。
![](https://joho-terakoya.com/wp-content/uploads/2023/04/788ba1b9cd590f0d71a03527896754c9-1.png)
APIって、アプリでツイッターの投稿を見るとかに使うって聞いたことがあるけれど、それと同じですか?
![](https://joho-terakoya.com/wp-content/uploads/2023/04/b75d9d9a6c534b3d25243ac19bc0499d-1.png)
その通り!Webで公開されているサービスとを呼び出すときにもAPIは使われる。これらはWeb APIと呼ばれるよ。これに対して、OSなどとの手続きを定めたものはシステムAPIと呼ぶんだ。
![](https://joho-terakoya.com/wp-content/uploads/2023/04/788ba1b9cd590f0d71a03527896754c9-1.png)
へぇー。コンピュータの中でも、外でもAPIは使われているんですね。
クラウドとSaaS
![](https://joho-terakoya.com/wp-content/uploads/2023/04/f2162247d6ded898b96b3d93e752f8e5-1.png)
そうだね。そして、最近のソフトウェアは「クラウド」上で動作することが多いんだ。クラウドとは、インターネットを通じてアクセスできる、リモートのコンピュータのことで、ソフトウェアをサービスとして提供するんだ。
![](https://joho-terakoya.com/wp-content/uploads/2023/04/788ba1b9cd590f0d71a03527896754c9-1.png)
ソフトウェアをサービス?
![](https://joho-terakoya.com/wp-content/uploads/2023/04/f2162247d6ded898b96b3d93e752f8e5-1.png)
そうだね。それを「Software as a Service」、略してSaaSと呼ぶんだ。これは、ユーザーがソフトウェアを自分のPCにインストールする代わりに、インターネット経由でソフトウェアを使う方式を指すよ。
![](https://joho-terakoya.com/wp-content/uploads/2023/04/788ba1b9cd590f0d71a03527896754c9-1.png)
SaaSって、例えばどんなものがあるんですか?
![](https://joho-terakoya.com/wp-content/uploads/2023/04/f2162247d6ded898b96b3d93e752f8e5-1.png)
たくさんあるよ。例えば、メールサービスのGmailや、文書作成ツールのGoogle Docs、ビデオ会議サービスのZoom、そして、ビジネス向けのサービスでは、営業支援ツールのSalesforceなどがあるよ。これらのサービスは、自分のコンピュータにインストールすることなく、インターネットを介してアクセスして利用できるんだ。
![](https://joho-terakoya.com/wp-content/uploads/2023/04/cb0d259219ea5886bfa3891c468ff2a0-1.png)
なるほど、日常生活で普通に使ってるものがSaaSだったんですね。それなら、ユーザーにとってどんなメリットがあるんですか?
![](https://joho-terakoya.com/wp-content/uploads/2023/04/f2162247d6ded898b96b3d93e752f8e5-1.png)
その一つとして、ソフトウェアのアップデートを自分で行う必要がないことが挙げられるよ。サーバー上で直接アップデートが行われるため、ユーザーは常に最新の機能を利用できる。また、データもクラウド上に保存されるので、端末が壊れてもデータが失われる心配が少ない。そして、物理的なストレージや高性能なコンピュータが不要になるのも大きなメリットだね。
![](https://joho-terakoya.com/wp-content/uploads/2023/04/cb0d259219ea5886bfa3891c468ff2a0-1.png)
それは便利そうですね。でも、ネットにつながってないと使えないっていうデメリットもあるんですよね?
![](https://joho-terakoya.com/wp-content/uploads/2023/04/f2162247d6ded898b96b3d93e752f8e5-1.png)
その通り。インターネット接続が不安定な場所では、SaaSをうまく利用するのが難しいこともあるよ。しかし、そのような状況を考慮に入れて、オフラインでも一部の機能が使えるように設計されているSaaSもあるんだ。
![](https://joho-terakoya.com/wp-content/uploads/2023/04/788ba1b9cd590f0d71a03527896754c9-1.png)
ソフトウェアにもいろいろとあるんですね。自分でも作れるようになったら楽しそう。
![](https://joho-terakoya.com/wp-content/uploads/2023/04/f2162247d6ded898b96b3d93e752f8e5-1.png)
そうだね。自分でソフトウェアを作るためには、プログラミングの知識が必要だけど、それを身につけることで、自分のアイデアを形にすることができるようになるよ。それが今日の情報社会では非常に重要なスキルとなっているんだ。
![](https://joho-terakoya.com/wp-content/uploads/2023/04/63cef23d2e450e29361ffd9d51963edf-1.png)
なるほど、プログラミング、勉強してみます!
![](https://joho-terakoya.com/wp-content/uploads/2023/04/b75d9d9a6c534b3d25243ac19bc0499d-1.png)
いいね!。次回の授業から、具体的にプログラミングがどのようにソフトウェアを作るのか、その基礎を学ぶことにしよう。
まとめ
- ソフトウェアの種類
ソフトウェアは主にアプリケーションプログラムとオペレーティングシステム(OS)の2種類に分けられる。 - オペレーティングシステム(OS)
コンピュータを管理・制御し、ユーザーやアプリケーションプログラムからの要求を解釈してハードウェアを操作するためのもの。 - アプリケーション・プログラム
ある特定の機能や目的のために開発・使用されるソフトウェア。 - APIの役割
APIはプログラムがOSや外部のシステムと連携する際に用いられ、手順や方式を定める。 - クラウドとSaaS
「クラウド」はリモートのコンピュータでソフトウェアを動かし、「SaaS」はソフトウェアをインターネット経由で提供する方式を指す。
名言解説
“Talk is cheap. Show me the code.” Linus Torvalds
リーナス・トーバルズは、フィンランド出身のプログラマーで、「Linux」カーネルの開発者として世界的に知られています。彼はヘルシンキ大学でコンピュータ科学を学び、UNIXとC言語の知識を活かして自身のOSを作り始めました。1991年に初版のLinuxを公開し、その先進性から広く受け入れられ、LinuxはUNIXの代わりとなるサーバーOSとして広まりました。彼の成功は、コードが具体的な価値を創造し、大きな変革をもたらす力を持つことを示しています。
トーバルズが語ったこの名言、「口で言うだけなら簡単です。コードを見せてください」は、コンピューターサイエンスやプログラミングの世界でよく引用されます。実際のコードの存在が実力や知識を証明する最善の手段であるという彼の考えを端的に示しています。言葉だけでアイデアを説明するのは簡単ですが、それを実際の動作するコードに変えることは難しく、それこそが本当の技術力を試すものです。
今後の情報科学の学習において、この名言を胸に刻み、理解と知識を深めることを忘れないでください。アイデアは重要ですが、それを具現化するための技術力もまた同じくらい重要です。何かを学んだら、すぐにでも実際に試し、コードにしてみてください。理論だけでなく、実践も同時に行うことで、深い理解と強固な技術力を身につけられるでしょう。
問題
「クイズをスタート」のボタンをクリックすると、5問出題します。さあチャレンジ!
編集者ひとこと
情報Ⅰの教科書には、クラウドサービスについて書かれていませんでしが、最近はアプリケーションソフトをインストールするよりも、クラウドサービス利用の方がなじみが多いと思いますので、授業に加えてみました。
このブログも、WordPressというクラウドサービスを利用して作っています。アプリのインストールが不要でデータのクラウドにあるので、どのPCからでも編集できますし、タブレットやスマホからも編集できるんです。便利ですよね。
次回は、いよいよプログラミングの世界に飛び込みます。まずは「アルゴリズム」を学びましょう。お楽しみに。
<RANKING>
高校教育ランキング