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.

Contents

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 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. The Cambridge Multiple-Access System [1] [2] 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
CTSS   
IBM mainframes:
CP-40/CMS CP[-67]/CMS   VM/370 ⇶ VM/SE versions ⇶ VM/SP versions ⇶ VM/XA versions ⇶ VM/ESAz/VM
  VP/CSS
TSS/360
OS/360 MVT-TSOOS/VS2 SVS-TSOMVS-TSOOS/390-TSOz/OS-TSO
Transactional systems: CICS, TPFz/TPF

IBM mainframes with non-IBM operating systems:
   Michigan Terminal System (MTS)
   MUSIC/SP
   ORVYL

DTSS/MULTICS/UNIX family:
   Dartmouth Time Sharing System (DTSS)
   UNIX family [3] [4]
   MULTICSUNIX familyLinux
   MULTICSPRIMOSDomain/OS
   MULTICSStratus VOS

DEC systems:
   BBN Time-Sharing System
   TOPS-10TENEX    TOPS-20
   RSTS/E
   RSX-11MVMSMICA
   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 [5] 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
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 7094 1961-1973 MIT Computation CenterFirst-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 languageHighly regarded, but no obvious successors
Linux ubiquitous1991–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, others1985–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 successors1971–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 platforms1976-?? Control Data Corporation System used on most CDC machines [6] MACE→⇶ Kronos
NOS/BE CDC 60-bit platforms1976-?? Control Data Corporation System used on most CDC machines [6] 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 [7] ⇶ 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 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
VMS
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 ⇶
TENEX
CP/M
TOPS-20 DECsystem 20 1976-?? DEC Successor to TOPS-10 but more like TENEX TENEX
TOPS-10
TPF S/3x01979–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 successors1968-today RCA Early general purpose mainframe OS
TSS-8 PDP-8 1967–?? DEC Simple minicomputer OSRSTS/E
TSS/360
TSS/370
IBM System/360-67 and successors1967-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 systemsubiquitous1969–present Bell Laboratories and successorsUltimately dominated operating system thought, in both proprietary and open-source descendants Multics
Linux
VM/370
VM/SE
VM/SP
System/370 and successors1972-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 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

Related Research Articles

Computer multitasking 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.

Multics Time-sharing operating system

Multics is an influential early time-sharing operating system based on the concept of a single-level memory. It has been said that Multics "has influenced all modern operating systems since, from microcomputers to mainframes."

Operating system Software that manages computer hardware resources

An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.

Time-sharing Computing resource shared by concurrent users

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 a method of running software programs called jobs in batches automatically. While users are required to submit the jobs, no other interaction by the user is required to process the batch. Batches may automatically be run at scheduled times as well as being run contingent on the availability of computer resources.

Symmetric multiprocessing The equal sharing of all resources by multiple identical processors

Symmetric multiprocessing or shared-memory multiprocessing (SMP) involves a multiprocessor computer hardware and software architecture where two or more identical processors are connected to a single, shared main memory, have full access to all input and output devices, and are controlled by a single operating system instance that treats all processors equally, reserving none for special purposes. Most multiprocessor systems today use an SMP architecture. In the case of multi-core processors, the SMP architecture applies to the cores, treating them as separate processors.

Michigan Terminal System

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.

Conversational Monitor System

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.

Computer terminal Computer input/output device for users

A computer terminal is an electronic or electromechanical hardware device that can be used for entering data into, and transcribing data from, a computer or a computing system. The teletype was an example of an early day hardcopy terminal, and predated the use of a computer screen by decades.

Compatible Time-Sharing System 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.

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).

RSTS/E Computer operating system

RSTS is a multi-user time-sharing operating system, initially developed by Evans Griffiths & Hart of Boston, and acquired by Digital Equipment Corporation for the PDP-11 series of 16-bit minicomputers. The first version of RSTS was implemented in 1970 by DEC software engineers that developed the TSS-8 time-sharing operating system for the PDP-8. The last version of RSTS was released in September 1992. RSTS-11 and RSTS/E are usually referred to just as "RSTS" and this article will generally use the shorter form.

The Pick operating system is a demand-paged, multiuser, virtual memory, time-sharing computer operating system based around a MultiValue database. Pick is used primarily for business data processing. It is named after one of its developers, Richard A. (Dick) Pick.

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.

Econet

Econet was Acorn Computers's low-cost local area network system, intended for use by schools and small businesses. It was widely used in those areas, and was supported by a large number of different computer and server systems produced both by Acorn and by other companies.

Local Area Transport (LAT) is a non-routable networking technology developed by Digital Equipment Corporation to provide connection between the DECserver terminal servers and Digital's VAX and Alpha and MIPS host computers via Ethernet, giving communication between those hosts and serial devices such as video terminals and printers. The protocol itself was designed in such a manner as to maximize packet efficiency over Ethernet by bundling multiple characters from multiple ports into a single packet for Ethernet transport.

IBM CP-40

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.

Kernel (operating system) Core of a computer operating system

The kernel is a computer program at the core of a computer's operating system and generally has complete control over everything in the system. It is the portion of the operating system code that is always resident in memory, and facilitates interactions between hardware and software components. A full kernel controls all hardware resources via device drivers, arbitrates conflicts between processes concerning such resources, and optimizes the utilization of common resources e.g. CPU & cache usage, file systems, and network sockets. On most systems, the kernel is one of the first programs loaded on startup. It handles the rest of startup as well as memory, peripherals, and input/output (I/O) requests from software, translating them into data-processing instructions for the central processing unit.

Unix Family of computer operating systems that derive from the original AT&T Unix

Unix is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others.

The history of email extends over more than 50 years, entailing an evolving set of technologies and standards that culminated in the email systems in use today.

References

  1. Hartley, D. F. (1968), The Cambridge multiple-access system: user's reference manual, Cambridge: Cambridge Univ. Press, ISBN   978-0901224002
  2. 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
  3. 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
  4. 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
  5. McDonnell, Eugene. "The Socio-Technical Beginnings of APL" . Retrieved 18 January 2019.
  6. 1 2 "A partial history of CDC Operating Systems", March 1976
  7. 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