Incompatible Timesharing System (ITS )は、マサチューセッツ工科大学 (MIT)で開発された初期のタイムシェアリング オペレーティングシステム (OS)の1つ。アセンブリ言語 で書かれており、CTSS (Compatible Time-Sharing System)との対比で名づけられている。主にMIT人工知能研究所 で開発され、Project MAC からも何らかの助力があった。
歴史
ITSの開発は、Project MAC においてMultics プロジェクトの方向性を良しとしない人々(人工知能研究所の大多数)により1960年代 末ごろに開始された。特に問題とされたのは、Multicsにおける強力なセキュリティ機能であった。名称は、トム・ナイト(英語版 ) がMITの初期のタイムシェアリングOSであるCTSS から発想して付けたとされている。
ITSは当初DEC PDP-6 向けに開発され、後にPDP-10 に移植された(というよりも開発の大部分はPDP-10向けに行われた)。1982年以降はあまり使われなかったものの、1990年までMITで稼動し、その後1995年までスウェーデンのStackenコンピュータクラブ(スウェーデン語版 ) で稼動していた。
ITSには数多くの革新的機能が備わっていた。以下は、その中でも世界初の実装となった機能である:
世界初のデバイス非依存のグラフィックス端末出力を備えていた。プログラムでは汎用的な表示制御コマンドを使い、システムがそれを自動的に端末機器毎の適切な制御文字列などに変換した。
ユーザープロセス内で動作する仮想デバイスをソフトウェアで実装するための汎用機構。
また、その機構を使った、透過的なマシン間共有型ファイルシステム(ほぼ世界初)。ITSマシンは全てARPANET に接続されていて、あるマシン上で他のマシンにあるファイルをローカルにあるファイルと同じように扱うことができた。
洗練されたプロセス管理 。ユーザープロセスは木構造 の階層を形成しており、上位のプロセスが下位の複数のプロセスを制御する。下位プロセスは任意の時点で処理を中断させられ、その状態(レジスタの内容など)を調べることができる。その後、そのプロセスを問題なく再開させることが可能。
高度なソフトウェア割り込み機構を持ち、ユーザープロセスの非同期操作が可能。
PCLSRingという機構により、擬似不可分操作 、割り込み可能なシステムコール などを提供。それまで、システムコールの途中で自分自身を含む任意のプロセスがその状態を観察することはできなかった。
これらの機能や他の先進的な機能は、その後のオペレーティングシステムに取り入れられた。
ユーザー環境
ユーザー環境は、当時の他のOSとは全く異なっていた。
当初、パスワードがなく、ユーザーはログオンすることなくITSを使うことができた。正式にはログオンは可能だが、単に他のユーザーがあるユーザーがシステムを使っていることを知ることができるという意味しかない。
システムの問題点をユーザーが発見した場合、その対処に斬新な手法が用いられた。システムをクラッシュさせるコマンドが用意されていて、これを誰でも実行することができるようになっていた。このコマンドは同時に誰がそのコマンドを実行したかをブロードキャストで通知するようになっていた。
全てのファイルを誰でも編集可能。
他のユーザーの使っている端末間で会話が可能であり、使用中の他のユーザーに助けを求めるコマンド(SHOUT)も用意されていた。
他のユーザーの端末の表示を見ることが可能である(OS = "output spy" というコマンドを使用)。見られているユーザーには通知が行くので、見ている人とのセッションを見られている側から切断可能(JEDGAR コマンドを使用。その名称はFBI のジョン・エドガー・フーヴァー から)。
ゲスト(TURIST)は研究所内の端末からでもARPANET上の外部のシステムからでも利用可能であった。このようなアクセスに関するポリシー が後に制定された。なお、"TURIST" というのはファイル名が6文字に制限されていたためで、PDP-10 が36ビットワードであったため、1文字6ビットで6文字が1ワードに収まったため、このような制限があった。
このような奇異な特徴が数ある中でも、ITSのトップレベルのコマンドインタプリタ はPDP-10の機械語デバッガ(DDT)で、未経験者にはそのコマンドは全く解読不能であった。
主なエディタとしては長年TECO が使われていた。Emacs は当初、TECO用のマクロを集めたものであった。
ITS上では様々なソフトウェアが開発されたが、中でも数式処理システム Macsyma 、GNU INFOヘルプシステム、Maclisp 、Emacs などが有名である。
ジャーゴンファイル もITS上で始まったものである。
初期の開発者
参考文献
ITS bibliography
Bawden, Allen (n.d.) PCLSRing: Keeping Process State Modular
Chiou, S; Music, C; Sprague, K; Wahba,R (2001). "A Marriage of Convenience: The Founding of the MIT Artificial Intelligence Laboratory ." (pdf)
Eastlake, Donald E. (1972). ITS Status Report (文書をスキャンした画像をPDF化したもので、大きいので注意)
Lin, Yuwei (2004). “Epistemologically Multiple Actor-Centered Systems: or, EMACS At Work! Ubiquity 5(1). (pdf file)
Williams, S. (2002). Free as in Freedom: Richard Stallman's Crusade for Free Software. Petaluma, CA: O'Reilly.
外部リンク