非互換タイムシェアリングシステム(ITS)は、主にMIT人工知能研究所がプロジェクトMACの協力を得て開発したタイムシェアリングオペレーティングシステムです。この名称は、MIT互換タイムシェアリングシステム(CTSS)のユーモラスな対義語です。
ITS と、その上で開発されたソフトウェアは、技術的にも文化的にも、コアユーザーコミュニティをはるかに超えた影響力を持っていた。初期のARPANETを介してリモートの「ゲスト」または「観光客」アクセスが容易に可能だったため、多くの関心のある人々がオペレーティングシステムやアプリケーションプログラムの機能を非公式に試すことができた。ITS のオープンな哲学と協調的なオンラインコミュニティは、スティーブン・レヴィの著書『ハッカーズ』[ 4 ]で説明されているように、ハッカー文化に大きな影響を与え、フリーおよびオープンソースソフトウェア(FOSS)、オープンデザイン、Wiki運動の直接の先駆けとなった。
ITS の開発は、1960 年代後半に、プロジェクト MAC の Multics プロジェクト (1960 年代半ばに開始) の方向性、特に強力なシステム セキュリティの組み込みなどの決定に反対していた人々 (当時の MIT AI ラボのスタッフの大多数)によって開始されました。この名前は、1960 年代初頭に開発された MIT の初期のタイム シェアリング オペレーティングシステムであるCompatible Time-Sharing System (CTSS)の名前をもじって、トムナイトが冗談で選びました。[ 4 ]
ITSの開発者たちは、Multicsと比較してシステムを簡素化することで、研究室向けの機能的なオペレーティングシステムを迅速に作成することができた。 [ 5 ] ITSはアセンブリ言語で書かれ、当初はDigital Equipment CorporationのPDP-6コンピュータ向けだったが、ITSの開発と使用の大部分は、より新しく、ほぼ上位互換性のあるPDP -10で行われた。[ 4 ]
1986年頃からは以前ほど頻繁には使用されなくなったものの、ITSはMITで1990年まで、そしてその後スウェーデンのスタッケン・コンピュータ・クラブで1995年まで、オリジナルのハードウェア上で稼働し続けた。現在でも、一部のITS実装は、関心のあるハッカーによってサポートされている最新の低価格コンピュータ上で動作するPDP-10ハードウェアのエミュレーションを介して、リモートアクセスが可能である。
ITSは当時としては多くの新機能を導入した。
ITSユーザーが目にした環境は、当時のほとんどのオペレーティングシステムが提供する環境とは哲学的に大きく異なっていた。[ 4 ]
広く開かれたITSの理念と協力的なコミュニティは、フリーでオープンソースのソフトウェア(FOSS)、オープンデザイン、Wiki運動の直接の先駆けとなった。[ 9 ] [ 10 ] [ 11 ]
EMACS (「Editor MACroS」)エディタは、元々はITS上で開発されました。ITS版では、TECOプログラム(「マクロ」と呼ばれる)の集合体でした。後のオペレーティングシステムでは、それぞれのシステムで共通して使用される言語で記述されるようになりました。例えば、UnixではC言語、Lisp MachineシステムではZetalispが用いられました。
GNUのinfoヘルプシステムは、元々はEMACSのサブシステムでしたが、後にUnix系マシン向けの完全なスタンドアロンシステムとして開発されました。
ITS上では、MacLisp (ZetalispとCommon Lispの前身)、Microplanner(MacLispで実装)、MDL ( Infocomのプログラミング環境の基盤となった)、 Schemeなど、いくつかの重要なプログラミング言語とシステムが開発された。
ITS上で開発された数々の重要かつ影響力のあるソフトウェアサブシステムの中でも、 1968年に開発が始まった数式処理システム「Macsyma」は、広く知られるようになった最初の数式処理環境でした。これは、 Maxima、MATLAB、Wolfram Mathematica、その他多くの数式処理システムの先駆けとなりました。
テリー・ウィノグラードの自然言語通訳システムSHRDLUは、ITS上で開発された。コンピュータゲーム「Zork」も、元々はITS上で開発された。
リチャード・グリーンブラットのMac Hack VIは、長年にわたり最高評価のチェスプログラムであり、グラフィカルな盤面表示を初めて実現したプログラムでもあった。
ITSのデフォルトのトップレベルコマンドインタープリタは、PDP-10マシン語デバッガ(DDT)でした。ITSで一般的に使用されていたテキストエディタはTECOで、後にTECOで書かれたEmacsが使われるようになりました。DDTとTECOはどちらも、1文字のコマンドに対する単純なディスパッチテーブルによって実装されていたため、厳密な構文は存在しませんでした。ITSのタスクマネージャはPEEKと呼ばれていました。
ローカルスペル「TURIST」は、6文字のファイル名(およびその他の識別子)の制限によるもので、6文字のSIXBITエンコード文字が1つの36ビットPDP-10ワードに収まることに由来する。「TURIST」は、理論計算機科学の先駆者であるアラン・チューリングをもじったものかもしれない。[ 12 ]また、あまり好意的ではない用語「LUSER」は、特に無知または破壊的な行為を繰り返すゲストユーザーに適用された。[ 13 ]
ジャーゴンファイルは、 MITのITSマシンとスタンフォード大学SAILの人々の共同作業として始まりました。この文書は、2つのAIラボと関連する研究グループの用語、言葉遊び、文化の多くを記述しており、大手出版社( MIT Press )から発行された最初のハッカー用語集であるハッカーズ・ディクショナリ(1983年)[ 14 ]の直接の前身です。
ITSの様々な実装では、奇妙な周辺機器群がサポートされていた。その中には、ハッカーのリチャード・グリーンブラットが考案した自動ワイヤーストリッパーも含まれていた。グリーンブラットは、自身らが試作していたコンピュータハードウェアのワイヤーラッピング用に、様々な長さの被覆を剥いたジャンパー線が必要だったのだ。この装置は、ステッピングモーターと、かつては手持ち式だったワイヤーストリッパーとカッターをソレノイドで駆動し、すべてITSソフトウェアからコンピュータ制御されていた。この装置はITSユーザーなら誰でも利用できたが、実際の使用においては期待外れなほど信頼性に欠けていた。
初期のレーザープリンターの1つであるゼロックスグラフィックス プリンター(XGP) は、1974 年までに ITS でサポートされるようになりました。 [ 15 ] MIT AI ラボには、スタッフの実験と使用のために、このプロトタイプの連続ロール給紙プリンターが 1 つありました。1982 年までに、XGP は初期のシート給紙レーザープリンターであるゼロックス ドーバープリンターによって補完されました。 [ 16 ] ITS のユーザーは誰でもレーザープリンターにファイルを送信できましたが、印刷物を受け取るための物理的なアクセスは、特別に注文する必要のあるプリンター消耗品の使用を管理するために、スタッフや MIT ラボへのアクセス権を得た他の人に限定されていました。
CTSSとITSのファイルシステムには、いくつかの共通する設計要素があります。どちらもMFD(マスターファイルディレクトリ)と1つ以上のUFD(ユーザーファイルディレクトリ)を持ちます。どちらもネストされたディレクトリ(サブディレクトリ)は持ちません。どちらもファイル名は2つの名前で構成され、最大6文字です。どちらもリンクファイルをサポートしています。