Compatible Time-Sharing System
- This article is about the MIT Computation Center operating system. CTSS may also stand for the Cray Time Sharing System, a separate system developed for Cray supercomputers.
|Company / developer||MIT's Computation Center|
|Marketing target||MIT only|
|Supported platforms||modified IBM 7094|
The Compatible Time-Sharing System, or the CTSS, was one of the first time-sharing operating systems; it was developed at MIT's Computation Center. CTSS was first demonstrated in 1961, and was operated at MIT until 1973. During part of this time, MIT's Project MAC had a second copy of CTSS, but the system did not spread beyond two sites (though this applies to many early computer systems). CTSS was described in a paper presented at the 1962 Spring Joint Computer Conference.
|History of IBM mainframe operating systems|
The "Compatible" in the name refers to compatibility with the standard batch processing OS for the IBM 7094, the FORTRAN Monitor System (FMS). CTSS ran an unaltered copy of FMS, processing a standard batch stream, in a pseudo-virtual 7094 provided by its background facility. (The hardware was partly but not fully virtualized; see History of CP/CMS for further details.) Background FMS jobs could access tapes normally, but could not interfere with foreground time-sharing processes or the resources used to support them.
CTSS was very influential. It showed that time-sharing was viable; it fostered important new applications for computers; it had a significant influence on the next generation of time-sharing systems (notably CP/CMS); and its direct successor, Multics, pioneered many core concepts of current operating systems.
- CTSS had one of the first computerized text formatting utilities, called RUNOFF.
- CTSS had one of the first inter-user messaging implementations, possibly inventing email.
- MIT Computation Center staff member Louis Pouzin created for CTSS a command called RUNCOM, which executed a list of commands contained in a file. (He later created a design for the Multics shell, which in turn inspired Unix shell scripts.) RUNCOM also allowed parameter substitution.
CTSS used a modified IBM 7094 mainframe computer that had two 32,768 36-bit word banks of core memory instead of the normal one; users had access to 27K of the total 32K, with the remaining 5K reserved for the monitor. One bank was reserved for the time-sharing supervisory program, the other for user programs. Processor allocation scheduling was controlled by a multilevel feedback queue. It also had some special memory management hardware, a clock interrupt and the ability to trap certain instructions. Input-output hardware was mostly standard IBM peripherals. These included six data channels connecting to:
- printers, punched card readers and punches
- IBM 729 tape drives, an IBM 1301 disk storage, later upgraded to an IBM 1302, with 38 million word capacity
- an IBM 7320 drum memory with 186K words that could load a 32K memory bank in one second (later upgraded to 1/4 second)
- two custom high speed vector graphics displays
- an IBM 7750 transmission control unit capable of supporting up to 112 teleprinter terminals, including IBM 1050 Selectrics and Teletype Model 35s. Some of the terminals were located remotely and the system could be accessed using the public Telex and TWX networks
Multics, which was also developed by Project MAC, was started in the 1960s as a successor to CTSS, for future use in multiple-access computing. Multics inspired the development of Unix in 1969. One of technical terms inherited by these systems from CTSS is daemon.
ITS, the Incompatible Timesharing System, another early, revolutionary, and influential MIT time-sharing system, was produced by people who disagreed with the direction taken by Multics; the name was a parody of CTSS, as the name of Unix was later a parody of Multics.
See also 
- 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) describes the usage of CTSS
- Jerome H. Saltzer, CTSS Technical Notes (MIT Project MAC, 1965) describes the internals of CTSS in some detail
- Jerome H. Saltzer, Manuscript Typing and Editing (MIT Computation Center, 1964) describes the world's first computerized text formatting system
- F. J. Corbató, et al., The Compatible Time-Sharing System A Programmer's Guide (MIT Press, 1963) ISBN 978-0-262-03008-3. Describe the system and its commands
- Compatible Time-Sharing System (1961-1973): Fiftieth Anniversary Commemorative Overview
- John McCarthy, Reminiscences on the History of Time Sharing presents the origin of the concept of time-sharing
- Oral history interview with John McCarthy, Charles Babbage Institute, University of Minnesota. Discusses computer developments at MIT including time sharing.
- The IBM 7094 and CTSS: personal memoir of Tom Van Vleck, a system programmer on CTSS
- The Origin of the Shell describes the evolution of RUNCOM into the modern shell
- CTSS Source in Paul Pierce's collection.
- CIO: 40 years of Multics, 1969-2009: Interview with CTSS and Multics developer Fernando J. Corbato.
- Oral history interview with Fernando J. Corbató, Charles Babbage Institute, University of Minnesota. Discusses many computer developments at MIT including CTSS.
- Oral history interview with Robert M. Fano, Charles Babbage Institute, University of Minnesota. Discusses computer developments at MIT including CTSS.
- Dave Pitts' IBM 7094 support – Includes a simulator, cross assembler and linker that can be used to build and run CTSS. Site also contains CTSS source and kits to run CTSS.