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 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.
Family tree of major systems[]
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 System[1][2] was the first time-sharing system developed outside the United States.
CTSS → | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
•IBM mainframes: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CP-40/CMS ⇶ CP[-67]/CMS ⇶ | VM/370 ⇶ VM/SE versions ⇶ VM/SP versions ⇶ VM/XA versions ⇶ VM/ESA ⇶ z/VM | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VP/CSS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TSS/360 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MUSIC/SP | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ORVYL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
•DTSS/MULTICS/UNIX family: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RSTS/E | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RSX-11M ⇉ VAX/VMS ⇶ OpenVMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Incompatible Timesharing System (ITS) |
System descriptions and relationships[]
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[3] | 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 |
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 ⇶ ⇶ VP/CSS ⇶ 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→ ⇉ CP-40 ⇉ Multics ⇉ ITS → [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→ ⇉ CP-40 ⇉ Multics ⇉ ITS → [numerous other systems] |
ITS ("Incompatible Timesharing System") | PDP-6, PDP-10 | 1967-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 ⇉ minix ⇉ → [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 ⇉ OS/2 ⇉ VMS ⇉ Smalltalk ⇉ |
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→ DTSS→ → UNIX (BSD) |
Multics | GE 645, Honeywell 6180 | 1969-2000 | Project MAC | Rich, important system | CTSS ⇉ ⇉ UNIX ⇉ [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 |
CTSS→ TSS/360→ ⇶ z/OS-TSO |
NOS | CDC 60-bit platforms | 1976-?? | Control Data Corporation | System used on most CDC machines[4] | MACE→⇶ Kronos ⇉ |
NOS/BE | CDC 60-bit platforms | 1976-?? | Control Data Corporation | System used on most CDC machines[4] | 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 ⇶ eComStation ⇶ 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[5] | ⇶ 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 ⇉ VMS |
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 ⇉ VMS |
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 ⇶ → TENEX ⇉ CP/M |
TOPS-20 | DECsystem 20 | 1976-?? | DEC | Successor to TOPS-10 but more like TENEX | TENEX→ TOPS-10→ |
TPF | S/3x0 | 1979–present (TPF) 2005–present(z/TPF) |
IBM | High-performance mainframe transaction platform, successor to ACP, still available as z/TPF | ACP ⇶ ⇶ z/TPF |
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 TSS/370 |
IBM System/360-67 and successors | 1967-1971? | IBM | IBM's original "official" time-sharing system; not a success | CTSS→ ⇶ TSS/370 |
Unisys/UNIVAC EXEC 8 | UNIVAC 1108 and successors |
1964–present | Sperry-Rand et al. | Many universities and government agencies were early users |
EXEC 8 ⇶ OS 1100 ⇶ OS 2200 |
UNIX and derivative systems | ubiquitous | 1969–present | Bell Laboratories and successors | Ultimately dominated operating system thought, in both proprietary and open-source descendants | Multics ⇉ ⇉ Linux |
VM/370 VM/SE VM/SP |
System/370 and successors | 1972-1988 2000–present (z/VM) |
IBM | Proprietary reimplementation of CP/CMS, still available as z/VM | CP-40 ⇶ CP-67 ⇶ ⇶ VM/ESA ⇶ z/VM |
VMS and OpenVMS | VAX, IA-64, DEC Alpha, x86-64 | 1977–present | DEC | Popular DEC operating system | TENEX→ RSX-11M ⇉ ⇉ Windows NT ⇉ OS/2 |
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 |
See also[]
- History of CP/CMS has many period details and sources.
- Timeline of operating systems
References[]
- ^ Hartley, D. F. (1968), The Cambridge multiple-access system: user's reference manual, Cambridge: Cambridge Univ. Press, ISBN 978-0901224002
- ^ Wilkes, M.; Needham, R. (1968), "The Design of Multiple-Access Computer Systems: Part 2" (PDF), The Computer Journal, 10 (4): 315–320, doi:10.1093/comjnl/10.4.315
- ^ McDonnell, Eugene. "The Socio-Technical Beginnings of APL". Retrieved 18 January 2019.
- ^ Jump up to: a b "A partial history of CDC Operating Systems", March 1976
- ^ Oral History of Martin A. Goetz Archived 2012-03-24 at the Wayback Machine, co-founder of Applied Data Research (ADR), interviewed by: Burt Grad and Luanne Johnson, December 10, 1985 at Princeton, New Jersey, Computer History Museum Reference No. X4579.2008
- History of software
- Time-sharing operating systems