Michigan Terminal System
| Company type | Consortium-developed software system |
|---|---|
| Industry | Computer software / Operating systems |
| Founded | 1967 |
| Founder | University of Michigan Computing Center |
| Defunct | 1999 |
| Headquarters | Ann Arbor , United States |
Area served | United States, Canada, United Kingdom, Brazil, Yugoslavia (potentially) |
Key people | Bruce Arden, Bernard Galler, Frank Westervelt, Tom O'Brian |
| Products | Time-sharing operating system for IBM S/360-67, S/370 and compatible mainframes |
Number of employees | Consortium of eight universities and support staff |
The Michigan Terminal System (MTS) ranks among the pioneering time-sharing computer operating systems.[1] Originating in 1967 at the University of Michigan for IBM S/360-67, S/370, and compatible mainframe computer platforms, it was supported and enhanced by a coalition of eight universities located in the US, Canada, and the UK for over thirty years (1967–1999).[2]
Overview
The University of Michigan Multiprogramming Supervisor (UMMPS) was created by the university’s academic computing center to operate on IBM S/360-67, S/370, and similar systems. It serves as a multiprogramming, multiprocessing, virtual memory, and time-sharing supervisor capable of running multiple resident, reentrant applications. Central to this environment is the Michigan Terminal System (MTS), which oversees command parsing, execution management, file handling, and resource accounting. Users engaged with computing resources through MTS using terminal access, batch processing, or server interfaces.
The designation MTS encompasses:
- The UMMPS Job Program predominantly utilized by end-users;
- The entire software suite—including UMMPS, MTS itself, additional Job Programs, Command Language Subsystems (CLSs), publicly available applications, and related documentation;
- The time-sharing service at a given location, which includes the MTS software stack, hardware infrastructure, support personnel, and administrative frameworks.
MTS was implemented in operational environments at roughly thirteen sites spanning the United States, Canada, the United Kingdom, Brazil, and potentially Yugoslavia, alongside several experimental or benchmarking locations. Its ongoing development and upkeep were coordinated by a core consortium of eight universities detailed in the MTS Consortium.
In 1988, the University of Michigan pledged to maintain dependable MTS service as long as there was user demand but signaled an eventual discontinuation once alternative computing platforms fulfilled user requirements. End-user access to MTS at Michigan ended on June 30, 1996, as operations shifted toward client/server architectures—commonly Unix servers paired with Mac, PC, or Unix clients. The final termination of Michigan’s MTS instance took place on May 30, 1997.
Rensselaer Polytechnic Institute (RPI) is believed to have been the last institution running MTS in production before retiring it in June 1999.
Today, MTS can be operated on IBM S/370 emulators such as Hercules, Sim390, and FLEX-ES.
Origins
During the mid-1960s, the University of Michigan operated batch processing on IBM 7090 hardware through the University of Michigan Executive System (UMES), while aiming to provide interactive time-sharing capabilities. At that period, limitations in physical memory size constrained computing power. IBM’s newly introduced System/360 series did not yet address these constraints, and opinions within IBM about supporting time-sharing were divided.
In 1966, Bruce Arden, Bernard Galler, Frank Westervelt, and Tom O'Brian authored a paper proposing a virtual memory design based on dynamic address translation (DAT) to facilitate time-sharing. Following discussions, IBM agreed to develop a specialized S/360-65 mainframe incorporating DAT to enable virtual memory and support UM’s time-sharing ambitions. This customized system was named the Model S/360-65M, with the “M” signifying Michigan. Initially, IBM had no plans to supply a time-sharing operating system for this machine.
Interest from organizations such as General Motors, MIT Lincoln Laboratory, Princeton University, and Carnegie Institute of Technology prompted IBM to rename the system as the S/360-67 and market it as a supported product. With expectations of over 100 units ordered, IBM committed to creating a time-sharing operating system known as TSS/360 (Time-sharing System) to be released alongside the S/360-67.
While awaiting delivery of the Model 65M, staff at the UM Computing Center experimented with early time-sharing on an IBM System/360 Model 50 funded by ARPA’s CONCOMP project. They adapted MIT’s LLMPS multi-programming system into the University of Michigan Multi-Programming Supervisor (UMMPS), which operated the first MTS job program. This initial MTS implementation was intended as a provisional platform to gain experience until TSS became available.
Delays plagued TSS development, and it was not ready when the second S/360-67 arrived in January 1967. The University of Michigan opted to continue advancing MTS on the Model 67 rather than returning it or selecting an alternative mainframe. Eventually, IBM canceled TSS multiple times. By that stage, UM regarded MTS as a stable and reliable system that remained in use at UM and other institutions for over three decades.
MTS Consortium
The development and upkeep of MTS were managed by a consortium comprising eight universities from the United States, Canada, and the United Kingdom:
- University of Michigan (U of M), 1967–1997, US
- University of British Columbia (UBC), 1968–1998, Canada
- NUMAC (including University of Newcastle upon Tyne, University of Durham, Newcastle Polytechnic), 1969–1992, UK
- University of Alberta (UQV), 1971–1994, Canada
- Wayne State University (WSU), 1971–1998, US
- Rensselaer Polytechnic Institute (RPI), 1976–1999, US
- Simon Fraser University (SFU), 1977–1992, Canada
- University of Durham (NUMAC), 1982–1992, UK
Certain consortium members operated multiple MTS installations; for instance, NUMAC maintained two systems at Newcastle and Durham, Michigan ran three systems during the mid-1980s, and UBC managed up to four distinct systems serving various purposes.
Each member institution contributed actively by spearheading new feature designs or enhancing existing system components. Initially relying on site visits and postal correspondence for collaboration, communication evolved to include email exchanges, network file sharing, and computer conferencing platforms such as CONFER.
From 1971 through 1982, the consortium issued 82 editions of MTS Newsletters to synchronize development activities across sites.
Beginning in 1974 at UBC, annual MTS Workshops were organized by consortium members. These informal gatherings featured pre-submitted papers and resulted in published Proceedings. During the mid-1980s, smaller-scale Western Workshops took place involving select members—UBC, SFU, UQV, UM, and occasionally RPI.
Workshops persisted into the mid-1990s as community-focused events emphasizing shared expertise in computing even after MTS ceased being the dominant campus system or was phased out at certain locations.
MTS locations
In addition to the eight sites within the MTS Consortium that contributed to its creation, MTS was also operational at several other venues, such as:
- Centro Brasileiro de Pesquisas Fisicas (CBPF) under Brazil's Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq)
- Empresa Brasileira de Pesquisa Agropecuária (EMBRAPA), Brazil
- Hewlett-Packard (HP), United States
- Michigan State University (MSU), United States
- Goddard Space Flight Center, NASA, United States
A version was dispatched to the University of Sarajevo, Yugoslavia, although whether it was installed remains uncertain.
Additional experimental or operational sites included INRIA (France), University of Waterloo (Canada), Southern Illinois University, Naval Postgraduate School, Amdahl Corporation, ST Systems for McGill University Hospitals, as well as Stanford University and University of Illinois in the US.
Hardware
MTS operates on IBM S/360-67, IBM S/370 series equipped with virtual memory, and their successors. It has been implemented on:
- IBM: S/360-67; S/370 models including 148, 168, 3033U, 4341, 4361, 4381, 3081D/GX/B, 3090–200/400/600; ES/9000-720
- Amdahl: 470V/6, 470V/7, 470V/8, 5860, 5870, 5990
- Hitachi NAS 9060
- Various emulators for S/370 systems
The University of Michigan installed MTS on the second IBM S/360-67 unit ever produced (serial #2) in 1967, marking the first installation outside IBM; they also hosted the second Amdahl 470V/6 (serial #2) in 1975; the initial Amdahl 5860 (serial #1) in 1982; and the first factory-delivered IBM 3090–400 in 1986. NUMAC operated MTS on the UK's first S/360-67 and likely Europe's earliest. The University of British Columbia spearheaded the transition to IBM S/370 (S/370-168) in 1974. Canada's first Amdahl 470V/6 was installed at the University of Alberta in 1975. By 1978 NUMAC had upgraded to IBM S/370-168 hardware.
Originally, MTS supported up to four processors on IBM S/360-67 machines; by 1984 RPI enhanced it to accommodate up to thirty-two processors on IBM S/370-XA platforms, though typical deployments involved up to six CPUs. Additionally, it supports IBM's Vector Facility feature on IBM 3090 and ES/9000 systems.
At UM in early 1967, running on a single-processor IBM S/360-67 without virtual memory, MTS managed five terminals alongside one batch job. After virtual memory was introduced later that year, capacity increased to fifty terminals and five batch jobs. By August 1968, a dual-processor setup handled approximately seventy terminals and eight batch jobs. By late 1991, MTS operated on an IBM ES/9000-720 system supporting over six hundred terminals and multiple batch jobs simultaneously.
Although MTS can be booted under VM/370 virtual machines — employed by some sites — most installations ran it directly on hardware.
Features
Key characteristics of MTS include:
- Implementation of virtual memory with Dynamic Address Translation (DAT) on the IBM S/360-67 in 1967.
- Multiprocessing capabilities with two CPUs on IBM S/360-67 by 1968.
- Programs featuring large virtual address spaces relative to that era.
- A unified command language applicable for both terminal sessions and batch processing.
- A comprehensive device-independent I/O framework that supports terminals, disk storage, printers, tape drives, card readers/punches, floppy disks, network hosts, and audio response units.
- A specialized file system supporting "line files" which include metadata for line counts and lengths—facilitating efficient line-level editing without requiring full file read/write operations.
- The $EDIT file editor offering both command-line and graphical interfaces with SNOBOL4 pattern matching capabilities.
- Controlled file sharing mechanisms with detailed permissions such as read, write-change, write-expand, destroy, and permit.
- Permission grants extend beyond individual users and groups to specific commands or programs and their combinations.
- Concurrent multiuser file access managed through locking protocols and deadlock detection systems.
- Network host-to-host connectivity accessible from commands and programs alike—including remote network printers and card readers/punches.
- An e-mail facility ($MESSAGESYSTEM) supporting local and network messaging with features like group mailings, message recall before reading by recipients, adding recipients after sending, and threaded message histories without duplicating text.
- Remote tape drive access with efficient handling of datasets spanning multiple tapes.
- Extensive libraries of well-documented subroutines.
- Support for fast loading of commonly used reentrant subroutines available within shared virtual memory.
- Compilers, assemblers, and a Symbolic Debugging System (SDS) for high-level languages such as FORTRAN, Pascal, PL/I as well as assembly language debugging.
- A robust protection model utilizing virtual memory hardware alongside IBM S/360-370 supervisor/problem states to isolate privileged supervisor code from system and user modes; device drivers operate in system mode rather than supervisor mode.
- Emulation of a Branch on Program Interrupt (BPI) instruction.
Applications Created for MTS
Among the significant software designed specifically for MTS are:
- Awit, a chess-playing program coded in Algol W by Tony Marsland.
- Chaos, a prominent computer chess application from 1973 through 1985, initially developed at RCA Systems Programming before transitioning to MTS at the University of Michigan Computing Center.
- CONFER II, an early computer conferencing platform initiated by Robert Parnes in 1975, supported by the University of Michigan's Center for Research on Learning and Teaching (CRLT) and School of Education.
- FakeOS, a simulation tool allowing OS/360 object modules to operate within the MTS environment.
- Forum, a computer conferencing system created by the University of British Columbia (UBC) Computing Centre.
- GOM (Good Old Mad), a 7090 MAD language compiler adapted for MTS use by Don Boettner at the UM Computing Center.
- IF (Interactive Fortran), developed by the UBC Computing Centre.
- MICRO Information Management System, an early relational database system implemented in 1970 by the Institute for Labor and Industrial Relations (ILIR) at the University of Michigan.
- MIDAS (Michigan Interactive Data Analysis System), an interactive statistical analysis package crafted by Dan Fox and team at UM's Statistical Research Laboratory.
- Plus, a programming language developed by Alan Ballard and Paul Whaley at UBC Computing Centre.
- TAXIR, an information retrieval and storage system for taxonomic data, ported to MTS and further developed at the University of Michigan.
- Textform, a text-processing utility from the University of Alberta Computing Centre supporting output across multiple printing devices without dependency on hardware.
- VSS, a simulator from UBC Computing Centre that allows applications designed for OS/MFT, OS/MVT, VS1, and MVS to run under MTS.
Software Ported to Run on MTS
Key programs adapted from other platforms to operate under MTS include:
- APL VS, IBM's APL VS compiler.
- ASMH, an improved version of IBM's 370 assembler developed at SLAC and integrated with MTS.
- COBOL VS, IBM's COBOL VS compiler.
- CSMP, IBM's Continuous System Modeling Program.
- Fortran compilers G, H, and VS from IBM.
- GASP, a discrete-event simulation package based on FORTRAN.
- Kermit, communication software and protocol developed at Columbia University.
- MPS, IBM's Mathematical Programming System/360.
- NASTRAN, NASA's finite element analysis software.
- OSIRIS, statistical analysis tools from the University of Michigan's Institute for Social Research.
- PascalSB, Pascal compiler from Stony Brook University.
- Pascal/SLAC, Pascal compiler originating from Stanford Linear Accelerator Center.
- Pascal VS, IBM's Pascal VS compiler.
- PL/I Optimizing Compiler developed by IBM.
- REDUCE2, an algebraic manipulation language implemented in LISP.
- SAS, Statistical Analysis System package.
- SHAZAM, software for econometrics and statistical modeling.
- SIMSCRIPT II.5, a general-purpose language for discrete event simulation.
- SPIRES, Stanford Public Information Retrieval System database management software.
- SPSS, Statistical Package for the Social Sciences.
- TELL-A-GRAPH, an interactive graphics program produced by ISSCO.
- TEX, Don Knuth’s text formatting system.
- TROLL, software utilized for econometric modeling and statistical evaluations.
Programming languages supported by MTS
MTS accommodates a wide variety of programming languages, including those created specifically for MTS as well as others adapted from different platforms:
- ALGOL W
- ALGOL 68
- APL (IBM's VS APL variant)
- Assembler (360/370: G, H, Assist; DEC PDP-11)
- BASIC (BASICUM), WBASIC
- BCPL (Basic Combined Programming Language)
- C
- COBOL (ANSI, VS, WATBOL)
- EXPL (Extended XPL)
- FORTRAN (G, H, VS, WATFOR, WATFIV)
- GASP (Discrete simulation language derived from FORTRAN)
- GOM (Good Old Mad, a 7090 Michigan Algorithm Decoder port adapted for S/370)
- GPSS/H (General Purpose Simulation System V)
- ICON
- IF (Interactive FORTRAN, an incremental compiler and debugger developed at the University of British Columbia)
- MAD/I (Enhanced Michigan Algorithm Decoder for IBM S/360)
- MPS, IBM's Mathematical Programming System/360
- MTS LISP 1.5 (a new implementation created at UM's Mental Health Research Institute)
- Pascal (VS, JB)
- PIL, PIL/2 (Pitt Interpretive Language)
- PL/I (IBM's F and OPT versions, Cornell University's PL/C)
- PL/M
- PL360
- Plus ("Pascal-like" system implementation language developed at University of British Columbia based on the SUE system language)
- Prolog
- Simula
- SUE
- SNOBOL4 (String Oriented Symbolic Language)
- SPITBOL (Speedy Implementation of SNOBOL)
- UMIST (University of Michigan Interpretive String Translator, derived from TRAC)
System architecture
| State | Mode | VM | Interrupts | |
|---|---|---|---|---|
| User programs | problem | user | on | on |
| Command Language Subsystems (CLSs), Device Support Routines (DSRs), System Subroutines |
system | |||
| Job programs (MTS, PDP, DMGR, RM or HASP, ...) | align="center" Template:Yes-no | |||
| Supervisor (UMMPS) | supervisor | n/a | off | off |
| S/360-67 or S/370 hardware | ||||
The supervisor component, UMMPS, administers hardware control and oversees job program execution. MTS functions as one such job program and acts as the main interface for users. It utilizes command language subsystems (CLSs) and offers system subroutines that are accessible by CLSs, user applications, and itself. These subroutines provide consistent access to Device Support Routines (DSRs), which manage device-specific input/output operations.
Manuals and documentation
Documentation primarily originates from University of Michigan sources; however, various MTS installations produced their own manuals customized to meet local requirements.
End-user documentation
The MTS: The Michigan Terminal System series was released between 1967 and 1991, spanning volumes 1 through 23 with updates occurring sporadically. Initial editions combined both internal system details and user-oriented information. For example, the second edition (December 1967) of Volumes I and II addressed system fundamentals, user instructions for batch and interactive terminal operations, explanations of UMMPS and MTS, file management, device handling, command language usage, subroutine libraries, and language processors including FORTRAN G and SNOBOL4.
Later installments from the University of Michigan Computing Center are accessible as PDF files across several digital repositories.
- MTS Volume 1: The Michigan Terminal System, 1991
- MTS Volume 2: Public File Descriptions, 1990
- MTS Volume 3: Subroutine and Macro Descriptions, 1989
- MTS Volume 4: Terminals and Networks in MTS, 1988
- MTS Volume 5: System Services, 1985
- MTS Volume 6: FORTRAN in MTS, 1988
- MTS Volume 7: PL/I in MTS, 1985
- MTS Volume 8: LISP and SLIP in MTS, 1983
- MTS Volume 9: SNOBOL4 in MTS, 1983
- MTS Volume 10: BASIC in MTS, 1980
- MTS Volume 11: Plot Description System, 1985
- MTS Volume 12: PIL/2 in MTS, 1974
- MTS Volume 13: The Symbolic Debugging System, 1985
- MTS Volume 14: 360/370 Assemblers in MTS, 1986
- MTS Volume 15: FORMAT and TEXT360, 1988
- MTS Volume 16: ALGOL W in MTS, 1980
- MTS Volume 17: Integrated Graphics System, 1984
- MTS Volume 18: MTS File Editor, 1988
- MTS Volume 19: Tapes and Floppy Disks, 1993
- MTS Volume 20: PASCAL in MTS, 1989
- MTS Volume 21: MTS Command Extensions and Macros, 1991
- MTS Volume 22: Utilisp in MTS, 1988
- MTS Volume 23: Messaging and Conferencing in MTS, 1991
Additional notable works comprise the compact MTS Reference Summary pocket manual; introductory texts on programming languages such as FORTRAN IV and WATFIV; alongside focused documentation dedicated to systems like MIDAS and OSIRIS III.
Between 1967 and 1987, the University of Michigan Computing Center produced an extensive collection of memos (CCMemos) addressing topics ranging from software and hardware to user support, printing technologies, text processing, and microcomputer systems. After 1989, this series transitioned into Reference Memos with a reduced emphasis on MTS.
Starting in 1971, newsletters including Computing Center News and the Information Technology Digest offered continuous updates tailored to end-users.
Introductory resources covered subjects such as terminal operation, computing center offerings, database management within MTS, programming techniques, debugging methods, file editing procedures, magnetic tape handling, FORMAT language applications, and microcomputer usage.
Internals documentation
Among materials distributed with MTS but not widely disseminated were essential internal documents such as:
- MTS Operators Manual (574 pages, published in 1995)
- MTS Message Manual
- MTS Volume n: Systems Edition (60 pages from 1991; earlier edition of 50 pages from 1981)
- MTS Volume 99: Internals Documentation (167 pages compiled between 1972 and 1978)
- Supervisor Call Descriptions (156 pages issued in 1987)
- Disk Disaster Recovery Procedures (14 pages from 1987)
- A collection of lectures on MTS system architecture and internal structure by Mike Alexander, Don Boettner, Jim Hamilton, and Doug Smith (available as audio recordings with accompanying notes and transcripts)
Distribution
The University of Michigan released MTS on magnetic tape on an irregular schedule. Complete distributions (such as D1.0, D2.0) included every component, whereas partial distributions (like D1.1, D2.2) contained only the updates made since the previous release. Early versions supported the IBM S/360 Model 67, while later distributions (from D4.0 through D6.0) were designed for the IBM S/370 architecture.
These distributions provided updates for licensed program products that operated under MTS but did not include the core proprietary software itself, which had to be obtained separately. With the exception of IBM’s Assembler H, licensed programs were optional for running MTS.
The last official distribution was D6.0, released in April 1988, consisting of 10,003 files spread across six magnetic tapes with a density of 6250 bpi. After 1988, distribution shifted to occasional file transfers over networks.
To support new installations, two additional tapes were available: an IPLable boot tape containing a minimal MTS version along with utilities to initialize and restore a one-disk starter system from the second tape. Initially, standalone TSS DASDI and DUMP/RESTORE tools served this function.
Informal redistribution occurred as sites exchanged updated tapes consolidated by a coordinating center into shared redistribution tapes (RD1, RD2, etc.), although most of these have since been lost.
Currently, full sets from six complete and ten partial distributions plus two redistributions spanning 1968 to 1988 are preserved at Bitsavers.org and in the University of Michigan’s Deep Blue digital archive.
Using materials from D6.0, it remains feasible to build an IPLable MTS system. The D6.0A distribution improves this capability by including fixes that enhance operation under the Hercules S/370 emulator as of 2012. Future releases intend to offer an IPLable version reflecting the University of Michigan’s final MTS build from 1996 before its discontinuation.
Licensing
Since December 22, 2011, MTS distribution materials have been made freely accessible under the Creative Commons Attribution 3.0 Unported License (CC BY 3.0).
Originally, MTS was provided at no cost to institutions with qualified personnel capable of supporting it. In the mid-1980s, licensing procedures were formalized with the University of Michigan acting as agent for the MTS Consortium. Licenses were priced at $5,000 annually for academic institutions, $10,000 for non-profit organizations, and $25,000 for commercial enterprises. These licenses explicitly prohibited using MTS for commercial computing services. Licensees received comprehensive sets of distribution tapes, incremental updates, installation guides, user documentation, and limited technical support.
Only a small number of organizations obtained licenses for MTS, often to operate specific applications such as CONFER. The fees collected helped defray Consortium costs.
See also
Archives
- MTS Archive, a repository of documents, photographs, and media related to MTS and its developers
- MTS distribution archive hosted by Bitsavers
- MTS distribution archive maintained by University of Michigan’s Deep Blue digital repository
- MTS D6.0A, a pre-configured version compatible with the Hercules S/370 emulator
- MTS PDF Document Archive available at Bitsavers
- UM Computing Center Public Collection at Hathi Trust Digital Library featuring over 250 documents related to MTS
- Computing Center collection in University of Michigan’s Deep Blue archive containing PDFs and videos pertaining to MTS and the Computing Center
Papers
- A Comparative Study of the Michigan Terminal System (MTS) with Other Time Sharing Systems for the IBM 360/67 Computer, Elvert F. Hinson, Master's thesis, Naval Postgraduate School, December 1971
- "Measurement and Performance of a Multiprogramming System", B. Arden and D. Boettner, Proceedings of the 2nd ACM Symposium on Operating Systems Principles, pp. 130–46, October 1969
- Merit Network History
- Collection of published works on MTS
- "MTS - Michigan Terminal System", Donald W. Boettner and Michael T. Alexander, ACM SIGOPS Operating Systems Review, Volume 4, Issue 4, December 1970
- "The Michigan Terminal System", Donald W. Boettner and Michael T. Alexander, Proceedings of the IEEE, Volume 63, Issue 6, June 1975, pp. 912–918
- "A Faster Cratchit - The History of Computing at Michigan", Vol. XXVII, No. 1 (January 1976), U-M Research News, 24 pages
Web sites
- MTS History, maintained by Tom Valerio, a former member of the University of Michigan Computing Center staff
- Personal account of MTS by Dan Boulet, who was both a student and later part of Computing Services at the University of Alberta
- Personal recollections on MTS authored by Mark Riordan from Michigan State University’s Computer Laboratory
- Articles originally published in the May 13, 1996 edition of University of Michigan Information Technology Digest, capturing MTS history and its legacy prior to retirement; archived by Josh Simon
- Try-MTS.com, provides instructions for operating MTS within the Hercules emulator alongside tutorials covering system operation and programming languages
- Public MTS Terminal, an interactive terminal emulator that replicates student access from the 1990s