プログラミングに興味を持っている学生の皆さんには、オペレーション・システム(以下OS)の歴史背景を知ることでプログラミングをもっと楽しめると思います。そこで、この記事ではUNIXの進化の歴史と共にUNIXを参考にして開発されたLinuxについて紹介していこうと思います。
UNIXが生まれた背景とこれまでの開発の仕方
UNIXが生まれる背景を知る前に、UNIX誕生以前のOSの歴史の流れをご紹介します。
OSの誕生は、1960年代中期まで遡ります。最初に、OS機能と設計思想を確立させ、本格的なOSを搭載したのは、IBMが開発したSystem360でした。当時、System360は、様々なニーズに対応できるという意味を込めて360度から名づけられました。
同世代では、タイムシアリング・システムという処理方法を導入した「CTSS」が誕生。CTSSはプログラムの切替えが簡単にできるというメリットはありましたが、OSとして考えた場合、リソース管理面において不十分でした。
1965年、MIT、AT&Tベル研究所、そしてGE社は合同で、「MULTICS」という現在のOSのように豊富なスペックを持ち、なおかつ、多目的OSを開発しようとしました。まさに、現在のOS機能の多くはMULTICSの恩恵を受けています。しかし、MULTICSというシステムを作り上げる大プロジェクトが進行する中、多くのタスクを実行しようとするMULTICSはOSが巨大化し過ぎてしまい、この時代では無謀なプロジェクトだったため、ベル研究所は途中でプロジェクトから手を引きました。
プロジェクトメンバーだったベル研究所の研究員K.トンプソンは、この経験を教訓にUNIXを開発しました。MULTIに対して、UNIの精神で開発されたと言っても過言ではありません。そして、研究員達が満足いく計算機環境を作り出すため、UNIXが生まれたのです。
UNIXの概念から生まれたLinux
UNIXの概念は、ベル研究所の研究員K.トンプソンの信念でもあります。設計思想は、利便性のいい会話型システム、ローコスト、構成はコンパクト&シンプルユーザーによるカスタマイズが簡単の4つです。また、開発目的は、利便性のいいプログラミング・ツールの保持、ユーザー間コミュニケーションのオンライン実現、ソフトウェアのドキュメント・ツールの保持の3つです。
このようなUNIXの概念から、多くのUNIX系OSが次々と生まれました。BSD系(NetBSD・OpenBSD・FreeBSD・DragonFlyBSD・Darwin)、V7系、そして、Plan9はUNIXの後継です。
また、UNIX系に分類されることが多いLinuxがあります。
LinuxのOSは、一般的にUNIX系OSの一種、UNIXライクまたはUNIX互換OSと分類されることが多いです。これはマルチタスクやマルチユーザ-を含めた多くの機能をLinuxも採用しているため、UNIXに似た動作をするためです。しかし、UNIXの商標は未取得である点、UNIXのソースコードを一切使用していないため点から、基本的にUNIXとは異なります。また、Linuxはオープンソースであることや、世界中の技術者が共に改良していく土台が構築されているため、信頼すべき体制がすでに確立されています。まさに、Linuxオリジナルのメリットです。
実は、iPhoneもUNIXベースで開発されています
Macで使用しているOSがOSX、iPhoneやiPadで使用しているOSがiOSと言います。実は、呼び方が違うだけで、iOSはOSXのモバイル版OSになります。iPhoneもUNIXベースのOSXを利用していますので、そう考えると、UNIXベースは、とても身近なところにあると考えると、プログラミングへの意欲も膨らんだと思います。