OSのはなし

トップページ > Linux導入準備編 > OSのはなし
作成日 2010-01-21

OSとは何か?

パソコンやサーバ、スーパーコンピュータ、これらにはすべてOSが搭載されています。
これ以外にも例えば各種携帯電話や、ゲーム機の、WiiやPlayStation、Xboxなども例外ではありません。
(むろん、OSが搭載されていないコンピュータも存在しています。
スケールの小さいコンピュータ(たとえばたまごっちのような小さな機器)や、特注品など、コストの面や、性能の制限、技術的な問題など、OSを搭載させるまでのメリットが見出せないケースの場合、搭載されません。)

では一体このOSとは何なのか。
「ハードウェアを含むリソースの一元的な管理を行い、コンピュータの利用効率の向上を目的とするもの」
こう言われても、コンピュータ関係に詳しくない人にとっては何だかすっきりしないと思います。
特に興味の無い方は「何めんどくさいこと言ってんだ?」という感じなのではないでしょうか?
利用者の立場からすれば、OSがあろうがなかろうが、機械が動けばどうでもいいわけなんですが、製作者(開発者)側からすれば、あるのと無いのでは大違いなんです。
まぁ利用者側からのメリットが無いわけでもないんです。例えばハードウェア(メーカー)が違っても同じOSであれば、操作方法はほとんど代わりが無く、新たな操作法を覚えなくても良いという点があったりしますし。

コンピュータはプログラムが無いと動きません。
PCの例であればキーボードから文字コードを読み取るプログラム、液晶に文字を表示させるためのプログラム、外部通信によって情報を送受信するプログラム、そういったプログラムがすべて合わさってコンピュータは動いています。
さて、既存の機種に新しい機能を追加して、新機種を開発しようとするとき、企業はどうするでしょうか?
新しいハードウェアと新しいソフトウェアを一からすべて開発する?
そういったことは稀です。膨大な時間とお金が必要となってしまいます。
開発済みの既存の技術で使えるものは再活用します。
これはハードウェアに関するもののみならず、ソフトウェア(プログラム)も同じです。

さて、ソフトウェア(プログラム)を再活用していくにあたって、プログラムを分離し、整理すると都合が良い部分が多々でてきます。
たとえば、「数値計算を行う部分のプログラム」と「液晶に結果を表示するプログラム」が一緒になっているプログラムがあったとします。
もし液晶の部分が新しくなって、「液晶に結果を表示する部分のプログラム」を改変する必要が出てきた場合、プログラムがくっついていると、「数値計算を行う部分のプログラム」もまとめて見直す必要がでてきます。
そうなると、手間と時間がかかってしまいます。
初めから2つのプログラムが分離していれば、「液晶に結果を表示する部分のプログラム」のみを見直せばよいことになります。
こういう機能ごとに、まとまりのある機能を持った部品に分けることを「モジュール化」と言います。
これは別にソフトウェアの世界だけで使われる概念ではありません。
例えば自動車の生産でもエンジンやクラッチ、タイヤなどモジュール単位で生産されています。
話が少し反れましたが、そちらのほうが効率が良いわけなんですね。
もし、ハードウェアの一部が新しいものになっても、そこの部分に関わるプログラムさえ更新してしまえば良いわけです。
開発効率が格段に上がることになります。

さて、プログラムが巨大になってくると、それぞれのプログラムの調整が必要になってきます。
AとBのプログラムは連携して動かせるけど、AとCは連携がうまく行かないなどといった問題が出るからです。
せっかく存在するプログラムが使えないのはもったいないというか、それでは具合が悪い。
そこで、効率的にするために、性質別にプログラムを分類し、ハードウェアに近い部分(ハードウェアの管理など)のプログラム群、ユーザーサイドに近い部分のプログラム群など、システムとして整理をしようという話になります。
そして主にシステムに関するプログラム群をパッケージとしてまとめたもの、それがOSとなります。
また、OSは基本ソフトウェアとも呼ばれたりします。OSがハードウェアの管理や制御、コンピュータの稼動や使用そのものをサポートする根幹になっているためです。*1


さて、このようにシステムとそれ以外に分離することによって他のメリットも生まれます。
多くの企業(や個人)がプログラム開発に参加できるようになるという点です。
自分一人ですべてのプログラムを開発する必要が無い、ということは、足りない部分の機能は他のプログラムに任せることができるわけです。
アプリケーションの開発会社がアップルやマイクロソフト以外に存在しているのはOSがOSたる所以であるためです。

かなり大雑把な説明でしたが、OSに対して少しは理解していただけたでしょうか。



OSの違い

さてここからはPCのOSの話になります。
PCのOSといえば、Windows や MacOS , Linux などがあります。
開発者元はすべて違いますが、違いはそれだけではありません。
乱暴な言い方ではありますが、OSとはそれだけで独立して動かすことが出きるよう、プログラム群をパッケージとしてまとめ上げたものです。
といってもパッケージとしてまとめ上げるにしても設計の方法は色々とあります。
WindowsならWindowsの設計、Mac なら Mac 、Linux なら Linux の設計の仕方があります。
設計思想が変われば、OSの持つ性質*2アプリケーション(プログラム)の管理の仕方に違いが出てきます。
違うOSでPCを扱う場合、OSの管理の仕方やアプリケーションの管理の仕方をしっかりマスターできるかどうかが、そのOSを使えるかどうかの肝になります。





OSのはなし > PCのOSはどこにある?


名前:
コメント:


最終更新:2010年01月22日 23:30
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。

*1 ちなみにアプリケーションは応用ソフトウェアに該当します。

*2 セキュリティが甘いとか映像に強いとかネットワークや遠隔操作に強いなど