CTSS

CTSS(Compatible Time-Sharing System、互換タイムシェアリングシステム)は、MIT計算センターで開発された世界初のタイムシェアリングシステムのひとつ。1961年に最初の実演が行われ、1973年までMITで稼動していた。当時、MITの Project MAC にもCTSSの2号機があったが、それ以外のサイトで採用されたことはない。CTSSに関する論文は1962年春季合同コンピュータ会議で発表された。

概要 
その名称にある "Compatible"（互換）とは IBM 7094 の標準のバッチ処理OS FORTRAN Monitor System (FMS) との互換性を意味している。CTSSはバックグラウンド機能で提供された仮想7094上でFMSをそのまま実行することができた（ハードウェアは完全には仮想化できていない）。バックグラウンドFMSジョブは問題なく磁気テープにアクセスできたが、フォアグラウンドプロセスの実行をじゃましたり、それらが使用するリソースを奪うことはできなかった。

CTSSは後世に大きな影響を与えた。タイムシェアリングが可能であることを示し、コンピュータの新たな重要な用途を生み出した。その後のタイムシェアリングシステム（特にCP/CMS(:en:CP/CMS)）に多大な影響を与え、直接の後継である Multics は後のOSの基本概念の多くを生み出した。

特徴 
 CTSSには世界初のコンピュータ化された組版ユーティリティの一種 RUNOFFがあった。
 CTSSには世界初のユーザー間のメッセージ通信機能が実装されており、電子メールの発祥とされることもある。
 MIT計算センターの職員ルイ・プザンはCTSS向けの RUNCOM と呼ばれるコマンドを開発した。これはファイルに書かれているコマンド群を実行するもので、UNIXのシェルスクリプトの原型である。RUNCOMにはパラメータ置換機能もあった。

実装 
CTSSは改造された IBM 7094 メインフレームを使用している。32,768×36ビットワードの磁気コアメモリを2バンク持っている（通常は1個）。うち1バンクはタイムシェアリング管理プログラムが使用し、もう1個をユーザープログラム群が使用する。32Kのうち27Kをユーザーが使用し、残り5Kをモニター用の予約している。CPUを割り当てるスケジューリングは多段フィードバックキュー方式で制御される。また、特殊なメモリ管理ハードウェア、クロック割り込み機能、特定の命令をトラップする機能などもあった。入出力ハードウェアはほとんどIBMの標準品である。6本のデータチャネルには以下のデバイスが接続されていた。

 プリンタ、パンチカードリーダ、およびパンチャー
  磁気テープ装置、IBM 1301 ディスク記憶装置（後に3800万ワードの容量を持つ IBM1302 にアップグレードされた）
 IBM 7320 磁気ドラムメモリ、容量は186Kワードで、1秒で32Kメモリバンクをロードできる（後に、1/4秒までアップグレードされる）
 2つの独自高速ベクターグラフィックディスプレイ
 IBM 7750 伝送制御装置、112台のテレタイプ端末を接続可能。端末には IBM 1050 や Model35 テレタイプ端末などが使われた。いくつかの端末は遠隔地にあり、公衆テレックス回線で接続されていた。

影響 
Project MAC では、CTSSの後継として1960年代にMulticsの開発を開始した。Multicsは1969年にUNIXが開発される要因の1つとなった。例えば、「デーモン」という用語はCTSS発祥で、UNIXにまで受け継がれた。

ITS(Incompatible Timesharing System)もMITで開発された初期の革新的タイムシェアリングシステムのひとつである。これはMulticsの方向性を良しとしない人々が開発した。名称はCTSSのパロディ。

脚注

参考文献

 F. J. Corbató, M. M. Daggett, R. C. Daley, An Experimental Time-Sharing System (IFIPS 1962年)
 Robert M. Fano, The MAC System: A Progress Report (MIT Project MAC, 1964年) CTSSの使用方法
 Jerome H. Saltzer, CTSS Technical Notes (MIT Project MAC, 1965年) CTSSの実装の詳細
 Jerome H. Saltzer, Manuscript Typing and Editing (MIT Computation Center, 1964年) 世界初の電子組版システムについて
 F. J. Corbató, et al., The Compatible Time-Sharing System A Programmer's Guide (MIT Press, 1963年) ISBN 978-0-262-03008-3. システムとコマンド群の解説

関連項目 
 フェルナンド・J・コルバト - プロジェクトリーダー
 オペレーティングシステムの歴史

外部リンク 
 Compatible Time-Sharing System (1961-1973): Fiftieth Anniversary Commemorative Overview
 ジョン・マッカーシー, Reminiscences on the History of Time Sharing タイムシェアリングという概念の起源について
 Oral history interview with John McCarthy, Charles Babbage Institute, University of Minnesota. 
 The IBM 7094 and CTSS: CTSSシステムプログラマの個人的回想
 The Origin of the Shell RUNCOMが後のシェルに与えた影響
 CTSS Source Paul Pierce のコレクションより
 CIO: 40 years of Multics, 1969-2009: フェルナンド・J・コルバトのインタビュー
 Oral history interview with Fernando J. Corbató, Charles Babbage Institute, University of Minnesota. 
 Oral history interview with Robert M. Fano, Charles Babbage Institute, University of Minnesota. 
 Dave Pitts' IBM 7094 support – シミュレータ、クロスアセンブラ、リンカがあり、CTSSをビルド可能。CTSSのソースなどもある。

オペレーティングシステム
マサチューセッツ工科大学
1961年のソフトウェア