Linux
 Computer >> コンピューター >  >> システム >> Linux

HDG解説:UNIXとは何か?その歴史と現代のOSへの影響を徹底解説

世界で最も人気のあるオペレーティングシステム(OS)といえば、Windows、Mac、Linuxの3つが挙げられます。メディアで取り上げられるのは主にこの3つで、多くの方にとって、OSと聞いて思い浮かぶのはこの3つだけかもしれません。

しかし、「最も人気のある3つのOSのうち、実に2つが『UNIX』と呼ばれるシステムの核心的な思想を受け継いでいる」と聞いたらどうでしょうか。UNIXの思想とは、複数のユーザーが1台の大型コンピュータ(メインフレーム)に同時にアクセスできるタイムシェアリングシステムという基本概念に基づくものです。

HDG解説:UNIXとは何か?その歴史と現代のOSへの影響を徹底解説

UNIXは1970年に開発され、当初はプログラマー専用の小規模で柔軟なシステムとして設計されていましたが、瞬く間にワークステーション向けの主要OSへと成長しました。では、あなたはUNIXについてどれほど知っているでしょうか?

HDG解説:UNIXとは何か?

UNIXおよびUNIX系(UNIXライク)オペレーティングシステムは、市場で最も強力かつ人気のあるマルチユーザー・マルチタスクOSです。長年にわたり、さまざまなマシン向けに複数世代のUNIXが開発されてきました。現代のPOSIX準拠システムであるLinuxやその多数の派生版、Mac OSなどもその一例です。これほど強力なシステムが、実はささやかな始まりから生まれたとは驚きですね。

HDG解説:UNIXとは何か?その歴史と現代のOSへの影響を徹底解説

ベル研究所での誕生

UNIXはベル電話研究所(Bell Labs)で少数のプログラマーによって開発され、C言語で記述されました。Cコンパイラを備えるほぼすべてのコンピュータにインストールできたため、UNIXは移植性と柔軟性を自然に備え、非常に強力なOSの選択肢となったのです。

さらに、ベル研究所はUNIXをソースコード形式のまま低価格で配布しました。これにより、入手した誰もが自分の目的に合わせて改変・カスタマイズできるようになり、わずか10年足らずの間に数十種類ものUNIXバージョンが世界各地のサイトで動作するようになりました。

HDG解説:UNIXとは何か?その歴史と現代のOSへの影響を徹底解説

GNUプロジェクトとLinuxの誕生

ベル研究所は1984年に分割されることになりますが、それ以前からUNIXの標準バージョンを定義しようと試みていました。しかしその方針は多くの人にとって制約が強すぎると映り、その一人こそがGNUプロジェクトの創始者であるリチャード・ストールマンでした。

GNUプロジェクトは、今日私たちが知るLinuxの基盤となりました。LinuxはLinuxカーネルで構成されており、UNIXカーネルではないためです。ただし、Linuxは教育目的で開発されたUNIXライクなOS「MINIX」に触発されたものであり、そこから今日利用可能なほとんどのOSへと連鎖的な影響が広がりました。GNU/LinuxはUNIXの設計思想を受け継ぎ、さらにAndroid、Chrome OS、Steam OS、そして組み込み機器向けの膨大な数のOSがLinuxベースとして生まれています。

UNIX標準規格

HDG解説:UNIXとは何か?その歴史と現代のOSへの影響を徹底解説

標準規格は確かに存在しますが、AT&Tによるものではありません。現在、「UNIX」という商標はThe Open Groupが所有しており、Single UNIX Specification(SUS)についても同様です。UNIXを名乗るOSは、The Open Groupによる認証を受け、Single UNIX Specificationに準拠しなければなりません。

The Open Groupは次のように説明しています:

HDG解説:UNIXとは何か?その歴史と現代のOSへの影響を徹底解説

画像内のリンクに興味がある方は、こちらをご覧ください。

先述のPOSIXは、米国電気電子学会(IEEE)が策定した標準規格ファミリーです。UNIX系OSが提供するアプリケーションプログラミングインターフェース(API)を明確化し、統一することを目的としています。

これにより、POSIX標準に依存するプログラムを作成すれば、LinuxやMac OSといったUNIXの大ファミリー間での移植性と機能性が容易に実現できます。逆に、POSIXで標準化されていないAPIやコードを使用すると、他のUNIX系システムへの移植は難しくなるでしょう。

UNIXプログラム、システム、サブシステムとは?

UNIXコマンドは、シェル(shell)が提供するコマンドラインインターフェース上で実行されます。シェルは入力されたコマンドを読み取り、自ら実行するか、カーネル(kernel)へ渡すプログラムです。

UNIXシステムは「カーネル」を中心に構築されています。カーネルはシステム全体と各プロセスを管理する中核部分であり、基盤となるハードウェアと直接やり取りしながら、一連の標準サービスを提供します。カーネルサブシステムには、プロセス管理、ファイル管理、メモリ管理、ネットワーク管理などが含まれます。

HDG解説:UNIXとは何か?その歴史と現代のOSへの影響を徹底解説

UNIXプログラムは、「単一の目的に特化すること」「相互運用可能であること」「標準化されたテキストインターフェースで動作すること」といった核心的な哲学に基づいて設計されています。

UNIXの主な特徴を挙げると、以下の通りです:

  • 1台のシステム上で、異なるユーザー間で同じリソースを共有できる。
  • マルチタスク機能を提供し、各ユーザーが同時に複数のプロセスを実行できる。
  • 高水準言語で書かれた最初のOSであり、最小限の修正で他のマシンへの移植が容易。
  • 階層型ファイル構造により、データへのアクセスと保守が簡単。
  • ネットワーク機能が組み込まれており、ユーザー間の情報交換が容易。

なぜUNIXが重要なのか

HDG解説:UNIXとは何か?その歴史と現代のOSへの影響を徹底解説

WindowsおよびWindowsベースのシステムを除けば、世の中の大多数のOSはUNIXの哲学に基づいています。例えば、Mac OS Xのターミナルやファイルシステムを見てみると、Linuxとの驚くべき類似点に気づくでしょう。どちらもWindowsとはまったく異なります。これは、LinuxとMac OSがともにUNIX系システムだからです。

このことを理解すれば、UNIXがいかに重要であるか、そしてこれまでどれほど大きな役割を果たしてきたかが見えてきます。今日でも受け継がれているUNIXの主要な哲学の一つは、「単一のことを卓越した効率で実行する、小さくモジュール化されたユーティリティを作る」というものです。Mac OSのターミナルに慣れれば、Linuxのターミナルにも自然と慣れるでしょうし、その逆もまた然りです。これこそがUNIXの本質と言えます。

UNIX系システムは、プログラム同士が通信するための単一のファイルシステムに依存しています。一方、Windows系システムはDOSに依存しています。これが、ドライブ文字(C:\など)が存在するのはWindows系システムだけである理由です。その他のすべてのOSでは、システム上のすべてのファイルが単一のディレクトリ階層の一部となっています。これもまた、すべてUNIXの哲学のおかげなのです。

HDG解説:UNIXとは何か?その歴史と現代のOSへの影響を徹底解説

BSD、Linux、Mac OSなどのOSアーキテクチャには、意図的にUNIXの姿を見ることができます。「UNIXがなければMac OSは存在しなかった」と言うこともできるでしょうし、Windowsを含む競合OSについても同じことが言えるかもしれません。

もちろん、ここには多少の誇張が含まれています。それでも、UNIXが今日使われているあらゆるOSの発展において重要な役割を果たしたことは認めざるを得ません。これがUNIXとその哲学の重要性を示す証拠にならないなら、何が示すというのでしょうか。

  1. 「オペレーティングシステムが見つかりません」エラーの原因と8つの対処法

    通常、Windowsパソコンの電源ボタンを押すと、BIOSがハードディスクを検出してオペレーティングシステムを読み込み、PCが正常に起動します。しかし、何らかの不具合によって画面が真っ黒になり、「Operating system not found(オペレーティングシステムが見つかりません)」というメッセージが表示され、PCが起動できなくなることがあります。このほかにも、「Missing operating system」「boot device not found please install an operating system」など、類似のエラーメッセージが表示されるケースがあります。

  2. AppleCare+とは?内容・料金・加入すべきか徹底解説

    新しいAppleデバイスを購入する際、「AppleCare+」という追加サービスに追加料金を支払うかどうかを選ぶことになります。この価格は決して安くありません。果たして本当に価値があるのでしょうか? 本記事では、AppleCare+で実際に何が提供されるのか、そしてそのお金を別の用途に充てた方が良いのかどうかを詳しく見ていきます。 AppleCareとAppleCare+は何が違う? Appleデバイスには通常、1年間の標準保証「AppleCare」が付いています。この保証は製造上の欠陥のみをカバーし、落下や水濡れといった偶然の事故による損傷は対象外です。つまり、ユーザーの過失ではなくApp