Compatible Time-Sharing System
   HOME

TheInfoList



OR:

The Compatible Time-Sharing System (CTSS) was the first general purpose
time-sharing In computing, time-sharing is the sharing of a computing resource among many users at the same time by means of multiprogramming and multi-tasking.DEC Timesharing (1965), by Peter Clark, The DEC Professional, Volume 1, Number 1 Its emergence a ...
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
. Compatible Time Sharing referred to time sharing which was compatible with
batch processing Computerized batch processing is a method of running software programs called jobs in batches automatically. While users are required to submit the jobs, no other interaction by the user is required to process the batch. Batches may automatically ...
; it could offer both time sharing and batch processing concurrently. CTSS was developed at the MIT Computation Center ("Comp Center"). CTSS was first demonstrated on MIT's modified
IBM 709 The IBM 709 was a computer system, initially announced by IBM in January 1957 and first installed during August 1958. The 709 was an improved version of its predecessor, the IBM 704, and was the third of the IBM 700/7000 series of scientific co ...
in November 1961. The hardware was replaced with a modified IBM 7090 in 1962 and later a modified IBM 7094 called the "blue machine" to distinguish it from the Project MAC CTSS IBM 7094. Routine service to MIT Comp Center users began in the summer of 1963 and was operated there until 1968. A second deployment of CTSS on a separate IBM 7094 that was received in October 1963 (the "red machine") was used early on in
Project MAC Computer Science and Artificial Intelligence Laboratory (CSAIL) is a research institute at the Massachusetts Institute of Technology (MIT) formed by the 2003 merger of the Laboratory for Computer Science (LCS) and the Artificial Intelligence Lab ...
until 1969 when the red machine was moved to the Information Processing Center and operated until July 20, 1973. CTSS ran on only those two machines however there were remote CTSS users outside of MIT including ones in California, South America, the
University of Edinburgh The University of Edinburgh ( sco, University o Edinburgh, gd, Oilthigh Dhùn Èideann; abbreviated as ''Edin.'' in post-nominals) is a public research university based in Edinburgh, Scotland. Granted a royal charter by King James VI in 15 ...
and the
University of Oxford , mottoeng = The Lord is my light , established = , endowment = £6.1 billion (including colleges) (2019) , budget = £2.145 billion (2019–20) , chancellor ...
.


History

John Backus John Warner Backus (December 3, 1924 – March 17, 2007) was an American computer scientist. He directed the team that invented and implemented FORTRAN, the first widely used high-level programming language, and was the inventor of the Backu ...
said in the 1954 summer session at
MIT The Massachusetts Institute of Technology (MIT) is a private land-grant research university in Cambridge, Massachusetts. Established in 1861, MIT has played a key role in the development of modern technology and science, and is one of the m ...
that "By time sharing, a big computer could be used as several small ones; there would need to be a reading station for each user".Backus, John,
Computer Advanced Coding Techniques
'', MIT 1954, page 16-2. The first known description of computer time-sharing.
Computers at that time, like
IBM 704 The IBM 704 is a large digital mainframe computer introduced by IBM in 1954. It was the first mass-produced computer with hardware for floating-point arithmetic. The IBM 704 ''Manual of operation'' states: The type 704 Electronic Data-Pro ...
, were not powerful enough to implement such system, but at the end of 1958, MIT's Computation Center nevertheless added a typewriter input to its 704 with the intent that a programmer or operator could "obtain additional answers from the machine on a time-sharing basis with other programs using the machine simultaneously". In June 1959,
Christopher Strachey Christopher S. Strachey (; 16 November 1916 – 18 May 1975) was a British computer scientist. He was one of the founders of denotational semantics, and a pioneer in programming language design and computer time-sharing.F. J. Corbató, et al. ...
published a paper "Time Sharing in Large Fast Computers" at the UNESCO Information Processing Conference in Paris, where he envisaged a programmer
debugging In computer programming and software development, debugging is the process of finding and resolving '' bugs'' (defects or problems that prevent correct operation) within computer programs, software, or systems. Debugging tactics can involve in ...
a program at a console (like a
teletype A teleprinter (teletypewriter, teletype or TTY) is an electromechanical device that can be used to send and receive typed messages through various communications channels, in both point-to-point and point-to-multipoint configurations. Initia ...
) connected to the computer, while another program was running in the computer at the same time.F. J. Corbató, et al.,
The Compatible Time-Sharing System A Programmer's Guide
' (MIT Press, 1963) . Describe the system and its commands
John McCarthy,

'' (Stanford University 1983).
Debugging programs was an important problem at that time, because with batch processing, it then often took a day from submitting a changed code, to getting the results. John McCarthy wrote a memo about that at MIT, after which a preliminary study committee and a working committee were established at MIT, to develop time sharing. The committees envisaged many users using the computer at the same time, decided the details of implementing such system at MIT, and started the development of the system.


Experimental Time Sharing System

By July, 1961 a few time sharing commands had become operational on the Computation Center's IBM 709, and in November 1961,
Fernando J. Corbató Fernando José "Corby" Corbató (July 1, 1926 – July 12, 2019) was a prominent American computer scientist, notable as a pioneer in the development of time-sharing operating systems. Career Corbató was born on July 1, 1926 in Oakland, Califo ...
demonstrated at MIT what was called the ''Experimental Time-Sharing System''. On May 3, 1962, F. J. Corbató, M. M. Daggett and R. C. Daley published a paper about that system at the
Spring Joint Computer Conference The Joint Computer Conferences were a series of computer conferences in the United States held under various names between 1951 and 1987. The conferences were the venue for presentations and papers representing "cumulative work in the omputerfield ...
. Robert C. Daley, Peter R. Bos and at least 6 other programmers implemented the operating system, partly based on the
Fortran Monitor System The history of IBM mainframe operating systems is significant within the history of mainframe operating systems, because of IBM's long-standing position as the world's largest hardware supplier of mainframe computers. IBM mainframes run operatin ...
. The system used an
IBM 7090 The IBM 7090 is a second-generation transistorized version of the earlier IBM 709 vacuum tube mainframe computer that was designed for "large-scale scientific and technological applications". The 7090 is the fourth member of the IBM 700/7000 se ...
, modified by Herbert M. Teager, with added 3 Flexowriters for user consoles, and maybe a
timer A timer is a specialized type of clock used for measuring specific time intervals. Timers can be categorized into two main types. The word "timer" is usually reserved for devices that counts down from a specified time interval, while devices th ...
. Each of the 3 users had two tape units, one for the user's file directory, and one for dumping the core (program in memory). There was also one tape unit for the system commands, there were no disk drives. The
memory Memory is the faculty of the mind by which data or information is encoded, stored, and retrieved when needed. It is the retention of information over time for the purpose of influencing future action. If past events could not be remembered, ...
was 27 k words (36-bit words) for users, and 5 k words for the supervisor (operating system). The input from the consoles was written to the buffers in the supervisor, by
interrupts In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted, ...
, and when a return character was received, the control was given to the supervisor, which dumped the running code to the tape and decided what to run next. The console commands implemented at the time were ''login, logout, input, edit, fap, mad, madtrn, load, use, start, skippm, listf, printf, xdump'' and ''xundump''. This became the initial version of the Compatible Time-Sharing System. This was apparently the first ever public demonstration of
time-sharing In computing, time-sharing is the sharing of a computing resource among many users at the same time by means of multiprogramming and multi-tasking.DEC Timesharing (1965), by Peter Clark, The DEC Professional, Volume 1, Number 1 Its emergence a ...
; there are other claims, but they refer to special-purpose systems, or with no known papers published. The "compatibility" of CTSS was with background jobs run on the same computer, which generally used more of the compute resources than the time-sharing functions.


Applications


DOTSYS and BRAILLEMBOSS

The first version of the DOTSYS
braille Braille (Pronounced: ) is a tactile writing system used by people who are visually impaired, including people who are Blindness, blind, Deafblindness, deafblind or who have low vision. It can be read either on Paper embossing, embossed paper ...
translation software ran on CTSS and could output to a BRAILLEMBOSS braille page printer. DOTSYS on CTSS was first demonstrated on August 18, 1966 as part of a feasibility study where teletypesetter tape, in the form of news, was converted to Grade 2 Braille. The following month the feasibility of converting textbook information on teletypesetter tape to error-free Grade 2 Braille was successfully demonstrated. As MIT CTSS was an academic system, a research vehicle and not a system for commercial computing, two years later a version of DOTSYS stripped of CTSS dependencies for software portability was used on an IBM 709 at the
American Printing House for the Blind The American Printing House for the Blind (APH) is an American non-for-profit corporation in Louisville, Kentucky, promoting independent living for people who are blind and visually impaired. For over 150 years APH has created unique products an ...
to print the first braille edition of a book produced from teletypesetter input, only a few weeks after the ink-print version. The following year, on CTSS, a demonstration of printing mathematical tables in braille was shown. A short FORTRAN II program was written to produce a conversion table from inches to millimeters in braille via the BRAILLEMBOSS braille page printer.


Intrex

The Intrex Retrieval System ran on CTSS. Intrex was an experimental, pilot-model machine-oriented bibliographic storage and retrieval system with a database that stored a catalog of roughly 15,000 journal articles. It was used to develop and test concepts for library automation. A deployment of three BRISC CRT consoles for testing at the MIT Engineering Library showed that it was preferred over two other systems, ARDS and DATEL.


Features

* The original
ELIZA ELIZA is an early natural language processing computer program created from 1964 to 1966 at the MIT Artificial Intelligence Laboratory by Joseph Weizenbaum. Created to demonstrate the superficiality of communication between humans and machines, E ...
ran on CTSS. * CTSS was the first computer system to implement
password A password, sometimes called a passcode (for example in Apple devices), is secret data, typically a string of characters, usually used to confirm a user's identity. Traditionally, passwords were expected to be memorized, but the large number of ...
login. * CTSS had one of the first computerized text editing and formatting utilities, called
TYPSET and RUNOFF TYPSET is an early document editor that was used with the 1964-released RUNOFF program, one of the earliest text formatting programs to see significant use. Of two earlier print/formatting programs DITTO and TJ-2, only the latter had, and intro ...
(the successors of MEMO, MODIFY and DITTO). * CTSS had one of the first inter-user messaging implementations, pioneering
electronic mail Electronic mail (email or e-mail) is a method of exchanging messages ("mail") between people using electronic devices. Email was thus conceived as the electronics, electronic (digital media, digital) version of, or counterpart to, mail, ...
.
Tom Van Vleck Tom Van Vleck is an American computer software engineer. Life and work Van Vleck graduated from MIT in 1965 with a BS in Mathematics. He worked on CTSS at MIT, and co-authored its first email program with Noel Morris. In 1965, he joined Proje ...
's memoir o
The History of Electronic Mail
/ref> * CTSS had one of the first
instant messaging Instant messaging (IM) technology is a type of online chat allowing real-time text transmission over the Internet or another computer network. Messages are typically transmitted between two or more parties, when each user inputs text and trigge ...
systems similar to
write Writing is a medium of human communication which involves the representation of a language through a system of physically inscribed, mechanically transferred, or digitally represented symbols. Writing systems do not themselves constitute h ...
. * MIT Computation Center staff member
Louis Pouzin Louis Pouzin (April 20, 1931 in Chantenay-Saint-Imbert, Nièvre, France) is a French computer scientist. He designed an early packet communications network, CYCLADES. This network was the first actual implementation of the pure datagram model, ...
created for CTSS a command called
RUNCOM RUNCOM is a CTSS macro command (script) processor. History Louis Pouzin created RUNCOM for CTSS circa 1963. He wrote a paper in 1965 describing a design for the Multics shell which includes a brief description of RUNCOM followed by a second p ...
, which executed a list of commands contained in a file. RUNCOM also provided for parameter substitution. He later created a design for the
Multics Multics ("Multiplexed Information and Computing Service") is an influential early time-sharing operating system based on the concept of a single-level memory.Dennis M. Ritchie, "The Evolution of the Unix Time-sharing System", Communications of t ...
shell Shell may refer to: Architecture and design * Shell (structure), a thin structure ** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses ** Thin-shell structure Science Biology * Seashell, a hard o ...
that was implemented by
Glenda Schroeder Glenda Schroeder is an American software engineer noted for implementing the first command-line user interface shell and publishing one of the earliest research papers describing electronic mail systems while working as a member of the staff at th ...
which in turn inspired Unix
shell script A shell script is a computer program designed to be run by a Unix shell, a command-line interpreter. The various dialects of shell scripts are considered to be scripting languages. Typical operations performed by shell scripts include file manip ...
s. * CTSS had an implementation of the text editor QED, the predecessor of ed, vi, and vim, with regular expressions added by
Ken Thompson Kenneth Lane Thompson (born February 4, 1943) is an American pioneer of computer science. Thompson worked at Bell Labs for most of his career where he designed and implemented the original Unix operating system. He also invented the B programmi ...
.


Implementation


Kernel

CTSS used a modified
IBM 7090 The IBM 7090 is a second-generation transistorized version of the earlier IBM 709 vacuum tube mainframe computer that was designed for "large-scale scientific and technological applications". The 7090 is the fourth member of the IBM 700/7000 se ...
mainframe computer that had two 32,768 (32K) 36-bit-
word A word is a basic element of language that carries an semantics, objective or pragmatics, practical semantics, meaning, can be used on its own, and is uninterruptible. Despite the fact that language speakers often have an intuitive grasp of w ...
banks of
core memory Core or cores may refer to: Science and technology * Core (anatomy), everything except the appendages * Core (manufacturing), used in casting and molding * Core (optical fiber), the signal-carrying portion of an optical fiber * Core, the centra ...
instead of the default configuration which provides only one. One bank was reserved for the time-sharing supervisory program, the other for user programs. CTSS had a protected-mode kernel, the supervisor's functions in the A-core (memory bank A) could be called only by software interrupts, like in the modern operating systems. Causing memory-protection interrupts were used for software interrupts.
Processor Processor may refer to: Computing Hardware * Processor (computing) **Central processing unit (CPU), the hardware within a computer that executes a program *** Microprocessor, a central processing unit contained on a single integrated circuit (I ...
allocation
scheduling A schedule or a timetable, as a basic time-management tool, consists of a list of times at which possible task (project management), tasks, events, or actions are intended to take place, or of a sequence of events in the chronological order ...
with a quantum time unit 200 ms, was controlled by a
multilevel feedback queue In computer science, a multilevel feedback queue is a scheduling (computing), scheduling algorithm. ''Scheduling algorithms'' are designed to have some process running at all times to keep the central processing unit (CPU) busy. The ''multilevel fee ...
. It also had some special memory-management hardware, a clock interrupt and the ability to trap certain instructions.


Supervisor subroutines

* RDFLXA – Read an input line from console * WRFLX – Write an output line to console * DEAD – Put the user into dead status, with no program in memory * DORMNT – Put the user into dormant status, with program in memory * GETMEM – Get the size of the memory allocation * SETMEM – Set the size of the memory allocation * TSSFIL – Get access to the CTSS system files on the disk * USRFIL – Change back to user's own directory * GETBRK – Get the instruction location counter at quit


Programming languages

CTSS at first had only an assembler, FAP, and a compiler, MAD. Also, Fortran II code could be translated into MAD code by using MADTRN. Later half of the system was written in MAD. Later there were other programming languages including COMIT II, LISP 1.5 and a version of
ALGOL ALGOL (; short for "Algorithmic Language") is a family of imperative computer programming languages originally developed in 1958. ALGOL heavily influenced many other languages and was the standard method for algorithm description used by the ...
.


File system

Each user had their own
directory Directory may refer to: * Directory (computing), or folder, a file system structure in which to store computer files * Directory (OpenVMS command) * Directory service, a software application for organizing information about a computer network's u ...
, and there were also shared directories for groups of people with the same "problem number". Each
file File or filing may refer to: Mechanical tools and processes * File (tool), a tool used to ''remove'' fine amounts of material from a workpiece **Filing (metalworking), a material removal process in manufacturing ** Nail file, a tool used to gent ...
had two names, the second indicating its type as did the
extension Extension, extend or extended may refer to: Mathematics Logic or set theory * Axiom of extensionality * Extensible cardinal * Extension (model theory) * Extension (predicate logic), the set of tuples of values that satisfy the predicate * E ...
in later system. At first, each file could have one of four modes: temporary, permanent, read-only class 1, and read-only class 2. Read-only class 1 allowed the user to change the mode of the file. Files could also be symbolically linked between directories. A directory listing by ''listf'': 10 FILES 20 TRACKS USED DATE NAME MODE NO. TRACKS 5/20/63 MAIN MAD P 15 5/17/63 DPFA SYMTB P 1 5/17/63 DPFA BSS P 1 5/17/63 DPFA FAP P 2


Peripherals

Input-output hardware was mostly standard IBM
peripheral A peripheral or peripheral device is an auxiliary device used to put information into and get information out of a computer. The term ''peripheral device'' refers to all hardware components that are attached to a computer and are controlled by the ...
s. These included six data channels connecting to: * Printers,
punched card A punched card (also punch card or punched-card) is a piece of stiff paper that holds digital data represented by the presence or absence of holes in predefined positions. Punched cards were once common in data processing applications or to di ...
readers and punches *
IBM 729 The IBM 729 Magnetic Tape Unit was IBM's iconic tape mass storage system from the late 1950s through the mid-1960s. Part of the IBM 7 track family of tape units, it was used on late 700, most 7000 and many 1400 series computers. Like its prede ...
tape drives, an
IBM 1301 IBM manufactured magnetic disk storage devices from 1956 to 2003, when it sold its hard disk drive business to Hitachi. Both the hard disk drive (HDD) and floppy disk drive (FDD) were invented by IBM and as such IBM's employees were responsible fo ...
disk storage, later upgraded to an
IBM 1302 IBM manufactured magnetic disk storage devices from 1956 to 2003, when it sold its hard disk drive business to Hitachi. Both the hard disk drive (HDD) and floppy disk drive (FDD) were invented by IBM and as such IBM's employees were responsible ...
, with 38 million word capacity * An
IBM 7320 In addition to the drums used as main memory by IBM, e.g., IBM 305, IBM 650, IBM offered drum devices as secondary storage for the 700/7000 series and System/360 series of computers. IBM 731 The IBM 731 is a discontinued storage unit used o ...
drum memory with 186K words that could load a 32K-word memory bank in one second (later upgraded to 0.25 seconds) * Two custom high-speed vector graphics displays * An IBM 7750 transmission control unit capable of supporting up to 112
teleprinter A teleprinter (teletypewriter, teletype or TTY) is an electromechanical device that can be used to send and receive typed messages through various communications channels, in both point-to-point and point-to-multipoint configurations. Initia ...
terminals, including
IBM 1050 IBM 1050 Data Communications System is a computer terminal subsystem to send data to and receive data from another 1050 subsystem or IBM computer in the IBM 1400, IBM 7000 or System/360 series. It first became available in 1963 and was used wi ...
Selectric The IBM Selectric typewriter was a highly successful line of electric typewriters introduced by IBM on 31 July 1961. Instead of the "basket" of individual typebars that swung up to strike the ribbon and page in a typical typewriter of the perio ...
s and Model 35s. Some of the terminals were located remotely, and the system could be accessed using the public Telex and TWX networks.


Influences

CTSS was described in a paper presented at the 1962
Spring Joint Computer Conference The Joint Computer Conferences were a series of computer conferences in the United States held under various names between 1951 and 1987. The conferences were the venue for presentations and papers representing "cumulative work in the omputerfield ...
, and greatly influenced the design of other early time-sharing systems.
Maurice Wilkes Sir Maurice Vincent Wilkes (26 June 1913 – 29 November 2010) was a British computer scientist who designed and helped build the Electronic Delay Storage Automatic Calculator (EDSAC), one of the earliest stored program computers, and who inv ...
witnessed CTSS and the design of the Titan Supervisor was inspired by that. Dennis Ritchie wrote in 1977 that UNIX could be seen as a "modern implementation" of CTSS.
Multics Multics ("Multiplexed Information and Computing Service") is an influential early time-sharing operating system based on the concept of a single-level memory.Dennis M. Ritchie, "The Evolution of the Unix Time-sharing System", Communications of t ...
, which was also developed by Project MAC, was started in the 1960s as a successor to CTSS – and in turn inspired the development of Unix in 1969. One of the technical terms inherited by these systems from CTSS is ''
daemon Daimon or Daemon (Ancient Greek: , "god", "godlike", "power", "fate") originally referred to a lesser deity or guiding spirit such as the daimons of ancient Greek religion and Greek mythology, mythology and of later Hellenistic religion and Hell ...
''.
Incompatible Timesharing System Incompatible Timesharing System (ITS) is a time-sharing operating system developed principally by the MIT Artificial Intelligence Laboratory, with help from Project MAC. The name is the jocular complement of the MIT Compatible Time-Sharing Sy ...
(ITS), another early, revolutionary, and influential MIT time-sharing system, was produced by people who disagreed with the direction taken by CTSS, and later, Multics; the name was a
parody A parody, also known as a spoof, a satire, a send-up, a take-off, a lampoon, a play on (something), or a caricature, is a creative work designed to imitate, comment on, and/or mock its subject by means of satiric or ironic imitation. Often its subj ...
of "CTSS", as later the name "Unix" was a parody of "Multics". CTSS and ITS file systems have a number of design elements in common. Both have an M.F.D. (master file directory) and one or more U.F.D. (user file directories). Neither of them have nested directories (sub-directories). Both have file names consisting of two names which are a maximum of six-characters long. Both support linked files.


See also

*
Timeline of operating systems This article presents a timeline of events in the history of computer operating systems from 1951 to the current day. For a narrative explaining the overall developments, see the History of operating systems. 1950s * 1951 ** LEO I 'Lyons Electro ...
*
Time-sharing system evolution This article covers the evolution of time-sharing systems, providing links to major early time-sharing operating systems, showing their subsequent evolution. Time-sharing Time-sharing was first proposed in the mid- to late-1950s and first impleme ...


References


Further reading

* * *


External links


Oral history interview with John McCarthy
Charles Babbage Institute The IT History Society (ITHS) is an organization that supports the history and scholarship of information technology by encouraging, fostering, and facilitating archival and historical research. Formerly known as the Charles Babbage Foundation, ...
, University of Minnesota. Discusses computer developments at MIT including time sharing.
Oral history interview with Fernando J. Corbató
Charles Babbage Institute The IT History Society (ITHS) is an organization that supports the history and scholarship of information technology by encouraging, fostering, and facilitating archival and historical research. Formerly known as the Charles Babbage Foundation, ...
, University of Minnesota. Discusses many computer developments at MIT including CTSS.
Oral history interview with Robert M. Fano
Charles Babbage Institute The IT History Society (ITHS) is an organization that supports the history and scholarship of information technology by encouraging, fostering, and facilitating archival and historical research. Formerly known as the Charles Babbage Foundation, ...
, University of Minnesota. Discusses computer developments at MIT including CTSS.
The IBM 7094 and CTSS
personal memoir of
Tom Van Vleck Tom Van Vleck is an American computer software engineer. Life and work Van Vleck graduated from MIT in 1965 with a BS in Mathematics. He worked on CTSS at MIT, and co-authored its first email program with Noel Morris. In 1965, he joined Proje ...
, a system programmer on CTSS
CTSS Source
version MIT8C0 in Paul Pierce's collection.

– Includes a license-free simulator, cross assembler and linker that can be used to build and run CTSS.
Richard Cornwell's CTSS sources and binaries
which run on
SIMH SIMH is a free and open source, multi-platform multi-system emulator. It is maintained by Bob Supnik, a former DEC engineer and DEC vice president, and has been in development in one form or another since the 1960s. History SIMH was based on ...
. Includes license-freebr>tools

CIO: 40 years of Multics, 1969-2009
Interview with CTSS and Multics developer Fernando J. Corbato. *
Jerome Saltzer Jerome Howard "Jerry" Saltzer (born October 9, 1939) is an American computer scientist. Career Jerry Saltzer received an ScD in Electrical Engineering from MIT in 1966. His dissertation Traffic Control in a Multiplexed System was advised by ...
'
CTSS bookshelf
via
CSAIL Computer Science and Artificial Intelligence Laboratory (CSAIL) is a research institute at the Massachusetts Institute of Technology (MIT) formed by the 2003 merger of the Laboratory for Computer Science (LCS) and the Artificial Intelligence Lab ...
. {{Time-sharing operating systems 1960s software 1970s software Discontinued operating systems Massachusetts Institute of Technology software Time-sharing operating systems