Time-sharing system evolution
As of the middle 1960's, all computer systems were single program systems known as "batch processing": One job in and one job out. Some very large and powerful mainframes had been built, and most all of them were powered by vacuum tubes. The invention of the solid-state transistor by Texas Instruments in the early 1960s made possible the development of mainframes with many times the computing power of the vacuum tube computers. It was also the first step toward miniaturization of computers, a trend that has continued ever since. Solid-state computers were much smaller, generated far less heat, and were many times more reliable than their vacuum tube predecessors. Maintenance also became several orders of magnitude less expensive and immensely more simple to identify the problem and repair it.
As solid-state computers developed, even the largest and most powerful ones had to be operated in batch processing mode. Thus developed the need for multitasking, multiprogramming operating systems that allowed multiple users to run their individual programs at seemingly the same time as several dozen other users using teletypewriter terminals that operated at 10-characters per second over ordinary voice-grade telephone lines.
The following tables provide links to major early time-sharing operating systems, showing their subsequent evolution.
- To avoid listing every multi-user system ever built (including virtually every system in use today), the goal here is to list:
- Influential systems
- Built between 1960-1990
- For clarity, the direct successors of these systems are also included, as well as several important interactive systems that, although not multi-user, had an impact on user interface design.
- Family relationships have been shown where practical, to help structure the tables. However, the intent is to provide a simple, compact set of links to all these systems – not to illustrate every relationship. See each system's main article for further details; all had many direct and indirect influences.
About the term time-sharing:
- In the 1960s, time-sharing was a new concept, a departure from the batch processing approach previously used with computers. The idea of an individual user being able to initiate a computer job at a particular time, and to see results immediately, was regarded as strange – and probably wasteful. Computers were very expensive, and individual users had to conform to the computer's schedule, not vice versa. Time-sharing systems were thus a major change and, for a generation, represented a distinct category of operating system. Famous political battles were waged at IBM and elsewhere over this issue. Today, of course, virtually all operating systems are time-sharing systems.
Time-sharing system families
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).
CTSS > | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IBM mainframe systems | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CP-40/CMS → CP[-67]/CMS → | VM/370 → VM/XA versions → VM/ESA → z/VM | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VP/CSS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TSS/360 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OS/MVT-TSO → OS/VS2-TSO → MVS-TSO → z/OS-TSO | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transactional systems: CICS, TPF → z/TPF | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Non-IBM systems on IBM mainframes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Michigan Terminal System (MTS) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MUSIC/SP | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ORVYL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The MULTICS/UNIX family | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MULTICS >> UNIX family >> Linux | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Major DEC time-sharing systems | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TOPS-10 > TENEX >> TOPS-20 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RSTS/E | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RSX-11M >> VAX/VMS → VMS → OpenVMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dartmouth Time Sharing System (DTSS) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
x86 interactive platforms | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CP/M >> 86-DOS → MS-DOS → | Windows 3.x | → Microsoft Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OS/2 |
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 | 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 |
CP-40/CMS | customized S/360-40 | 1967-1972? | IBM's Cambridge Scientific Center | First implementation of full virtualization | CTSS > → CP-67 |
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-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 |
CP/M | Intel 8080 and related processors | 1976-1989? | Gary Kildall | A widely used pre-MS-DOS microcomputer system | TOPS-10 > CP/CMS > >> QDOS → MS-DOS |
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 | 1964-1999 | Dartmouth College | Early time-sharing system running Dartmouth BASIC and other tools; the first commercial time-sharing system | FMS > >> CP-40 >> Multics >> ITS > [numerous other systems] |
ITS ("Incompatible Timesharing System") | PDP-6, PDP-10 | 1968?-1990 | MIT Artificial Intelligence Laboratory | "Subversive" operating system developed to counter direction of CTSS, the original platform for TECO (parent of EMACS, Macsyma, and other important applications | CTSS > > [numerous later systems] |
Linux | ubiquitous | 1991–present | Linus Torvalds, GNU project, open source | Operating system dominating current open source activities | UNIX >> minix >> > [numerous other systems] |
LISP systems | ubiquitous | 1958–present | John McCarthy, many others | Important platform used to build many interactive environments | → InterLISP >> Scheme >> [numerous other systems] |
Microsoft Windows | x86, IA-64, others | 1985–present | Microsoft | Ubiquitous GUI operating system | MS-DOS >> OS/2 >> VMS >> Smalltalk >> |
MS-DOS | x86, IA-64, others | 1981-2000 (but still in use) |
Microsoft | Ubiquitous command-line operating system, delivered as PC DOS on IBM PC computers | QDOS → CP/M >> >> FreeDOS |
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 > > UNIX (BSD) |
MULTICS | GE 645 | 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 | most CDC platforms | 1976-?? | Control Data Corporation | System used on most CDC machines[1] | Kronos >> |
ORVYL | IBM 9672 | 1967-?? | Stanford University | Early time-sharing system; source of the WYLBUR editor later used on System/370 platforms | |
OS/2 | x86 | 1987–present | IBM/Microsoft | Joint OS effort, now moribund. Still available as eComStation from Serenity Systems International. | VMS >> → Windows NT → eComStation |
ROSCOE | System/360 and successors | 1969-?? | Applied Data Research (ADR) | Early time-sharing editor environment, often used as an alternative to TSO[2] | |
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 | 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] |
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 |
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 |
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 | 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/VMS, IA-64, DEC Alpha | 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 | → SuperWilbur |
See also
- History of CP/CMS has many period details and sources.
- Timeline of operating systems
References
- ↑ "A partial history of CDC Operating Systems", March 1976
- ↑ 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