Time-sharing system evolution

{{Original research|date=May 2024}}

This article covers the evolution of time-sharing systems, providing links to major early time-sharing operating systems, showing their subsequent evolution.

The meaning of the term time-sharing has shifted from its original usage. From 1949 to 1960, time-sharing was used to refer to multiprogramming; it evolved to mean multi-user interactive computing.

Time-sharing

{{Main|Time-sharing}}

Time-sharing was first proposed in the mid- to late-1950s and first implemented in the early 1960s. The concept was born out of the realization that a single expensive computer could be efficiently utilized by enabling multiprogramming, and, later, by allowing multiple users simultaneous interactive access.{{cite journal |last1=Lee |first1=J.A.N. |last2=Rosin |first2=Robert F |date=1992 |title=Time-Sharing at MIT |url=https://archive.org/details/time-sharing-at-mit |journal=IEEE Annals of the History of Computing |volume=14 |issue=1 |pages=16 |doi=10.1109/85.145316 |s2cid=30976386 |access-date=October 3, 2022}} In 1984, Christopher Strachey wrote he considered the change in the meaning of the term time-sharing to be a source of confusion and not what he meant when he wrote his original paper in 1959.{{cite journal |last=Lee |first=J.A.N. |date=1992 |url=https://archive.org/details/time-sharing-at-mit |title=Claims to the Term "Time-Sharing" |journal=IEEE Annals of the History of Computing |volume=14 |issue=1 |page=17 |doi=10.1109/85.145316 |s2cid=30976386 |access-date=October 3, 2022 |quote=I did not envisage the sort of console system which is now so confusingly called time-sharing.}}{{cite book |first1=F. J. |last1=Corbató |author-link1=Fernando J. Corbató |first2=M. M. |last2=Daggett |first3=R. C. |last3=Daley |first4=R. J. |last4=Creasy |first5=J. D. |last5=Hellwig |first6=R. H. |last6=Orenstein |first7=L. K. |last7=Korn |url=http://www.bitsavers.org/pdf/mit/ctss/CTSS_ProgrammersGuide.pdf |title=The Compatible Time-Sharing System A Programmer's Guide |publisher=MIT Press |date=1963 |isbn=978-0-262-03008-3 |quote=To establish the context of the present work, it is informative to trace the development of time-sharing at MIT. Shortly after the first paper on time-shared computers by C. Strachey at the June 1959 UNESCO Information Processing conference, H.M. Teager and J. McCarthy delivered an unpublished paper "Time-Shared Program Testing" at the August 1959 ACM Meeting.}}

Without time-sharing, 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.{{Refn|Application of this concept to data communication led Donald Davies to the idea of packet switching after seminar he gave on time-sharing in the Autumn of 1965, attended by several people working on Project MAC at MIT.{{cite web|last1=Roberts|first1=Dr. Lawrence G.|title=The Evolution of Packet Switching|url=http://www.packet.cc/files/ev-packet-sw.html|access-date=5 September 2017|date=November 1978|quote=Almost immediately after the 1965 meeting, Donald Davies conceived of the details of a store-and-forward packet switching system|archive-url=https://web.archive.org/web/20160324033133/http://www.packet.cc/files/ev-packet-sw.html|archive-date=March 24, 2016|url-status=dead}}{{cite web|last1=Roberts|first1=Dr. Lawrence G.|title=The ARPANET & Computer Networks|url=http://www.packet.cc/files/arpanet-computernet.html|access-date=13 April 2016|date=May 1995|archive-url=https://web.archive.org/web/20160324032800/http://www.packet.cc/files/arpanet-computernet.html|archive-date=March 24, 2016|url-status=dead}}|group=note}}

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. The Cambridge Multiple-Access System{{Citation | last = Hartley | first = D. F. | author-link = David Hartley (computer scientist) | title = The Cambridge multiple-access system: user's reference manual | place = Cambridge | publisher = Cambridge Univ. Press | year = 1968 | isbn = 978-0901224002 }}{{Citation | last1 = Wilkes | first1 = M. | author-link1 = Maurice Wilkes | last2 = Needham | first2 = R. | author2-link = Roger Needham | title = The Design of Multiple-Access Computer Systems: Part 2 | journal = The Computer Journal | volume = 10 | issue = 4 | pages = 315–320 | year = 1968 | url = http://comjnl.oxfordjournals.org/content/10/4/315.full.pdf | doi=10.1093/comjnl/10.4.315| doi-access = free }} was the first time-sharing system developed outside the United States.

style="border:2px solid; text-align:left; vertical-align:middle; margin:6pt; padding:6pt"

|+ Family tree of major time-sharing operating system families
Influences:     ⇶ derivation     ⇉ strong influence     → some influence/precedence

rowspan="99" style="border-right:1px solid" | CTSS  →  
colspan="99" style="border-bottom:1px solid" | •IBM mainframes:
rowspan="2" style="border-right:1px solid" | CP-40/CMS CP[-67]/CMS ⇶  

| colspan="99" |  VM/370 ⇶ VM/SE versions ⇶ VM/SP versions ⇶ VM/XA versions ⇶ VM/ESAz/VM

 VP/CSS
colspan="99" style="border-top:1px solid" | TSS/360
colspan="99" style="border-top:1px solid" | OS/360 MVT-TSOOS/VS2 SVS-TSOMVS-TSOOS/390-TSOz/OS-TSO
colspan="99" style="border-top:1px solid" | Transactional systems: CICS, TPFz/TPF
colspan="99" style="border-bottom:1px solid" |
IBM mainframes with non-IBM operating systems:
colspan="99" |   Michigan Terminal System (MTS)
colspan="99" |   MUSIC/SP
colspan="99" |   ORVYL
colspan="99" style="border-bottom:1px solid" |
DTSS/Multics family:
colspan="99" |   Dartmouth Time-Sharing System (DTSS)
colspan="99" |   MULTICSUNIX family — see also UNIX
  MULTICSPRIMOSDomain/OS
  MULTICSStratus VOS
colspan="99" style="border-bottom:1px solid" |
DEC systems:
colspan="99" |   BBN Time-Sharing System
colspan="99" |   TOPS-10TENEX  ⇉  TOPS-20
colspan="99" |   RSTS/E
colspan="99" |   RSX-11MVMSMICA
colspan="99" |   Incompatible Timesharing System (ITS)
colspan="99" style="border-bottom:1px solid" |
UNIX:
colspan="99" |   UNIX familyLinux{{cite conference |last=Ritchie |first=Dennis M. |author-link=Dennis Ritchie |year=1977 |title=The Unix Time-sharing System: A retrospective |conference=Tenth Hawaii International Conference on the System Sciences |url=https://www.bell-labs.com/usr/dmr/www/retro.pdf |quote=a good case can be made that UNIX is in essence a modern implementation of MIT’s CTSS system}}{{cite book |last=Seibel |first=Peter |year=2009 |title=Coders at work : reflections on the craft of programming |location=New York |publisher=Apress |page=463 |isbn=9781430219491 |quote=The things that I [Ken Thompson] liked [about Multics] enough to actually take were the hierarchical file system and the shell}}

System descriptions and relationships

class="wikitable sortable" style="font-size: smaller; text-align: center; width: 100%; table-layout: fixed;"

|+ Important time-sharing systems, 1960–1990 (and successors); listed alphabetically

colspan="6" | 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

| ⇶ TPFz/TPF

APL ("A Programming Language," also "Iverson's Language")

| System/360, others later{{cite web |last1=McDonnell |first1=Eugene |title=The Socio-Technical Beginnings of APL |url=http://www.jsoftware.com/papers/eem/socio.htm |accessdate=18 January 2019}}

| 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, Burroughs Medium 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/370z/VM

CTSS ("Compatible Time Sharing System")

| modified IBM 7090 and 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
(Remote Desktop Services)

| x86, IA-64, others

| 1985–present

| Microsoft

| Ubiquitous GUI operating system

| MS-DOS
OS/2
VMSMICA
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{{cite web |url=http://bitsavers.org/pdf/cdc/cyber/CDC_Operating_System_History_Mar76.pdf |title=A partial history of CDC Operating Systems |date=March 1976}}

| MACE→⇶ Kronos

NOS/BE

| CDC 60-bit platforms

| 1976-??

| Control Data Corporation

| System used on most CDC machines

| COSSCOPE →⇶

ORVYL

| IBM System/360 Model 67, IBM System/370, and successors

| 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[http://archive.computerhistory.org/resources/access/text/Oral_History/102658239.05.01.acc.pdf Oral History of Martin A. Goetz], 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 {{Webarchive|url=https://web.archive.org/web/20120324211926/http://archive.computerhistory.org/resources/access/text/Oral_History/102658239.05.01.acc.pdf |date=2012-03-24 }}

| ⇶ 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|date=December 2019}}

| 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-40CP-67
VM/ESAz/VM

OpenVMS

| VAX, IA-64, DEC Alpha, x86-64

| 1977–present

| DEC

| Popular DEC operating system

| TENEX
RSX-11M
MICAWindows 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

See also

Notes

{{Reflist|group=note}}

References

{{Reflist}}

{{Time-sharing operating systems}}

Category:History of software

Time-sharing system evolution