Michigan Terminal System
The Michigan Terminal System 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.
Overview
The University of Michigan Multiprogramming Supervisor was developed by the staff of the academic computing center at the University of Michigan for operation of the IBM S/360-67, S/370 and compatible computers. The software may be described as a multiprogramming, multiprocessing, virtual memory, time-sharing supervisor that runs multiple resident, reentrant programs. Among these programs is the Michigan Terminal System for command interpretation, execution control, file management, and accounting. End-users interact with the computing resources through MTS using terminal, batch, and server oriented facilities.The name MTS refers to:
- The UMMPS Job Program with which most end-users interact;
- The software system, including UMMPS, the MTS and other Job Programs, Command Language Subsystems, public files, and documentation; and
- The time-sharing service offered at a particular site, including the MTS software system, the hardware used to run MTS, the staff that supported MTS and assisted end-users, and the associated administrative policies and procedures.
The University of Michigan announced in 1988 that "Reliable MTS service will be provided as long as there are users requiring it... MTS may be phased out after alternatives are able to meet users' computing requirements". It ceased operating MTS for end-users on June 30, 1996. By that time, most services had moved to client/server-based computing systems, typically Unix for servers and various Mac, PC, and Unix flavors for clients. The University of Michigan shut down its MTS system for the last time on May 30, 1997.
Rensselaer Polytechnic Institute is believed to be the last site to use MTS in a production environment. RPI retired MTS in June 1999.
Today, MTS still runs using IBM S/370 emulators such as Hercules, Sim390, and FLEX-ES.
Origins
In the mid-1960s, the University of Michigan was providing batch processing services on IBM 7090 hardware under the control of the University of Michigan Executive System, but was interested in offering interactive services using time-sharing. At that time the work that computers could perform was limited by their small real memory capacity. When IBM introduced its System/360 family of computers in the mid-1960s, it did not provide a solution for this limitation and within IBM there were conflicting views about the importance of and need to support time-sharing.A paper titled Program and Addressing Structure in a Time-Sharing Environment by Bruce Arden, Bernard Galler, Frank Westervelt, and Tom O'Brian building upon some basic ideas developed at the Massachusetts Institute of Technology was published in January 1966. The paper outlined a virtual memory architecture using dynamic address translation that could be used to implement time-sharing.
After a year of negotiations and design studies, IBM agreed to make a one-of-a-kind version of its S/360-65 mainframe computer with dynamic address translation features that would support virtual memory and accommodate UM's desire to support time-sharing. The computer was dubbed the Model S/360-65M. The "M" stood for Michigan. But IBM initially decided not to supply a time-sharing operating system for the machine. Meanwhile, a number of other institutions heard about the project, including General Motors, the Massachusetts Institute of Technology's Lincoln Laboratory, Princeton University, and Carnegie Institute of Technology. They were all intrigued by the time-sharing idea and expressed interest in ordering the modified IBM S/360 series machines. With this demonstrated interest IBM changed the computer's model number to S/360-67 and made it a supported product. With requests for over 100 new model S/360-67s IBM realized there was a market for time-sharing, and agreed to develop a new time-sharing operating system called TSS/360 for delivery at roughly the same time as the first model S/360-67.
While waiting for the Model 65M to arrive, UM Computing Center personnel were able to perform early time-sharing experiments using an IBM System/360 Model 50 that was funded by the ARPA CONCOMP Project. The time-sharing experiment began as a "half-page of code written out on a kitchen table" combined with a small multi-programming system, LLMPS from MIT's Lincoln Laboratory, which was modified and became the UM Multi-Programming Supervisor which in turn ran the MTS job program. This earliest incarnation of MTS was intended as a throw-away system used to gain experience with the new IBM S/360 hardware and which would be discarded when IBM's TSS/360 operating system became available.
Development of TSS took longer than anticipated, its delivery date was delayed, and it was not yet available when the S/360-67 arrived at the Computing Center in January 1967. At this time UM had to decide whether to return the Model 67 and select another mainframe or to develop MTS as an interim system for use until TSS was ready. The decision was to continue development of MTS and the staff moved their initial development work from the Model 50 to the Model 67. TSS development was eventually canceled by IBM, then reinstated, and then canceled again. But by this time UM liked the system they had developed, it was no longer considered interim, and MTS would be used at UM and other sites for 33 years.
MTS Consortium
MTS was developed, maintained, and used by a consortium of eight universities in the US, Canada, and the United Kingdom:- University of Michigan, 1967 to 1997, US
- University of British Columbia, 1968 to 1998, Canada
- NUMAC, 1969 to 1992, United Kingdom
- University of Alberta, 1971 to 1994, Canada
- Wayne State University, 1971 to 1998, US
- Rensselaer Polytechnic Institute, 1976 to 1999, US
- Simon Fraser University, 1977 to 1992, Canada
- University of Durham, 1982 to 1992, United Kingdom
Each of the MTS sites made contributions to the development of MTS, sometimes by taking the lead in the design and implementation of a new feature and at other times by refining, enhancing, and critiquing work done elsewhere. Many MTS components are the work of multiple people at multiple sites.
In the early days collaboration between the MTS sites was accomplished through a combination of face-to-face site visits, phone calls, the exchange of documents and magnetic tapes by snail mail, and informal get-togethers at SHARE or other meetings. Later, e-mail, computer conferencing using CONFER and *Forum, network file transfer, and e-mail attachments supplemented and eventually largely replaced the earlier methods.
The members of the MTS Consortium produced a series of 82 MTS Newsletters between 1971 and 1982 to help coordinate MTS development.
Starting at UBC in 1974 the MTS Consortium held annual MTS Workshops at one of the member sites. The workshops were informal, but included papers submitted in advance and Proceedings published after-the-fact that included session summaries. In the mid-1980s several Western Workshops were held with participation by a subset of the MTS sites.
The annual workshops continued even after MTS development work began to taper off. Called simply the "community workshop", they continued until the mid-1990s to share expertise and common experiences in providing computing services, even though MTS was no longer the primary source for computing on their campuses and some had stopped running MTS entirely.
MTS sites
In addition to the eight MTS Consortium sites that were involved in its development, MTS was run at a number of other sites, including:- Centro Brasileiro de Pesquisas Fisicas within the Conselho Nacional de Desenvolvimento Científico e Tecnológico, Brazil
- Empresa Brasileira de Pesquisa Agropecuária, Brazil
- Hewlett-Packard, US
- Michigan State University, US
- Goddard Space Flight Center, National Aeronautics and Space Administration, US
INRIA, the French national institute for research in computer science and control in Grenoble, France ran MTS on a trial basis, as did the University of Waterloo in Ontario, Canada, Southern Illinois University, the Naval Postgraduate School, Amdahl Corporation, ST Systems for McGill University Hospitals, Stanford University, and University of Illinois in the United States, and a few other sites.
Hardware
In theory MTS will run on the IBM S/360-67, any of the IBM S/370 series, and its successors. MTS has been runon the following computers in production, benchmarking, or trial configurations:
- IBM: S/360-67, S/370-148, S/370-168, 3033U, 4341, 4361, 4381, 3081D, 3081GX, 3083B, 3090-200, 3090-400, 3090-600, and ES/9000-720
- Amdahl: 470V/6, 470V/7, 470V/8, 5860, 5870, 5990
- Hitachi: NAS 9060
- Various S/370 emulators
MTS was designed to support up to four processors on the IBM S/360-67, although IBM only produced one and two processor configurations of the Model 67. In 1984 RPI updated MTS to support up to 32 processors in the IBM S/370-XA hardware series, although 6 processors is likely the largest configuration actually used. MTS supports the IBM Vector Facility, available as an option on the IBM 3090 and ES/9000 systems.
In early 1967 running on the single processor IBM S/360-67 at UM without virtual memory support, MTS was typically supporting 5 simultaneous terminal sessions and one batch job. In November 1967 after virtual memory support was added, MTS running on the same IBM S/360-67 was simultaneously supporting 50 terminal sessions and up to 5 batch jobs. In August 1968 a dual processor IBM S/360-67 replaced the single processor system, supporting roughly 70 terminal and up to 8 batch jobs. By late 1991 MTS at UM was running on an IBM ES/9000-720 supporting over 600 simultaneous terminal sessions and from 3 to 8 batch jobs.
MTS can be IPL-ed under VM/370, and some MTS sites did so, but most ran MTS on native hardware without using a virtual machine.
Features
Some of the notable features of MTS include:- The use of Virtual memory and Dynamic Address Translation on the IBM S/360-67 in 1967.
- The use of multiprocessing on an IBM S/360-67 with two CPUs in 1968.
- Programs with access to very large virtual address spaces.
- A straightforward command language that is the same for both terminal and batch jobs.
- A strong device independent input/output model that allows the same commands and programs to access terminals, disk files, printers, magnetic and paper tapes, card readers and punches, floppy disks, network hosts, and an audio response unit.
- A file system with support for "line files" where the line numbers and length of individual lines are stored as metadata separate from the data contents of the line, and the ability to read, insert, replace, and delete individual lines anywhere in the file without the need to read or write the entire file.
- A file editor with both command line and "visual" interfaces and pattern matching based on SNOBOL4 patterns.
- The ability to share files in controlled ways.
- The ability to permit files, not just to other user IDs and projects, but to specific commands or programs and combinations of user IDs, projects, commands and programs.
- The ability for multiple users to manage simultaneous access to files with the ability to implicitly and explicitly lock and unlock files and to detect deadlocks.
- Network host to host access from commands and programs as well as access to or from remote network printers, card readers and punches.
- An e-mail system that supports local and network mail with the ability to send to groups, to recall messages that haven't already been read, to add recipients to messages after they have been sent, and to display a history of messages in an e-mail chain without the need to include the text from older messages in each new message.
- The ability to access tapes remotely, and to handle data sets that extend across multiple tapes efficiently.
- The availability of a rich collection of well-documented subroutine libraries.
- The ability for multiple users to quickly load and use a collection of common reentrant subroutines, which are available in shared virtual memory.
- The availability of compilers, assemblers, and a Symbolic Debugging System that allow users to debug programs written in high-level languages such as FORTRAN, Pascal, PL/I,... as well as in assembly language.
- A strong protection model that uses the virtual memory hardware and the S/360 and S/370 hardware's supervisor and problem states and via software divides problem state execution into system and user modes. Relatively little code runs in supervisor state. For example, Device Support Routines are not part of the supervisor and run in system mode in problem state rather than in supervisor state.
- A simulated Branch on Program Interrupt instruction.
Programs developed for MTS
- Awit, a computer chess program written in Algol W by Tony Marsland.
- Chaos, one of the leading computer chess programs from 1973 through 1985. Written in FORTRAN Chaos started at RCA Systems Programming division in Cinnaminson, NJ with Fred Swartz and Victor Berman as first authors, Mike Alexander and others joined the team later and moved development to MTS at the UM Computing Center.
- CONFER II, one of the first computer conferencing systems. CONFER was developed by Robert Parnes starting in 1975 while he was a graduate student and with support from the University of Michigan's and School of Education.
- FakeOS, a simulator that allows object modules containing OS/360 SVCs, control blocks, and references to OS/360 access methods to execute under MTS.
- Forum, a computer conferencing system developed by staff of the Computing Centre at the University of British Columbia.
- GOM, a compiler for the 7090 MAD language converted to run under MTS by Don Boettner of the UM's Computing Center.
- IF, developed by the University of British Columbia Computing Centre.
- MICRO Information Management System, one of the earliest relational database management systems implemented in 1970 by the Institute for Labor and Industrial Relations at the University of Michigan.
- MIDAS, an interactive statistical analysis package developed by Dan Fox and others at UM's Statistical Research Laboratory.
- Plus, a programming language developed by Alan Ballard and Paul Whaley of the Computing Centre at the University of British Columbia.
- TAXIR, an information storage and retrieval system designed for taxonomic data at the University of Colorado by David Rogers, Henry Fleming, Robert Brill, and George Estabrook and ported to MTS and enhanced by Brill at the University of Michigan.
- Textform, a text-processing program developed at the University of Alberta's Computing Centre to support device independent output to a wide range of devices from line printers, to the Xerox 9700 page printers, to advanced phototypesetting equipment using fixed width and proportional fonts.
- VSS, a simulator developed at the University of British Columbia's Computing Centre that makes it possible to run OS/MFT, OS/MVT, VS1, and MVS application programs under MTS.
Programs that run under MTS
- APL VS, IBM's APL VS compiler program product.
- ASMH, a version of IBM's 370 assembler with enhancements from SLAC and MTS.
- COBOL VS, IBM's COBOL VS compiler program product.
- CSMP, IBM's Continuous System Modeling Program.
- Fortran, the G, H, and VS compilers from IBM.
- GASP, a FORTRAN based discrete simulation package.
- Kermit, Columbia University's communications software and protocol
- MPS, IBM's Mathematical Programming System/360.
- NASTRAN, finite element analysis program originally developed by and for NASA.
- OSIRIS, a collection of statistical analysis programs developed at the .
- PascalSB, the Stony Brook Pascal compiler.
- Pascal/SLAC, the Pascal compiler from the Stanford Linear Accelerator Center.
- Pascal VS, IBM's Pascal VS compiler program product.
- PL/I Optimizing Compiler from IBM.
- REDUCE2, an algebraic language implemented in LISP.
- SAS.
- SHAZAM, a package for estimating, testing, simulating and forecasting econometrics and statistical models
- SIMSCRIPT II.5, a free-form, English-like, general-purpose discrete event simulation language.
- SPIRES, a database management system.
- SPSS
- TELL-A-GRAPH, a proprietary conversational graphics program from of San Diego, CA.
- TEX, Don Knuth's TeX text-processing program.
- TROLL, econometric modeling and statistical analysis
Programming languages available under MTS
- ALGOL W
- ALGOL 68
- APL
- Assembler
- BASIC, WBASIC
- BCPL
- C
- COBOL
- EXPL
- FORTRAN
- GASP
- GOM
- GPSS/H
- ICON
- IF
- MAD/I
- MPS, IBM's Mathematical Programming System/360
- MTS LISP 1.5
- Pascal
- PIL, PIL/2
- PL/I
- PL/M
- PL360
- Plus
- Prolog
- Simula
- SUE
- SNOBOL4
- SPITBOL
- UMIST
System architecture
Manuals and documentation
The lists that follow are quite University of Michigan centric. Most other MTS sites used some of this material, but they also produced their own manuals, memos, reports, and newsletters tailored to the needs of their site.End-user documentation
The manual series MTS: The Michigan Terminal System, was published from 1967 through 1991, in volumes 1 through 23, which were updated and reissued irregularly. Initial releases of the volumes did not always occur in numeric order and volumes occasionally changed names when they were updated or republished. In general, the higher the number, the more specialized the volume.The earliest versions of MTS Volume I and II had a different organization and content from the MTS volumes that followed and included some internal as well as end user documentation. The second edition from December 1967 covered:
- MTS Volume I: Introduction; Concepts and facilities; Calling conventions; Batch, Terminal, Tape, and Data Concentrator user's guides; Description of UMMPS and MTS; Files and devices; Command language; User Programs; Subroutine and macro library descriptions; Public or library file descriptions; and Internal specifications: Dynamic loader, File and Device Management, Device Support Routines, and File routines
- MTS Volume II: Language processor descriptions: F-level assembler; FORTRAN G; IOH/360; PIL; SNOBOL4; UMIST; WATFOR; and 8ASS
- 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
- MTS Reference Summary, a ~60 page, 3" x 7.5", pocket guide to MTS, Computing Center, University of Michigan
- The Taxir primer: MTS version, Brill, Robert C., Computing Center, University of Michigan
- Fundamental Use of the Michigan Terminal System, Thomas J. Schriber, 5th Edition, Ulrich's Books, Inc., Ann Arbor, MI, 1983, 376 pp.
- Digital computing, FORTRAN IV, WATFIV, and MTS , Brice Carnahan and James O Wilkes, University of Michigan, Ann Arbor, MI, 1968–1979, 1976 538 p.
- Documentation for MIDAS, Michigan Interactive Data Analysis System, Statistical Research Laboratory, University of Michigan
- OSIRIS III MTS Supplement, Center for Political Studies, University of Michigan
A long run of newsletters targeted to end-users at the University of Michigan with the titles Computing Center News, Computing Center Newsletter, U-M Computing News, and the Information Technology Digest were published starting in 1971.
There was also introductory material presented in the User Guide, MTS User Guide, and Tutorial series, including:
- Getting connected—Introduction to Terminals and Microcomputers
- Introduction to the Computing Center
- Introduction to Computing Center services
- Introduction to Database Management Systems on MTS
- Introduction to FORMAT
- Introduction to Magnetic Tapes
- Introduction to MTS
- Introduction to the MTS File Editor
- Introduction to Programming and Debugging in MTS
- Introduction to Terminals
- Introduction to Terminals and Microcomputers
Internals documentation
- MTS Operators Manual
- MTS Message Manual
- MTS Volume n: Systems Edition
- MTS Volume 99: Internals Documentation
- Supervisor Call Descriptions
- Disk Disaster Recovery Procedures
- A series of lectures describing the architecture and internal organization of the Michigan Terminal System given by Mike Alexander, Don Boettner, Jim Hamilton, and Doug Smith
Distribution
MTS distributions included the updates needed to run licensed program products and other proprietary software under MTS, but not the base proprietary software itself, which had to be obtained separately from the owners. Except for IBM's Assembler H, none of the licensed programs were required to run MTS.
The last MTS distribution was D6.0 released in April 1988. It consisted of 10,003 files on six 6250 bpi magnetic tapes. After 1988, distribution of MTS components was done in an ad hoc fashion using network file transfer.
To allow new sites to get started from scratch, two additional magnetic tapes were made available, an IPLable boot tape that contained a minimalist version of MTS plus the DASDI and DISKCOPY utilities that could be used to initialize and restore a one disk pack starter version of MTS from the second magnetic tape. In the earliest days of MTS, the standalone TSS DASDI and DUMP/RESTORE utilities rather than MTS itself were used to create the one-disk starter system.
There were also less formal redistributions where individual sites would send magnetic tapes containing new or updated work to a coordinating site. That site would copy the material to a common magnetic tape, and send copies of the tape out to all of the sites. The contents of most the redistribution tapes seem to have been lost.
Today, complete materials from the six full and the ten partial MTS distributions as well as from two redistributions created between 1968 and 1988 are available from the Bitsavers Software archive and from the University of Michigan's Deep Blue digital archive.
Working with the D6.0 distribution materials, it is possible to create an IPLable version of MTS. A new D6.0A distribution of MTS makes this easier. D6.0A is based on the D6.0 version of MTS from 1988 with various fixes and updates to make operation under Hercules in 2012 smoother. In the future, an IPLable version of MTS will be made available based upon the version of MTS that was in use at the University of Michigan in 1996 shortly before MTS was shut down.
Licensing
As of December 22, 2011, the MTS Distribution materials are freely available under the terms of the Creative Commons Attribution 3.0 Unported License.In its earliest days MTS was made available for free without the need for a license to sites that were interested in running MTS and which seemed to have the knowledgeable staff required to support it.
In the mid-1980s licensing arrangements were formalized with the University of Michigan acting as agent for and granting licenses on behalf of the MTS Consortium. MTS licenses were available to academic organizations for an annual fee of $5,000, to other non-profit organizations for $10,000, and to commercial organizations for $25,000. The license restricted MTS from being used to provide commercial computing services. The licensees received a copy of the full set of MTS distribution tapes, any incremental distributions prepared during the year, written installation instructions, two copies of the current user documentation, and a very limited amount of assistance.
Only a few organizations licensed MTS. Several licensed MTS in order to run a single program such as CONFER. The fees collected were used to offset some of the common expenses of the MTS Consortium.
Archives
- , a collection of documents, photographs, movies, and other materials related to MTS and the organizations and people that developed and used it
- at Bitsavers'
- at the University of Michigan's Deep Blue digital archive
- - A pre-built version of MTS for use with the Hercules S/370 emulator, available from the MTS Archive
- at Bitsavers'
- The at the contains full text versions of over 250 documents related to MTS that are available for online viewing.
- The in the University of Michigan's Deep Blue digital archive contains over 50 items, mostly PDFs, but also a few videos, related to MTS and the U-M Computing Center.
Papers
- , Elvert F. Hinson, Master's thesis, Naval Postgraduate School, Monterey, CA., December 1971
- , B. Arden and D. Boettner, Proceedings of the 2nd ACM Symposium on Operating Systems Principles, pp. 130–46, October 1969
- , a list of published literature about MTS
- , Donald W. Boettner and Michael T. Alexander, ACM SIGOPS Operating Systems Review, Volume 4, Issue 4
- , Donald W. Boettner and Michael T. Alexander, Proceedings of the IEEE, Volume 63, Issue 6, pp. 912–918
- , Vol. XXVII, No. 1, U-M Research News, 24 pages
Web sites
- , collected by former University of Michigan Computing Center staff member Tom Valerio
- by Dan Boulet a student and later Computing Services staff member at the University of Alberta
- by Mark Riordan of Michigan State University's Computer Laboratory
- from the May 13, 1996 issue of the University of Michigan Information Technology Digest, Volume 5, No. 5, giving the history of and reminiscences about MTS, Merit, and UMnet on the eve of MTS's retirement at the University of Michigan, preserved on Web pages created by Josh Simon
- , a web site showing how to run MTS under the Hercules emulator, tutorials on using the system and on several of the programming languages available on MTS
- , logon and look around like a student would in the 90's