This article possibly contains original research .(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 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.
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.
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 family: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dartmouth Time-Sharing System (DTSS) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MULTICS → UNIX family — see also UNIX MULTICS → PRIMOS → Domain/OS MULTICS ⇉ Stratus VOS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
• DEC systems: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BBN Time-Sharing System | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TOPS-10 → TENEX ⇉ TOPS-20 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RSTS/E | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RSX-11M ⇉ VMS ⇶ MICA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Incompatible Timesharing System (ITS) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
• UNIX: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UNIX family ⇉ Linux [8] [9] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 [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-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/370 ⇶ z/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 ⇉ VMS ⇉ MICA ⇉ 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 [11] | MACE→⇶ Kronos ⇉ |
NOS/BE | CDC 60-bit platforms | 1976-?? | Control Data Corporation | System used on most CDC machines [11] | COS ⇶ SCOPE →⇶ |
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 [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 ⇉ 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 |
OpenVMS | VAX, IA-64, DEC Alpha, x86-64 | 1977–present | DEC | Popular DEC operating system | TENEX→ RSX-11M ⇉ ⇉ MICA ⇉ 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.
In computing, time-sharing is the concurrent sharing of a computing resource among many tasks or users by giving each task or user a small slice of processing time. This quick switch between tasks or users gives the illusion of simultaneous execution. It enables multi-tasking by a single user or enables multiple-user sessions.
In telecommunications, packet switching is a method of grouping data into short messages in fixed format, i.e. 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.
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.
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 of the United States Department of Defense.
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.
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.
Donald Watts Davies, was a Welsh computer scientist and Internet pioneer who was employed at the UK National Physical Laboratory (NPL).
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 and for coining terms such as polymorphism and referential transparency that are still widely used by developers today. 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.
Louis Pouzin is a French computer scientist and Internet pioneer. He directed the development of the CYCLADES computer network in France the early 1970s, which implemented a novel design for packet communication. He was the first to implement the end-to-end principle in a wide-area network, which became fundamental to the design of the Internet.
Larry Roberts was an American computer scientist and Internet pioneer.
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.
This article covers the History of CP/CMS — the historical context in which the IBM time-sharing virtual machine operating system was built.
Alexander G. Fraser, also known as A. G. Fraser and Sandy Fraser, was a noted British-American computer scientist and the former Chief Scientist of AT&T.
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.
The NPL network, or NPL Data Communications Network, was a local area computer network operated by a team from the National Physical Laboratory (NPL) 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.
David Corydon Walden was an American computer scientist and Internet pioneer who contributed to the engineering development of the ARPANET, a precursor of the modern Internet. He specifically contributed to the Interface Message Processor, which was the packet switching node for the ARPANET. Walden was a contributor to IEEE Computer Society's Annals of the History of Computing and was a member of the TeX Users Group.
I did not envisage the sort of console system which is now so confusingly called time-sharing.
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.
Almost immediately after the 1965 meeting, Donald Davies conceived of the details of a store-and-forward packet switching system
a good case can be made that UNIX is in essence a modern implementation of MIT's CTSS system
The things that I [Ken Thompson] liked [about Multics] enough to actually take were the hierarchical file system and the shell