Time-sharing system evolution

Last updated

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 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. [1] 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. [2] [3]

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. [note 1]

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 [6] [7] was the first time-sharing system developed outside the United States.

Family tree of major time-sharing operating system families
Influences:     ⇶ derivation     ⇉ strong influence     → some influence/precedence
IBM mainframes:
CP-40/CMS CP[-67]/CMS   VM/370 ⇶ VM/SE versions ⇶ VM/SP versions ⇶ VM/XA versions ⇶ VM/ESAz/VM
Transactional systems: CICS, TPFz/TPF

IBM mainframes with non-IBM operating systems:
   Michigan Terminal System (MTS)

   Dartmouth Time Sharing System (DTSS)
   UNIX family [8] [9]
   MULTICSUNIX familyLinux

DEC systems:
   BBN Time-Sharing System
   TOPS-10TENEX    TOPS-20
   Incompatible Timesharing System (ITS)

System descriptions and relationships

Important time-sharing systems, 1960–1990 (and successors); listed alphabetically
Influences:    ⇶ derivation    ⇉ strong influence    → some influence/precedence
SystemPlatformDates in useDeveloperDescriptionInfluences: from   to
ACP S/360 and S/3701965–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 [10] 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-purposeTENEX
Cambridge Multiple-Access System Titan, the prototype Atlas 21967–1973 University of Cambridge and Ferranti Multiple Access System Project MAC⇶ ⇶UNIX
CANDE Burroughs Large Systems, Burroughs Medium Systems 1965?–presentBurroughsfirst IDE(separate evolution)
CICS S/3x01969–present IBM Ubiquitous mainframe transaction platform; often used with IBM 3270 terminals and COBOL
CP-40/CMS customized S/360-401967–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
CTSS ("Compatible Time Sharing System")modified IBM 7094 1961–1973 MIT Computation CenterFirst-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 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 languageHighly regarded, but no obvious successors
Linux ubiquitous1991–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, others1985–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
Multics GE 645, Honeywell 6180 1969–2000 Project MAC Rich, important system CTSS
⇉ [many other systems]
MVS/TSO System/370 and successors1971–present IBM Probably the most widely used version of TSO,
extended version TSO/E,
current version zOS-TSO
⇶ z/OS-TSO
NOS CDC 60-bit platforms1976-?? Control Data Corporation System used on most CDC machines [11] MACE→⇶ Kronos
NOS/BE CDC 60-bit platforms1976-?? Control Data Corporation System used on most CDC machines [11] COSSCOPE →⇶
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 successors1969–present Applied Data Research (ADR)Early time-sharing editor environment, often used as an alternative to TSO [12] ⇶ 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 portable1972–present Xerox PARC, successorsSeminal system for experimental programming, responsible for many modern user interface conceptsApple 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 sitesTOPS-20
TOPS-10 PDP-10 1970–1988? (as TOPS-10)
1964–1970 (as PDP-6 Monitor)
DEC Widely used at research and academic sitesPDP-6 Monitor ⇶
TOPS-20 DECsystem 20 1976-?? DEC Successor to TOPS-10 but more like TENEX TENEX
TPF S/3x01979–present (TPF)
IBM High-performance mainframe transaction platform, successor to ACP, still available as z/TPF ACP
TSOS RCA Spectra 70 and successors1968-today RCA Early general purpose mainframe OS
TSS-8 PDP-8 1967–?? DEC Simple minicomputer OSRSTS/E
IBM System/360-67 and successors1967–1971? IBM IBM's original "official" time-sharing system; not a success CTSS
⇶ TSS/370
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 systemsubiquitous1969–present Bell Laboratories and successorsUltimately dominated operating system thought, in both proprietary and open-source descendants Multics
System/370 and successors1972–1988
2000–present (z/VM)
IBM Proprietary reimplementation of CP/CMS, still available as z/VM CP-40CP-67
OpenVMS VAX, IA-64, DEC Alpha, x86-64 1977–present DEC Popular DEC operating system TENEX
MICAWindows NT
VP/CSS IBM System/360-67, System/370 and successors1968–1986? National CSS Proprietary fork of CP/CMS developed by a time-sharing vendor CP/CMS
WYLBUR System/370 and successors1967–2009? Stanford University Popular editor system originally from ORVYL, used under OS/VS as an alternative to TSO⇶ SuperWylbur

See also


  1. 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. [4] [5]

Related Research Articles

<span class="mw-page-title-main">Computer multitasking</span> Concurrent execution of multiple processes

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.

Internetworking is the practice of interconnecting multiple computer networks, such that any pair of hosts in the connected networks can exchange messages irrespective of their hardware-level networking technology. The resulting system of interconnected networks are called an internetwork, or simply an internet.

<span class="mw-page-title-main">Time-sharing</span> Computing resource shared by concurrent users

In computing, time-sharing is the sharing of a computing resource among many tasks or users. It enables multi-tasking by a single user or enables multiple user sessions.

<span class="mw-page-title-main">Packet switching</span> Method for transmitting data over a computer network

In telecommunications, packet switching is a method of grouping data into packets that are transmitted over a digital network. Packets are made of a header and a payload. Data in the header is used by networking hardware to direct the packet to its destination, where the payload is extracted and used by an operating system, application software, or higher layer protocols. Packet switching is the primary basis for data communications in computer networks worldwide.

<span class="mw-page-title-main">Timeline of computing 1950–1979</span>

This article presents a detailed timeline of events in the history of computing from 1950 to 1979. For narratives explaining the overall developments, see the history of computing.

<span class="mw-page-title-main">ARPANET</span> Early packet switching network (1969–1990), one of the first to implement TCP/IP

The Advanced Research Projects Agency Network (ARPANET) was the first wide-area packet-switched network with distributed control and one of the first computer 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.

<span class="mw-page-title-main">Compatible Time-Sharing System</span> Computer operating system

The Compatible Time-Sharing System (CTSS) was the first general purpose time-sharing operating system. Compatible Time Sharing referred to time sharing which was compatible with batch processing; it could offer both time sharing and batch processing concurrently.

<span class="mw-page-title-main">J. C. R. Licklider</span> American psychologist and computer scientist (1915-1990)

Joseph Carl Robnett Licklider, known simply as J. C. R. or "Lick", was an American psychologist and computer scientist who is considered to be among the most prominent figures in computer science development and general computing history.

<span class="mw-page-title-main">Donald Davies</span> Welsh computer scientist (1924–2000)

Donald Watts Davies, was a Welsh computer scientist who was employed at the UK National Physical Laboratory (NPL).

<span class="mw-page-title-main">Christopher Strachey</span> British computer scientist (1916–1975)

Christopher S. Strachey 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. He has also been credited as possibly being the first developer of a video game. He was a member of the Strachey family, prominent in government, arts, administration, and academia.

The CYCLADES computer network was a French research network created in the early 1970s. It was one of the pioneering networks experimenting with the concept of packet switching and, unlike the ARPANET, was explicitly designed to facilitate internetworking.

<span class="mw-page-title-main">Louis Pouzin</span> French computer scientist (born 1931)

Louis Pouzin is a French computer scientist. He designed a pioneering packet communications network, CYCLADES that was the first to implement the end-to-end principle, which became fundamental to the design of the Internet.

<span class="mw-page-title-main">Lawrence Roberts (scientist)</span> American electrical engineer and Internet pioneer

Lawrence Gilman Roberts was an American engineer who received the Draper Prize in 2001 "for the development of the Internet", and the Principe de Asturias Award in 2002.

<span class="mw-page-title-main">Computer network</span> Network that allows computers to share resources and communicate with each other

A computer network is a set of computers sharing resources located on or provided by network nodes. Computers use common communication protocols over digital interconnections to communicate with each other. These interconnections are made up of telecommunication network technologies based on physically wired, optical, and wireless radio-frequency methods that may be arranged in a variety of network topologies.

<span class="mw-page-title-main">IBM CP-40</span> IBM experimental operating system

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.

This article covers the History of CP/CMS — the historical context in which the IBM time-sharing virtual machine operating system was built.

<span class="mw-page-title-main">David Hartley (computer scientist)</span> British computer scientist

David Fielding Hartley FBCS is a computer scientist and Fellow of Clare College, Cambridge. He was Director of the University of Cambridge Computing Service from 1970–1994, Chief Executive of United Kingdom Joint Academic Network (JANET) 1994–1997, and Executive Director of Cambridge Crystallographic Data Centre (CCDC) 1997–2002. He is now much involved with the National Museum of Computing.

<span class="mw-page-title-main">NPL network</span> Historical network in England pioneering packet switching

The NPL network, or NPL Data Communications Network, was a local area computer network operated by a team from the National Physical Laboratory in London that pioneered the concept of packet switching.

Security and Privacy in Computer Systems is a paper by Willis Ware that was first presented to the public at the 1967 Spring Joint Computer Conference.


  1. Lee, J.A.N.; Rosin, Robert F (1992). "Time-Sharing at MIT". IEEE Annals of the History of Computing. 14 (1): 16. doi:10.1109/85.145316. S2CID   30976386 . Retrieved October 3, 2022.
  2. Lee, J.A.N. (1992). "Claims to the Term "Time-Sharing"". IEEE Annals of the History of Computing. 14 (1): 17. doi:10.1109/85.145316. S2CID   30976386 . Retrieved October 3, 2022. I did not envisage the sort of console system which is now so confusingly called time-sharing.
  3. Corbató, F. J.; Daggett, M. M.; Daley, R. C.; Creasy, R. J.; Hellwig, J. D.; Orenstein, R. H.; Korn, L. K. (1963). The Compatible Time-Sharing System A Programmer's Guide (PDF). MIT Press. ISBN   978-0-262-03008-3. 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.
  4. Roberts, Dr. Lawrence G. (November 1978). "The Evolution of Packet Switching". Archived from the original on March 24, 2016. Retrieved 5 September 2017. Almost immediately after the 1965 meeting, Donald Davies conceived of the details of a store-and-forward packet switching system
  5. Roberts, Dr. Lawrence G. (May 1995). "The ARPANET & Computer Networks". Archived from the original on March 24, 2016. Retrieved 13 April 2016.
  6. Hartley, D. F. (1968), The Cambridge multiple-access system: user's reference manual, Cambridge: Cambridge Univ. Press, ISBN   978-0901224002
  7. 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
  8. Ritchie, Dennis M. (1977). The Unix Time-sharing System: A retrospective (PDF). Tenth Hawaii International Conference on the System Sciences. a good case can be made that UNIX is in essence a modern implementation of MIT's CTSS system
  9. Seibel, Peter (2009). Coders at work : reflections on the craft of programming. New York: Apress. p. 463. ISBN   9781430219491. The things that I [Ken Thompson] liked [about Multics] enough to actually take were the hierarchical file system and the shell
  10. McDonnell, Eugene. "The Socio-Technical Beginnings of APL" . Retrieved 18 January 2019.
  11. 1 2 "A partial history of CDC Operating Systems" (PDF). March 1976.
  12. 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 Archived 2012-03-24 at the Wayback Machine