This article covers the evolution of time-sharing systems, providing links to major early time-sharing operating systems, showing their subsequent evolution.
Time-sharing was developed in the late 1950s out of the realization that a single expensive computer could be efficiently utilized if a multitasking, multiprogramming operating system allowed multiple users simultaneous interactive access. Typically an individual user would enter bursts of information followed by long pauses; but with a group of users working at the same time, the pauses of one user would be filled by the activity of the others. Similarly, small slices of time spent waiting for disk, tape, or network input could be granted to other users. Given an optimal group size, the overall process could be very efficient.
Each user would use their own computer terminal, initially electromechanical teleprinters such as the Teletype Model 33 ASR or the Friden Flexowriter; from about 1970 these were progressively superseded by CRT–based units such as the DEC VT05, Datapoint 2200 and Lear Siegler ADM-3A.
Terminals were initially linked to a nearby computer via current loop or serial cables, by conventional telegraph circuits provided by PTTs and over specialist digital leased lines such T1. Modems such as the Bell 103 and successors, allowed remote and higher-speed use over the analogue voice telephone network.
See details and additional systems in the table below. Relationships shown here are for the purpose of grouping entries and do not reflect all influences (e.g., OS/2 was more influenced by VAX/VMS than by MS-DOS, but its legacy is as an x86 platform). The Cambridge Multiple-Access Systemwas the first time-sharing system developed outside the United States.
|• IBM mainframes:|
|CP-40/CMS ⇶ CP[-67]/CMS ⇶||VM/370 ⇶ VM/SE versions ⇶ VM/SP versions ⇶ VM/XA versions ⇶ VM/ESA ⇶ z/VM|
|OS/360 MVT-TSO ⇶ OS/VS2 SVS-TSO ⇶ MVS-TSO ⇶ OS/390-TSO ⇶ z/OS-TSO|
|Transactional systems: CICS, TPF ⇶ z/TPF|
•IBM mainframes with non-IBM operating systems:
|Michigan Terminal System (MTS)|
|Dartmouth Time Sharing System (DTSS)|
| MULTICS → UNIX family ⇉ Linux |
MULTICS → PRIMOS → Domain/OS
MULTICS ⇉ Stratus VOS
• DEC systems:
|BBN Time-Sharing System|
|TOPS-10 → TENEX ⇉ TOPS-20|
|RSX-11M ⇉ VAX/VMS ⇶ VMS ⇶ OpenVMS|
|Incompatible Timesharing System (ITS)|
|Influences: ⇶ derivation ⇉ strong influence → some influence/precedence|
|System||Platform||Dates in use||Developer||Description||Influences: from→ →to|
|ACP||S/360 and S/370||1965-1979||IBM||High-performance mainframe transaction platform used in SABRE and PARS||⇶ TPF ⇶ z/TPF|
|APL ("A Programming Language," also "Iverson's Language")||System/360, others later||1964–present||Kenneth Iverson||Mathematically-oriented language and interactive environment, noted for incredible terseness and powerful set processing operators|
|Berkeley Timesharing System||SDS 940||1964-1972||Project Genie||Early general-purpose||⇉ TENEX|
|Cambridge Multiple-Access System||Titan, the prototype Atlas 2||1967-1973||University of Cambridge and Ferranti||Multiple Access System||Project MAC⇶ ⇶UNIX|
|CANDE||Burroughs large systems||1965?-present||Burroughs||first IDE||(separate evolution)|
|CICS||S/3x0||1969–present||IBM||Ubiquitous mainframe transaction platform; often used with IBM 3270 terminals and COBOL|
|CP-40/CMS||customized S/360-40||1967-1972?||IBM's Cambridge Scientific Center||First implementation of full virtualization|| CTSS→|
|CP-67/CMS||IBM System/360-67||1967-1975?||IBM's Cambridge Scientific Center||Influential precursor to IBM's VM series, widely distributed as open source|| CP-40 ⇶|
⇶ VM/370 ⇶ z/VM
|CTSS ("Compatible Time Sharing System")||modified IBM 7094||1961-1973||MIT Computation Center||First-generation "grandfather" of time-sharing systems|| FMS→ |
→ [numerous other systems]
|DTSS ("Dartmouth Time Sharing System")||GE 200, GE 635, Honeywell 6000 series||1963-1999||Dartmouth College||Early time-sharing system running Dartmouth BASIC and other tools; became the first commercial time-sharing system through General Electric Information Services Division|| FMS→|
→ [numerous other systems]
|ITS ("Incompatible Timesharing System")||PDP-6, PDP-10||1968?-1990||MIT Artificial Intelligence Laboratory||"Subversive" operating system developed to counter direction of CTSS. The original platform for Macsyma, EMACS and other important applications.|| CTSS→|
→ [numerous later systems]
|JOSS ("JOHNNIAC Open Shop System")||JOHNNIAC, PDP-6||1963-1971?||RAND Corporation||Lightweight, interactive computing language for non-specialists; did not distinguish operating system from language||Highly regarded, but no obvious successors|
|Linux||ubiquitous||1991–present||Linus Torvalds, GNU project, open source||Operating system dominating current open source activities|| UNIX ⇉|
→ [numerous other systems]
| Microsoft Windows |
(Windows NT 4.0 Terminal Server Edition)
|x86, IA-64, others||1985–present||Microsoft||Ubiquitous GUI operating system|| MS-DOS ⇉|
|MTS (Michigan Terminal System)||IBM S/360-67, S/370||1967-1999||University of Michigan and 7 other universities||First (Nov. 1967) OS to use the virtual memory features of the S/360-67. Early (Sept. 1968) S/360-67 multiprocessor support.|| CTSS→|
→ UNIX (BSD)
|Multics||GE 645, Honeywell 6180||1969-2000||Project MAC||Rich, important system|| CTSS ⇉|
⇉ [many other systems]
|MVS/TSO||System/370 and successors||1971–present||IBM||Probably the most widely used version of TSO,|
extended version TSO/E,
current version zOS-TSO
|NOS||CDC 60-bit platforms||1976-??||Control Data Corporation||System used on most CDC machines||MACE→⇶ Kronos ⇉|
|NOS/BE||CDC 60-bit platforms||1976-??||Control Data Corporation||System used on most CDC machines||COS ⇶ SCOPE →⇶|
|ORVYL||IBM 9672||1967-??||Stanford University||Early time-sharing system; source of the WYLBUR editor later used on System/370 platforms|
|OS/2 (as Citrix Multiuser)||x86||1987–present||IBM/Microsoft||Joint OS effort, now moribund. Still available as eComStation and ArcaOS.|| DOS ⇶ Microsoft Windows ⇉ OS/2|
⇶ ArcaOS 5.0
|ROSCOE||System/360 and successors||1969-present||Applied Data Research (ADR)||Early time-sharing editor environment, often used as an alternative to TSO||⇶ WRAP|
|RSTS/E||PDP-11||1972-1992+||DEC||General-purpose time-sharing for the PDP-11|
|RSX-11||PDP-11||1972-??||DEC||Real-time operating system for the PDP-11||⇶ IAS|
|Smalltalk [ citation needed ]||Xerox Alto, later made portable||1972–present||Xerox PARC, successors||Seminal system for experimental programming, responsible for many modern user interface concepts||⇉ Apple Lisa |
⇉ Apple Macintosh
⇉ Microsoft Windows
⇉ [all GUI platforms]
|Stratus VOS||i860, x86, PA-RISC, 68k||1980?-present||Stratus Technologies||High-availability fault-tolerant transaction processing||MULTICS ⇉|
|TENEX||PDP-10||1970?-??||Bolt Beranek and Newman||Influential system widely used at research and government sites||⇉ TOPS-20 |
|TOPS-10||PDP-10||1970-1988? (as TOPS-10)|
1964-1970 (as PDP-6 Monitor)
|DEC||Widely used at research and academic sites||PDP-6 Monitor ⇶|
|TOPS-20||DECsystem 20||1976-??||DEC||Successor to TOPS-10 but more like TENEX|| TENEX→|
|IBM||High-performance mainframe transaction platform, successor to ACP, still available as z/TPF|| ACP ⇶|
|TSOS||RCA Spectra 70 and successors||1968-today||RCA||Early general purpose mainframe OS|
|TSS-8||PDP-8||1967–??||DEC||Simple minicomputer OS||→ RSTS/E|
| TSS/360 |
|IBM System/360-67 and successors||1967-1971?||IBM||IBM's original "official" time-sharing system; not a success|| CTSS→|
|Unisys/UNIVAC EXEC 8|| UNIVAC 1108 |
|1964–present||Sperry-Rand et al.||Many universities |
and government agencies were early users
| EXEC 8 ⇶ OS 1100 ⇶|
|UNIX and derivative systems||ubiquitous||1969–present||Bell Laboratories and successors||Ultimately dominated operating system thought, in both proprietary and open-source descendants|| Multics ⇉|
| VM/370 |
|System/370 and successors||1972-1988|
|IBM||Proprietary reimplementation of CP/CMS, still available as z/VM|| CP-40 ⇶ CP-67 ⇶|
⇶ VM/ESA ⇶ z/VM
|VMS and OpenVMS||VAX/VMS, IA-64, DEC Alpha||1977–present||DEC||Popular DEC operating system|| TENEX→ |
⇉ Windows NT
|VP/CSS||IBM System/360-67, System/370 and successors||1968-1986?||National CSS||Proprietary fork of CP/CMS developed by a time-sharing vendor||CP/CMS ⇶|
|WYLBUR||System/370 and successors||1967-2009?||Stanford University||Popular editor system originally from ORVYL, used under OS/VS as an alternative to TSO||⇶ SuperWylbur|
In computing, multitasking is the concurrent execution of multiple tasks over a certain period of time. New tasks can interrupt already started ones before they finish, instead of waiting for them to end. As a result, a computer executes segments of multiple tasks in an interleaved manner, while the tasks share common processing resources such as central processing units (CPUs) and main memory. Multitasking automatically interrupts the running program, saving its state and loading the saved state of another program and transferring control to it. This "context switch" may be initiated at fixed time intervals, or the running program may be coded to signal to the supervisory software when it can be interrupted.
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
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.
Computerized batch processing is the running of "jobs that can run without end user interaction, or can be scheduled to run as resources permit."
The CDC 6600 was the flagship of the 6000 series of mainframe computer systems manufactured by Control Data Corporation. Generally considered to be the first successful supercomputer, it outperformed the industry's prior recordholder, the IBM 7030 Stretch, by a factor of three. With performance of up to three megaFLOPS, the CDC 6600 was the world's fastest computer from 1964 to 1969, when it relinquished that status to its successor, the CDC 7600.
The Michigan Terminal System (MTS) is one of the first time-sharing computer operating systems. Developed in 1967 at the University of Michigan for use on IBM S/360-67, S/370 and compatible mainframe computers, it was developed and used by a consortium of eight universities in the United States, Canada, and the United Kingdom over a period of 33 years.
The Conversational Monitor System is a simple interactive single-user operating system. CMS was originally developed as part of IBM's CP/CMS operating system, which went into production use in 1967. CMS is part of IBM's VM family, which runs on IBM mainframe computers. VM was first announced in 1972, and is still in use today as z/VM.
MUSIC/SP was developed at McGill University in the 1970s from an early IBM time-sharing system called RAX. The system ran on IBM S/360, S/370, and 4300-series mainframe hardware, and offered novel features such as file access control and data compression. It was designed to allow academics and students to create and run their programs interactively on terminals, in an era when most mainframe computing was still being done from punched cards. Over the years, development continued and the system evolved to embrace email, the Internet and eventually the World Wide Web. At its peak in the late 1980s, there were over 250 universities, colleges and high school districts that used the system in North and South America, Europe and Asia.
The Advanced Research Projects Agency Network (ARPANET) was the first wide-area packet-switched network with distributed control and one of the first networks to implement the TCP/IP protocol suite. Both technologies became the technical foundation of the Internet. The ARPANET was established by the Advanced Research Projects Agency (ARPA) of the United States Department of Defense.
The Compatible Time-Sharing System (CTSS) was one of the first time-sharing operating systems; it was developed at the MIT Computation Center. CTSS was first demonstrated on MIT's IBM 709 in November 1961; service to MIT users began in the summer of 1963 and was operated until 1973. During part of this time, MIT's influential Project MAC also ran a CTSS service, but the system did not spread beyond these two sites.
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 System (CTSS).
Dartmouth BASIC is the original version of the BASIC programming language. It was designed by two professors at Dartmouth College, John G. Kemény and Thomas E. Kurtz. With the underlying Dartmouth Time Sharing System (DTSS), it offered an interactive programming environment to all undergraduates as well as the larger university community.
The Dartmouth Time-Sharing System (DTSS) is a discontinued operating system first developed at Dartmouth College between 1963 and 1964. It was the first successful large-scale time-sharing system to be implemented, and was also the system for which the BASIC language was developed. DTSS was developed continually over the next decade, reimplemented on several generations of computers, and finally shut down in 1999.
PLATO was the first generalized computer-assisted instruction system. Starting in 1960, it ran on the University of Illinois' ILLIAC I computer. By the late 1970s, it supported several thousand graphics terminals distributed worldwide, running on nearly a dozen different networked mainframe computers. Many modern concepts in multi-user computing were originally developed on PLATO, including forums, message boards, online testing, e-mail, chat rooms, picture languages, instant messaging, remote screen sharing, and multiplayer video games.
NLS, or the "oN-Line System", was a revolutionary computer collaboration system developed in the 1960s. Designed by Douglas Engelbart and implemented by researchers at the Augmentation Research Center (ARC) at the Stanford Research Institute (SRI), the NLS system was the first to employ the practical use of hypertext links, the mouse, raster-scan video monitors, information organized by relevance, screen windowing, presentation programs, and other modern computing concepts. It was funded by ARPA, NASA, and the US Air Force.
The CDC 6000 series was a family of mainframe computers manufactured by Control Data Corporation in the 1960s. It consisted of the CDC 6200, CDC 6300, CDC 6400, CDC 6500, CDC 6600 and CDC 6700 computers, which were all extremely rapid and efficient for their time. Each was a large, solid-state, general-purpose, digital computer that performed scientific and business data processing as well as multiprogramming, multiprocessing, Remote Job Entry, time-sharing, and data management tasks under the control of the operating system called SCOPE. By 1970 there also was a time-sharing oriented operating system named KRONOS. They were part of the first generation of supercomputers. The 6600 was the flagship of Control Data's 6000 series.
CP-40 was a research precursor to CP-67, which in turn was part of IBM's then-revolutionary CP[-67]/CMS – a virtual machine/virtual memory time-sharing operating system for the IBM System/360 Model 67, and the parent of IBM's VM family. CP-40 ran multiple instances of client operating systems – particularly CMS, the Cambridge Monitor System, built as part of the same effort. Like CP-67, CP-40 and the first version of CMS were developed by IBM's Cambridge Scientific Center (CSC) staff, working closely with MIT researchers at Project MAC and Lincoln Laboratory. CP-40/CMS production use began in January 1967. CP-40 ran on a unique, specially modified IBM System/360 Model 40.
The CDC 1700 was a 16-bit word minicomputer, manufactured by the Control Data Corporation with deliveries beginning in May 1966.
The history of operating systems running on IBM mainframes is a notable chapter of history of mainframe operating systems, because of IBM's long-standing position as the world's largest hardware supplier of mainframe computers.
An asymmetric multiprocessing system is a multiprocessor computer system where not all of the multiple interconnected central processing units (CPUs) are treated equally. For example, a system might allow only one CPU to execute operating system code or might allow only one CPU to perform I/O operations. Other AMP systems might allow any CPU to execute operating system code and perform I/O operations, so that they were symmetric with regard to processor roles, but attached some or all peripherals to particular CPUs, so that they were asymmetric with respect to the peripheral attachment.