以前のリビジョンの文書です
どのようなコンセプトで記事を書いたのかはこちらを読んでください。
“会社のWebサーバーがUNIXで動いていた、など、ある日突然UNIXに出会うということは意外とあります。”1) ということで突然出会ってしまうUNIX(事実自分はmacOSというUNIXのOSに出会いました)をご紹介していきます。
参考3)
1960 年代末、ベル研究所は、マサチューセッツ工科大学, General Electricと共同で、複数のユーザーがメインフレームに同時にアクセスできるようにするMultiplexed Information and Computing Service「Multics」4)というタイムシェアリングシステム5)の開発プロジェクトに参加していました。
プロジェクトに参加していたケン・トンプソンはMulticsの作成中にSpace Travelというビデオゲームを作成しました。その後、ベル研究所はMulticsプロジェクトから撤退しました。6)
(現在Space Travelはgithub上にソースコードがアップロードされているようです。st1.sからst7.sのところです。7) )
https://github.com/DoctorWkt/pdp7-unix/tree/master/scans
トンプソンはゲームを続けるために、ベル研究所内にあったほとんど使われていないPDP-7に目をつけ、Space Travelを移植しました。9)
この経験は、Multicsプロジェクトで担当したファイルシステムをPDP-7上で実装する際に役立ちました。
1969年にトンプソンとデニスリッチーらは、PDP-7上でファイルシステムを実装し、次にそれを活用するためのユーティリティー群を作っていきました。こうして、階層型ファイルシステム、プロセスとデバイスファイルの概念、コマンドラインインタプリタを含むシステムができあがり、結果的にほぼOSの機能を有するものとなりました。その後1ヵ月ほどで、トンプソンはアセンブラ、エディタ、シェルなどを作り上げ、OSとして完結させ、こうしてできあがったOSは、後にUNIXと呼ばれることになります。
Multicsで使われていたメインフレームコンピュータであるGE-645は2MBのメモリを持っていました。しかし、PDP-7は約16KBのメモリしか搭載しておらず、Multicsで予定されていた多くの機能をあきらめることとなり、結果的に、UNIXはMulticsより機能的にはるかに小さいものになりました。
まだ1960年代のunixとなる前段階の調査でしたが、とても多くの知見がありました。どうしてLinuxは最小で大きなことができるのか、それはきっとUNIXを引き継いでいるからではないか?と思いました。
ゲームってすごいですね!一つの世界的なシステムを作り出しちゃう原動力!自分もiOSアプリケーション制作はプログラミングをすることの原動力なのでなんか親近感湧きました!(もちろん自分もCGの研究をしていたので、ゲーム制作の大変さは痛いほどわかりますが…)
さて1970年からこそがUNIXとして生まれてからの歴史になるので、気を引き締めて調べていきたいと思います。