ユーザ用ツール

サイト用ツール


.gz · 最終更新: 2020/03/09 00:57 by kokiu

以前のリビジョンの文書です


UNIXについて

前書き

どのようなコンセプトで記事を書いたのかはこちらを読んでください。 [1] [2] [1]

“会社のWebサーバーがUNIXで動いていた、など、ある日突然UNIXに出会うということは意外とあります。”[1]

ということで突然出会ってしまうUNIX
(事実自分はmacOSというUNIXのOSに出会いました)
をご紹介していきます。

系統図

Figure 1: UNIXおよびUNIX系システムの系統図[2]

歴史

参考[3]

1969

1960 年代末、ベル研究所は、マサチューセッツ工科大学, General Electricと共同で、複数のユーザーがメインフレームに同時にアクセスできるようにするMultiplexed Information and Computing Service「Multics」という タイムシェアリングシステムの開発プロジェクトに参加していました。

プロジェクトに参加していたケン・トンプソンはMulticsの作成中にSpace Travelというビデオゲームを作成しました。

その後、ベル研究所はMulticsプロジェクトから撤退しました。[4]

(現在Space Travelはgithub上にソースコードがアップロードされているようです。st1.sからst7.sのところです。[5] )
https://github.com/DoctorWkt/pdp7-unix/tree/master/scans

Figure 2: Multics[6]

トンプソンはゲームを続けるために、ベル研究所内にあったほとんど使われていないPDP-7に目をつけ、Space Travelを移植しました。[7]

Figure 3: DEC PDP-7[8]

この経験は、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として生まれてからの歴史になるので、気を引き締めて調べていきたいと思います。

サイドトリップ

好きなコマンド

cal

カレンダーを表示できる(例2020年のカレンダーを表示:cal 2020)

※この記事は今後も加筆する可能性が高いです。



.gz · 最終更新: 2020/03/09 00:57 by kokiu