Obsolescence Guaranteedサイトに掲載している『ITS再構築プロジェクト(70 年代の ITS と MIT の AI Labの仮想再現)』について日本語で説明します。このサイトには、数多くの貴重な情報を掲載しています。
これは、Lars BrinkhoffらによるITS再構築プロジェクトのファンページです。念のために言っておきますが、私はプロジェクトの一員ではなく、ファンです。
このページは、ITS再構築プロジェクトが何であるかを説明するためのものです。そして、この再構築プロジェクトが本当にその通りであることを確認するためのものです。つまり、1970年代のMIT AIラボのハードウェアとソフトウェアを完全に仮想化し、現代のコンピュータ上で体験できるということです。信じがたいかもしれませんが、これは現実です。実際、私はこのプロジェクトのためにPDP-10コンピュータのレプリカを作ることに触発されました。
舞台:コンピュータの黎明期
簡単に言うと、電子計算機は第二次世界大戦の終わりに急速に発展し始め、最初の実験用計算機はすべて非対話型でした。つまり、プログラムをパンチカードの束としてコンピュータに入力し、計算機が処理を実行し、その結果を印刷して出力するというものでした。
MITは対話型コンピュータの開発において重要な役割を果たしました。外部の世界に反応し、プログラマーと対話するマシンです。きっかけは、米国海軍からのフライトシミュレーターの要求でした。そのために対話的な電子計算機を使用するのは理にかなっていました。そして、それがMITのプロジェクトWhirlwindの資金となりました。
MITのリンカーン研究所はこの研究を続けました。そして少し後に、 Digital Equipment Corporationがこの環境から生まれました。対話型コンピュータは製品となり、DECは20年間で第2位のコンピュータ会社となりました。しかし、MITでの物語はプロジェクトMACを経て、その後にAIラボとLCSへと続きました。優れたスタッフと学生のチームがコンピュータでユニークな成果をあげました。今日のコンピュータの使用方法を変え、ある意味では決定づけました。
歴史的重要性
MIT AI Labで生まれた「ハッカー文化」は特別なものでした。対話型コンピューティングの発祥地に近かったため、彼らは他の誰もが簡単に実験できないような、最も強力なコンピュータやシステムにアクセスすることができました。そこは、革新的な発明が自然に生まれる場所でした。人工知能という用語が生まれましたが、これらのコンピュータへの自由なアクセスは、コンピューティングの多くのブレークスルーを加速させました。他の場所では、このような最先端のコンピュータハードウェアへのアクセスは、特定の軍事やビジネスのタスクに厳しく制限されており、学生が自由にいじることはできませんでした。
ラボの文化は、Levyの本『ハッカーズ』の最初の章で最もよく説明されています。一部の章はオンラインで公開されています。1970年代の疑わしいヘアスタイルの写真も、雰囲気を伝えるのに役立ちます。
1970年代後半のある時点を切り取ると、才能あるコンピュータ科学者、プログラマー、そしてハッカーたちが、当時最も強力なコンピュータのひとつであるPDP-10メインフレームにアクセスしているのが見えます。このマシンには多くのハードウェアが接続されていました。一部は研究所で開発されたもの(多くの学生がマシンで作業できるようにするコンピュータ端末)、一部は革新的なハードウェア企業からのもの(グラフィック端末)、そして一部は他の研究グループからのもの(初期のARPANETを形成したネットワークハードウェア)です。
MIT AI Labは独自のオペレーティングシステムITSを作成しました。どちらかと言えば、そのオペレーティングシステムは他のOSプロジェクトに不満を抱いていたスタッフ、学生、そして情熱的なハッカーたちのニーズから生まれました。それは画期的なものでした。数百という研究プロジェクト、アプリケーション、ゲームがその上で書かれました。多くのものが今でも楽しく遊べるものであり、50年後にITSのハードディスクを探検して見つけたプログラムがどのような成果を生んだのかを知ることができるため、さらに楽しいものです。「おお、これが最初のグラフィカルAIデモだ!」といった具合に、そのようなことが何十回も繰り返されました。
AI Labを自宅(あるいはノートパソコン)に持ち帰る
驚くことではありませんが、1970年代のこのAI Labはコンピュータサイエンスの世界で神話的な場所となりました。多くのコンピュータ用語やハッカー倫理は、現在一般的なソフトウェアツールの多くも同様に、このAI Labとその人々に由来しています。そして同じくらいに重要なのは、オープンソースの精神が広まり、今ではITを支配していることです(フリーソフトウェア、Linuxを通じて)。つまり、GNU、GDBデバッガ、emacsエディタ、Lispマシンと初期のAI、仮想端末のアイデア、Logoなど、多くのものがITSにそのルーツを持っています。これがプログラマーにとっての神話をさらに強化しています。
1960年代のメインフレームには何も見るものがないと思うなら、デフォルトのPiDP-10ディスプレイをみてください。
過去15年ほどの間に、ITS再構築プロジェクトは新たに書かれたPDP-10エミュレータと新しく再構築されたITSシステムディスクをまとめ、古いアーカイブからITS上の古いソフトウェアプロジェクトを次々と復元しました。今では、1977年当時のように仮想AIラボのITSにログインすることができます。
ラボの他のハードウェアの多くも再構築されました。現在では、Githubプロジェクトをダウンロードしてかなり完全な「仮想AIラボ」をラップトップにインストールすることができます。あるいは、より本格的な体験のためにPiDP-10レプリカにインストールすることもできます。
もし、あなたがコンピュータの歴史に興味があるなら、このプロジェクトは探求する価値があります!1960年代のメインフレームが必要だとすぐに納得できない場合は、以下のリンクを読んでください。私がこれを書いたPiDP-10レプリカは必ずしも必要ありません。どんなLinuxコンピュータでも問題なく動作します。ただし、Blinkenlightsはありませんが。
ITSへようこそ!
簡単な情報を得るには、「?」を入力してください。コロンコマンドのリストを表示するには、「:?」 を入力してEnterキーを押してください。完全な情報システムを表示するには、「:INFO」を入力してEnterキーを押してください。
ハッキングを楽しんでください!
:PRINT WHAT-TO DO
…では、自宅にメインフレームを置いたらどうしますか?
聞かれなくてよかったです。でも、いくつかの提案があります:
1日目: リビングルームの本棚にBlinkenlightsマシンを置きます。メインフレームは建物の中で最も大きな部屋に置かれることを想定しています。内部のRaspberry Piで電源を供給するため、24時間365日電源を入れたままにしておくことができます。電気代は年間10ドル(おそらくもっと)少ないです。メインフレームは電源を頻繁にオンオフすることを好まず、Blinkenlightsはリビングルームの雰囲気を高めます。
マシンの横にメモを添付することを忘れないでください。これは尊重されるべき伝統です(これは、技術者以外の人がコンピュータに触れないようにするためのユーモラスな警告文です)。
注意! すべての観光客および非技術者の見物人へ! このコンピュータマシンは、いじったり、触ったりするためのものではありません! さもないと、バネが飛び出し、ヒューズが飛び、コルクがポップし、火花が散ります。 これは愚か者のためのものではありません。 見物人は手をポケットに入れておく必要があります。 リラックスして、Blinkenlights(点滅するライト)を見てください。 |
小さな7インチのHDMIディスプレイを隣に置いて、システムコンソール(リビングに適さない騒々しいテレタイプの代わり)やシミュレートされたType 340ディスプレイ表示管の両方を表示することができます。グラフィックデモ(MinskytronやGame of Life)を実行したり、Peekというシステムステータスプログラムをグラフィックモードで実行して、訪問者を驚かせることができます。
残りの時間は、spacewar(スペースウォー:宇宙戦争をモチーフとした対戦型コンピューターゲーム)をプレイして過ごしましょう!MITの学生たちは主にCPU時間をそのように使っていました。ソースコードも少し見てみることができます。
2日目: ITSシステムの操作についてさらに学びます – :HELP、:INFO、ITSのwikiウェブページを参照します。ただし、これはリビングルームにあるリクライニングチェアで快適に行うことができます。ノートパソコンを使ってWi-Fi経由でゆっくりとログインできます。PiDP-10はあなたが偽装していることに気づかず、シリアル端末で正規のMITスタッフとしてログインしていると信じています。Altmodeコマンドをマスターすることを確認してください。これらは真のインサイダーのためのもので、ITSの使用を大幅に高速化します。
実際、単なるtelnet接続を使用してログインするのではなく、ラップトップでTVCONプログラムを実行します。これで、PiDP-10はあなたがKnight TVシステムを介してMITの学生としてログインしていると考え、すっきりとしたグラフィック端末を提供します(そこにはspacewarも書かれています)。TVCONシミュレーションプログラムはPi自体でも実行できますが、WindowsやLinuxのラップトップでも実行できます。telnetポートを介して接続しますが、再びPiDP-10はそれに気づきません。Knight TV端末システムは、PDP-10のメモリ空間を共有する非常にハッカブルなPDP-11でした。いつか、それをハックして訪問者を驚かせてください。たとえば、ログイン画面に独自のロゴを表示するなどです。
今のところ、初期のAIで少し楽しんでください。Elizaを実行して、彼女の共感的な質問であなたの魂を浄化してください。その後、TWDEMOを実行して、3D世界についてすべて知っている有名なShrdlu AIプログラムを実行します。素晴らしいグラフィックもあります!
3日目: ネットワーキングを少し設定し、友人を招待してメインフレームにログインさせます。彼らはTVCON端末シミュレーター、単なるtelnet、またはsshを使用できます。設定を行います。他の端末シミュレーターの1つを使用するオプションもあります。VT-52は悪くありませんが、IMLACシミュレーターは良いオプションかもしれません。なぜなら、これで2人でMaze Warを一緒にプレイできるからです。
一日が終わったら、PDP-10システムリファレンスマニュアルまたはシステムユーザーガイドを読んで、エキゾチックなCPUアーキテクチャについてもっと学びます。マニュアルは非常に優れており、夜間の読書に最適です。
4日目: PiDP-10が1つの筐体に2つの心臓を持つように作られていることに気づきます。Raspberry Piは、PDP-10が実行されている間に、あなたがやりたいことに完全に使用できます。PiDP-10をメディアサーバー、ファイルサーバー、ウェブサーバー、または自宅でPiを使用して行いたい他のことにします。とにかく24時間365日電源が入っているため(1日目のエントリに従って、メインフレームをオフにしないため、これは非常にエネルギー効率が良いです)。
5日目: ITSコマンドラインをマスターします。これは通常のコマンドラインではなく、実際にはシステムのデバッガです。ひとつの楽しい斬新な試み:PiでシミュレートされたPDP-6を起動します。これはPDP-10のメモリを共有しており、PDP-6でspacewarをプレイするには、PDP-10のデバッガで共有メモリのハッキングを行う必要があります。PDP-10とITSの内部構造に精通し、真のハッカーになります。
シミュレートされたAI Labをもう少し探索し、Knight TV端末を実行するシミュレートされたPDP-11にハッキングすることができます。他のことも実行できることを知っていますか? Knight TVバージョンのspacewart(Type 340ディスプレイのspacewarほどではありませんが、それでも優れています)を互いにプレイするために頻繁にログインしている友人を避けるためにGT40を起動します。これはグラフィックディスプレイを備えた小さなPDP-11です。Lunar Landerをプレイします。
6日目: MinskytronのソースコードとLARSディレクトリにある他のグラフィックデモに時間を費やします。これがPDP-10のための独自のグラフィックデモを作成するための良いベースかもしれません。ベクトル(vectordotはより良い説明です)グラフィックのプログラミングは、ピクセルグラフィックよりもはるかに楽しいです。電子ビームに乗りましょう!メインフレームデモコーダーコンペティションを開催するべきです。実際、近いうちに開催します。
7日目: ネットワーキングの日です。PiDP-10には(準)通常のFTP、telnetなどがあるので、設定しておくと便利です。また、メインフレームを世界規模のHECnetに追加する時期かもしれません。インターネット経由でトンネリングされ、これは実際のPDP-10とPDP-11およびシミュレートされたPDP-10とPDP-11の世界的なネットワークです。ご存知のとおり、ITS はパスワードやユーザー権限の制限を信じていないため、若干のセキュリティ上の問題があります ;-)。
8日目: 1977年当時のARPANETの写真を見たことがあるかもしれません。PiDP-10とPiDP-11のソフトウェアがPiDP Blinkenlight ハードウェアがなしで「裸の」Piで問題なく動作することを知ったら、引き出しから他のPiをいくつか取り出して(Pi Zeroだけでも十分です)、自分のARPANETを構築しましょう。シミュレートされたIMPデバイスが役立ちます。
これでほぼ準備が整いました。ITSオペレーティングシステム上でC、MACRO-10、Logo、Basic、FORTRAN、あるいはCobolでコードを書き続けます。実際にはLispの方が良いかもしれません。ITSのemacsエディタに緊密に統合されていますからです。
もうひとつのOS、TOPS-10も調べてみる時期かもしれません。PiDP-10を再起動して、世界初のマルチユーザーDragons & Dungeonsを立ち上げるのも良いでしょう。もしかしたら、ITSに移植するべきかもしれません。
参考リンク:YouTube、mud.fandom.com/wiki/MUD1、www.quentin.org.uk/2018/12/08/building-mud-86-from-source。
しかし、メインフレームのラビットホール(「不思議の国のアリス」に登場するウサギの穴のように特定のトピックや活動に深く没頭してしまうこと)は数多くあり、これはその一つに過ぎません。
上記は冗談交じりに書いたものです。ネットワーキングプロジェクトは実際には簡単ではありません。HECnetオプションはまだ調査中です。HECnetはいずれ実現しますが、今すぐHECnetに参加するのは誰にでもできるわけではありません。セキュリティの問題があるため、HECnetチームはメインのHECnetバックボーンに誰を許可するかについて慎重になります。しかし、誰でも数時間でITSの基本的なスキルを習得でき、すぐにゲームやグラフィックデモを楽しむことができます。面白いのは、これは1970年代初頭のコンピュータ技術やプログラミングの高度な知識を持つ専門家(魔法使いや高僧)だけがやっていたことです。今日では誰もが豊富なコンピュータの豊富な経験を持っているため、物事はそれほど難しくありません。
上記のこと(ネットワーキング!)で行き詰まった場合は、PiDP-10 Googleグループ(https://groups.google.com/g/pidp-10)にアクセスしてください。そこでは、実際のAIラボのメンバーも含めて助けを得ることができます。
コメント