Recent from talks
Nothing was collected or created yet.
Michigan Terminal System
View on Wikipedia| Michigan Terminal System (MTS) | |
|---|---|
The MTS welcome screen as seen through a 3270 terminal emulator. | |
| Developer | University of Michigan and 7 other universities in the US, Canada, and the UK |
| Written in | various languages, mostly 360/370 Assembly language |
| Working state | Historic |
| Initial release | 1967 |
| Latest release | 6.0 (final) / 1988 |
| Available in | English |
| Supported platforms | IBM S/360-67, IBM S/370 and successors |
| Default user interface | Command-line interface |
| License | Free (CC BY 3.0) |
| Preceded by | University of Michigan Executive System |
| Official website | archive.org |
| History of IBM mainframe operating systems |
|---|
The Michigan Terminal System (MTS) is one of the first time-sharing computer operating systems.[1] Created 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 (1967 to 1999).[2]
Overview
[edit]The University of Michigan Multiprogramming Supervisor (UMMPS) was initially 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 (MTS) 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.[2]
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 (CLSs), public files (programs), 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.
MTS was used on a production basis at about 13 sites in the United States, Canada, the United Kingdom, Brazil, and possibly in Yugoslavia and at several more sites on a trial or benchmarking basis. MTS was developed and maintained by a core group of eight universities included in the MTS Consortium.
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".[3] It ceased operating MTS for end-users on June 30, 1996.[4] 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.[5]
Rensselaer Polytechnic Institute (RPI) is believed to be the last site to use MTS in a production environment. RPI retired MTS in June 1999.[6]
Today, MTS still runs using IBM S/370 emulators such as Hercules, Sim390,[7] and FLEX-ES.[8]
Origins
[edit]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 (UMES), but was interested in offering interactive services using time-sharing.[9] 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 (all associate directors at UM's academic Computing Center), and Tom O'Brian building upon some basic ideas developed at the Massachusetts Institute of Technology (MIT) was published in January 1966.[10] The paper outlined a virtual memory architecture using dynamic address translation (DAT) 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 (DAT) features that would support virtual memory and accommodate UM's desire to support time-sharing. The computer was dubbed the Model S/360-65M.[9] 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 (MIT) Lincoln Laboratory, Princeton University, and Carnegie Institute of Technology (later Carnegie Mellon University). 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.[1] 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 (TSS stood for Time-sharing System) for delivery at roughly the same time as the first model S/360-67.
While waiting for the Model 65M to arrive, U of M 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 (Conversational Use of Computers) Project.[11] 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,[1] which was modified and became the U of M Multi-Programming Supervisor (UMMPS) 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 (serial number 2) arrived at the Computing Center in January 1967.[12] 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 U of M and other sites for 33 years.
MTS Consortium
[edit]MTS was developed, maintained, and used by a consortium of eight universities in the US, Canada, and the United Kingdom:[2][13]
- University of Michigan (U of M), 1967 to 1997,[14] US
- University of British Columbia (UBC), 1968 to 1998, Canada
- NUMAC (University of Newcastle upon Tyne, University of Durham, and Newcastle Polytechnic),[15] 1969 to 1992, United Kingdom
- University of Alberta (UQV), 1971 to 1994,[16] Canada
- Wayne State University (WSU), 1971 to 1998, US
- Rensselaer Polytechnic Institute (RPI), 1976 to 1999, US
- Simon Fraser University (SFU), 1977 to 1992,[17] Canada
- University of Durham (NUMAC),[15] 1982 to 1992,[18] United Kingdom
Several sites ran more than one MTS system: NUMAC ran two (first at Newcastle and later at Durham), Michigan ran three in the mid-1980s (UM for Maize, UB for Blue, and HG at Human Genetics), UBC ran three or four at different times (MTS-G, MTS-L, MTS-A, and MTS-I for general, library, administration, and instruction).
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.[19]
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.[20]

Starting at UBC in 1974[21] 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.[22] In the mid-1980s several Western Workshops were held with participation by a subset of the MTS sites (UBC, SFU, UQV, UM, and possibly RPI).
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
[edit]In addition to the eight MTS Consortium sites that were involved in its development, MTS was run at a number of other sites, including:[13]
- Centro Brasileiro de Pesquisas Fisicas (CBPF)[23] within the Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq),[24] Brazil
- Empresa Brasileira de Pesquisa Agropecuária (EMBRAPA),[25] Brazil
- Hewlett-Packard (HP), US
- Michigan State University (MSU), US
- Goddard Space Flight Center, National Aeronautics and Space Administration (NASA), US
A copy of MTS was also sent to the University of Sarajevo, Yugoslavia, though whether or not it was ever installed is not known.
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
[edit]

In theory MTS will run on the IBM S/360-67, any of the IBM S/370 series which include virtual memory, and their successors. MTS has been run on the following computers in production, benchmarking, or trial configurations:[2]
- 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
The University of Michigan installed and ran MTS on the first IBM S/360-67 outside of IBM (serial number 2) in 1967, the second Amdahl 470V/6 (serial number 2) in 1975,[26][27] the first Amdahl 5860 (serial number 1) in 1982, and the first factory shipped IBM 3090–400 in 1986.[28] NUMAC ran MTS on the first S/360-67 in the UK and very likely the first in Europe.[29] The University of British Columbia (UBC) took the lead in converting MTS to run on the IBM S/370 series (an IBM S/370-168) in 1974. The University of Alberta installed the first Amdahl 470V/6 in Canada (serial number P5) in 1975.[16] By 1978 NUMAC (at University of Newcastle upon Tyne and University of Durham) had moved main MTS activity on to its IBM S/370 series (an IBM S/370-168).
MTS was designed to support up to four processors on the IBM S/360-67, although IBM only produced one (simplex and half-duplex) and two (duplex) processor configurations of the Model 67. In 1984 RPI updated MTS to support up to 32 processors in the IBM S/370-XA (Extended Addressing) hardware series, although 6 processors is likely the largest configuration actually used.[30] MTS supports the IBM Vector Facility,[31] 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.[2] 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.[2] 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.[32] 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.[2]
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
[edit]Some of the notable features of MTS include:[33]
|
|
Programs developed for MTS
[edit]The following are some of the notable programs developed for MTS:[46]
|
|
Programs that run under MTS
[edit]The following are some of the notable programs ported to MTS from other systems:[46]
|
|
Programming languages available under MTS
[edit]MTS supports a rich set of programming languages, some developed for MTS and others ported from other systems:[46]
|
|
System architecture
[edit]| State | Mode[37] | 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, ...) | on or off | |||
| Supervisor (UMMPS) | supervisor | n/a | off | off |
| S/360-67 or S/370 hardware | ||||
UMMPS, the supervisor, has complete control of the hardware and manages a collection of job programs.[32] One of the job programs is MTS, the job program with which most users interact.[2] MTS operates as a collection of command language subsystems (CLSs). One of the CLSs allows for the execution of user programs. MTS provides a collection of system subroutines that are available to CLSs, user programs, and MTS itself.[41] Among other things these system subroutines provide standard access to Device Support Routines (DSRs), the components that perform device dependent input/output.
Manuals and documentation
[edit]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
[edit]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.[20] 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 (UMLOAD), File and Device Management (DSRI prefix and postfix), Device Support Routines (DSRs), and File routines[106]
- MTS Volume II: Language processor descriptions: F-level assembler; FORTRAN G; IOH/360; PIL; SNOBOL4; UMIST; WATFOR; and 8ASS (PDP-8 assembler)[103]
The following MTS Volumes were published by the University of Michigan Computing Center[2] and are available as PDFs:[107][108][109][110]
- 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 (revised), Ulrich's Books, Inc., Ann Arbor, MI, 1983, 376 pp.
- Digital computing, FORTRAN IV, WATFIV, and MTS (with *FTN and *WATFIV), 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[111]
- OSIRIS III MTS Supplement, Center for Political Studies, University of Michigan[112]
Various aspects of MTS at the University of Michigan were documented in a series of Computing Center Memos (CCMemos)[108][113] which were published irregularly from 1967 through 1987, numbered 2 through 924, though not necessarily in chronological order. Numbers 2 through 599 are general memos about various software and hardware; the 600 series are the Consultant's Notes series—short memos for beginning to intermediate users; the 800 series covers issues relating to the Xerox 9700 printer, text processing, and typesetting; and the 900 series covers microcomputers. There was no 700 series. In 1989 this series continued as Reference Memos with less of a focus on MTS.[114][115]

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.[108][113]
There was also introductory material presented in the User Guide, MTS User Guide, and Tutorial series, including:[108]
- 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
[edit]The following materials were not widely distributed, but were included in MTS Distributions:[20][107][109]
- MTS Operators Manual[116]
- MTS Message Manual
- MTS Volume n: Systems Edition[117][118]
- MTS Volume 99: Internals Documentation[119]
- Supervisor Call Descriptions[120]
- Disk Disaster Recovery Procedures[121]
- 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 (4 audio tapes, lecture notes, and transcriptions)
Distribution
[edit]The University of Michigan released MTS on magnetic tape on an irregular basis.[20] There were full and partial distributions, where full distributions (D1.0, D2.0, ...) included all of the MTS components and partial distributions (D1.1, D1.2, D2.1, D2.2, ...) included just the components that had changed since the last full or partial distribution. Distributions 1.0 through 3.1 supported the IBM S/360 Model 67, distribution 3.2 supported both the IBM S/360-67 and the IBM S/370 architecture, and distributions D4.0 through D6.0 supported just the IBM S/370 architecture and its extensions.
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 (RD1, RD2, ...), and send copies of the tape out to all of the sites. The contents of most of 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[122][123] and from the University of Michigan's Deep Blue digital archive.[124][125]
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.[126] 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.[123]
Licensing
[edit]As of December 22, 2011, the MTS Distribution materials are freely available under the terms of the Creative Commons Attribution 3.0 Unported License (CC BY 3.0).[127]
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.[128] 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.
See also
[edit]References
[edit]- ^ a b c Akera, Atsushi (Jan–Mar 2008), "The Life and Work of Bernard A. Galler (1928–2006)" (PDF), Annals of the History of Computing, 30 (1): 8, doi:10.1109/mahc.2008.15, S2CID 22790110,
In late 1968, MTS was the only large-scale timesharing system to be in regular, reliable operation in the US
. - ^ a b c d e f g h i The Michigan Terminal System (PDF), vol. 1, Ann Arbor, Michigan: University of Michigan, Information Technology Division, Consulting and Support Services, November 1991, pp. 9, 13–14.
- ^ "ITD Reaffirms MTS Commitment". U-M Computing News. 3 (19): 2. October 1988.
- ^ "MTS Service to End", Information Technology Digest, Vol. 5, No. 5 (May 12, 1996), p.7
- ^ "MTS Timeline", Information Technology Digest, University of Michigan, pp.10-11, Volume 5, No. 5 (May 13, 1966)
- ^ "MTS Timeline", an after the fact one entry addition for 1999 to Information Technology Digest, University of Michigan, Volume 5, No. 5 (May 13, 1966)
- ^ Sim390, an ESA/390 emulator
- ^ FLEX-ES, a S/390 and z/Architecture emulator
- ^ a b "A History of MTS—30 Years of Computing Service", Susan Topol, Information Technology Digest, Volume 5, No. 5 (May 13, 1996), University of Michigan
- ^ "Program and Addressing Structure in a Time-Sharing Environment", B. W. Arden, B. A. Galler, T. C. O'Brien, F. H. Westervelt, Journal of the ACM, v.13 n.1, p.1-16, Jan. 1966
- ^ CONCOMP: Research in Conversational Use of Computers: Final Report, Westervelt, F. H., University of Michigan Computing Center, 1970
- ^ The IBM 360/67 and CP/CMS, Tom Van Vleck
- ^ a b "How did sites learn about and make the decision to use MTS?", an item in the discussion section of the Michigan Terminal System Archive
- ^ "Josh Simon's Work Information: MTS Retired". clock.org.
- ^ a b "How computers have changed since 1968", ITS News, Computing and Information Services, Durham University, 29 January 2005. Northumbrian Universities Multiple Access Computer (N.U.M.A.C.), a collaboration between of the universities of Durham (DUR), Newcastle upon Tyne (UNE) and Newcastle Polytechnic that shared a S/360-67 at Newcastle starting in 1969
- ^ a b "Timeline: Computing Services at the University of Alberta". ualberta.ca.
- ^ Van Epp, Peter; Baines, Bill (October 19–23, 1992). "Dropping the Mainframe Without Crushing the Users: Mainframe to Distributed UNIX in Nine Months". Simon Fraser University: LISA VI Conference (Long Beach, California). CiteSeerX 10.1.1.56.2631.
{{cite journal}}: Cite journal requires|journal=(help) - ^ In 1982 "How computers have changed since 1968", ITS News, Computing and Information Services, Durham University, 29 January 2005. NUMAC installed a separate machine running MTS at the University of Durham, prior to that both DUR and UNE shared a single MTS system running at the University of Newcastle upon Tyne.
- ^ It is difficult to properly give credit for all the work that was done, however, to avoid giving too little credit and at the risk of not giving proper credit to everyone that made contributions, an attempt is made to note the sites where a major feature or enhancement was initially developed
- ^ a b c d e Michigan Terminal System (MTS) subseries, Computing Center publications, 1965-1999, Bentley Historical Library, University of Michigan
- ^ Proceedings - MTS Systems Workshop, 1974, University of British Columbia, Canada
- ^ MTS (Michigan Terminal System) 1970-1986 series, Computing Center (University of Michigan) records, 1952-1996 and 1959-1987, Bentley Historical Library, University of Michigan
- ^ CBPF is the Brazilian Center for Physics Research Archived April 10, 2012, at the Wayback Machine
- ^ CNPq is the National Council of Scientific and Technological Development Archived 2013-07-16 at the Wayback Machine
- ^ EMBRAPA is the Brazilian Enterprise for Agricultural Research
- ^ Amdahl 470/V6 mainframe computer - X436.84A - Computer History Museum. 1975.
{{cite book}}:|work=ignored (help) - ^ "A performance Comparison of the Amdahl 470V/6 and the IBM 370/168", Allan R. Emery and M. T. Alexander, a paper read at the meeting of the Computer Measurement Group, October 1975, San Francisco
- ^ Earlier 3090-400s were upgraded in the field from 3090-200s, "Installing the 3090", UM Computing News, vol 1, no. 8, 10 November 1986, p. 5
- ^ "E-mail from Ewan Page, First Director at NUMAC, to Denis Russell, 19 April 2011
- ^ MTS History at RPI, 1989, 5p.
- ^ "The IBM System/370 vector architecture", W. Buchholz, IBM Systems Journal, Volume 25, No. 1 (1986), pp. 51-62
- ^ a b "Organization and features of the Michigan Terminal System", M. T. Alexander, p. 586, Proceedings of the May 1972 AFIPS Spring Joint Computer Conference
- ^ MTS Innovations in A History of MTS: 30 Years of Computing Service, Information Technology Digest, Volume 5, No. 5 (May 13, 1966), University of Michigan
- ^ "Michigan Terminal System". udel.edu.
- ^ a b "A file system for a general-purpose time-sharing environment", G. C. Pirkola, Proceedings of the IEEE, June 1975, volume 63 no. 6, pp. 918–924, ISSN 0018-9219
- ^ MTS Volume 18: MTS File Editor, University of Michigan Computing Center, Ann Arbor, Michigan, 210 pp.
- ^ a b c "The Protection of Information in a General Purpose Time-Sharing Environment", Gary C. Pirkola and John Sanguinetti, Proceedings of the IEEE Symposium on Trends and Applications 1977: Computer Security and Integrity, vol. 10 no. 4, pp. 106-114
- ^ "A Chronicle of Merit's Early History". Merit Network. 2008. Archived from the original on 2009-02-07. Retrieved 2008-09-15.—A university press release called a demonstration of the network (with a connection between UM and Wayne State University) on December 14, 1971, as "a milestone in higher education" and an "historic event."
- ^ MTS Volume 23: Messaging and Conferencing in MTS, University of Michigan Computing Center, Ann Arbor, Michigan
- ^ MTS Volume 19: Magnetic Tapes (The description of floppy-disk support has been removed from this volume.), University of Michigan Computing Center, Ann Arbor, Michigan
- ^ a b MTS Volume 3: System Subroutine Descriptions, University of Michigan Computing Center, Ann Arbor, Michigan
- ^ "The Internal Design of the IG Routines, an Interactive Graphics System for a Large Timesharing Environment", James Blinn and Andrew Goodrich, SIGGRAPH Proceedings, 1976, pp. 229-234
- ^ "The use of the monitor call instruction to implement domain switching in the IBM 370 architecture", John Sanguinetti, University of Michigan Computing Center, ACM SIGOPS Operating Systems Review, Volume 15, Issue 4 (October 1981), pp.55-61
- ^ "A penetration analysis of the Michigan Terminal System", B. Hebbard, P. Grosso, et al., ACM SIGOPS Operating Systems Review, Volume 14, Issue 1 (January 1980), pp.7-20
- ^ MTS Volume 14: 360/370 Assemblers in MTS, University of Michigan Computing Center, Ann Arbor, Michigan
- ^ a b c d MTS Volume 2: Public File Descriptions, University of Michigan Computing Center, Ann Arbor, Michigan
- ^ "chessprogramming - Awit". Archived from wikispaces.com. Archived from the original on 2013-12-06.
- ^ "chessprogramming - Chaos". archived from wikispaces.com. Archived from the original on 2013-12-05.
- ^ "Computer-based educational communications at the University of Michigan", Karl L. Zinn, Robert Parnes, and Helen Hench, Center for Research on Learning and Teaching (CRLT), University of Michigan, Proceedings of the ACM Annual Conference/Meeting, 1976, pages 150-154
- ^ The History of the Student Conferencing Project, University of Michigan, c. 1997
- ^ a b GOM: Good Old Mad, Donald Boettner, June 1989, University of Michigan Computing Center, 110p.
- ^ a b "IF: An Interactive FORTRAN compiler" Archived 2014-12-16 at the Wayback Machine, Ron Hall, SHARE 41 Proceedings, 15 August 1973, Miami Beach, Florida, 8 pages.
- ^ MICRO Information Management System (Version 5.0) Reference Manual, M.A. Kahn, D.L. Rumelhart, and B.L. Bronson, October 1977, Institute of Labor and Industrial Relations (ILIR), University of Michigan and Wayne State University
- ^ MICRO: A Relational Database Management System, Harry F. Clark, David E. Hetrick, Robert C. Bressan, July 1992, Institute of Labor and Industrial Relations (ILIR), University of Michigan, 451 pages, ISBN 9780877363507
- ^ Documentation for MIDAS: Michigan Interactive Data Analysis System, by Daniel J. Fox and Kenneth E. Guire, 1974, Statistical Research Laboratory University of Michigan, Ann Arbor
- ^ a b "The Plus Systems Programming Language", Alan Ballard and Paul Whaley, in Proceedings of Canadian Information Processing Society (CIPS) Congress 84, June 1984.
- ^ a b UBC PLUS: The Plus Programming Language, Allan Ballard and Paul Whaley, October 1987, University of British Columbia Computing Centre, 198pp.
- ^ The Taxir Primer, R. C. Brill, 1971, Colorado Univ., Boulder. Inst. of Arctic and Alpine Research
- ^ "A New Tool for Publishing Printed Material", TEXTFORM Group, University of Alberta, Share 48 Proceedings, Vol II, pp. 1042-1056, 1977.
- ^ "Publishing, Word Processing and TEXTFORM", Grant Crawford, University of Alberta, in Canadian Information Processing Society (CIPS) Session '78 Proceedings, pp. 88-92, 1978.
- ^ Textform, Computing Services, University of Alberta, 1984, 216 p.
- ^ Textform Reference Manual, Computing Center, University of Michigan, January 1986.
- ^ Nilsen, Ragnar N.; Karplus, Walter J. (1974). "Continuous-system simulation languages: A state-of-the-art survey". Mathematics and Computers in Simulation. 16: 17–25. doi:10.1016/S0378-4754(74)80003-0.
- ^ Simulation with GASP II, A. A. B. Pritzker and Philip J. Kiviat, Prentice-Hall, 1969
- ^ da Cruz, Frank (1984-01-06). "Announcing KERMIT for MTS". Info-Kermit Digest (Mailing list). Kermit Project, Columbia University. Retrieved 23 February 2016.
- ^ a b MPS/360 Version 2, Linear and Separable Programming User's Manual (GH20-0476), 1971, IBM Corporation
- ^ MSC/NASTRAN at the University of Michigan, William J. Anderson and Robert E. Sandstorm, 1982, University of Michigan College of Engineering
- ^ Van Eck, Neal A. (1980). "Statistical Analysis and Data Management Highlights of OSIRIS IV". The American Statistician. 34 (2): 119–121. doi:10.2307/2684124. ISSN 0003-1305. JSTOR 2684124.
- ^ "REDUCE 2: A system and language for algebraic manipulation", Proceedings of the Second ACM Symposium on Symbolic and Algebraic Manipulation, 1971, pages 128-133
- ^ Building Simulation models with SIMSCRIPT II.5, Edward C. Russell, 1999, CACI, Los Angeles, CA
- ^ TELL-A-GRAF in MTS, Dave Whipple, Computing Center Memo 450, University of Michigan, March 1983.
- ^ The Texbook by Don Knuth, 1984, Addison-Wesley Publishing Company, 496 pages, ISBN 0201134489.
- ^ History of TROLL, Portable TROLL Online Help, Intex Solutions, Inc. (Boston), 1996. Retrieved June 19, 2014.
- ^ MTS Volume 16: ALGOL W in MTS, University of Michigan Computing Center, Ann Arbor, Michigan
- ^ Revised Report on the Algorithmic Language ALGOL 68 (PDF) Archived 2014-04-10 at the Wayback Machine, A. van Wijngaarden, et al.
- ^ Computing Center CCMemo 435: MTS VS APL User's Guide, Edward J. Fronczak, Computing Center, University of Michigan, August 1982.
- ^ A Programming Language, K. E. Iverson, 1962, John Wiley & Sons, 315 pages, ISBN 0-471430-14-5.
- ^ APL Language, IBM publication GC26-3874.
- ^ APL\360 Primer, IBM publication GH20-0689.
- ^ MTS Volume 10: Basic in MTS, University of Michigan Computing Center, Ann Arbor, Michigan
- ^ Waterloo BASIC - A Structured Programming Approach, Primer and Reference Manual, J. W. Grahm, et al., 1980, WATFAC Publications Ltd., Waterloo, Ontario, Canada
- ^ The BCPL Reference Manual Archived 2014-10-21 at the Wayback Machine, Memorandum M-352, Project MAC, Cambridge, July, 1967
- ^ IBM OS Full American National Standard COBOL System Library Manual, IBM publication GC28-6396.
- ^ CCMemo 439: IBM VS COBOL under MTS, Howard Young, Computing Center, University of Michigan, June 1982.
- ^ CCMemo 416: EXPL - Extended XPL, Pat Sherry, Computing Center, University of Michigan, May 1980.
- ^ MTS Volume 6: FORTRAN in MTS, University of Michigan Computing Center, Ann Arbor, Michigan
- ^ GPSS/H Reference Manual, James O. Henriksen and Robert C. Crain, Wolverine Software Corp., 1989.
- ^ IBM General Purpose Simulation System V User's Manual, IBM publication SH20-0851
- ^ Simulation Using GPSS, Thomas J. Schriber, 1974, John Wiley & Sons, 533 pages, ISBN 0471763101.
- ^ The ICON Programming Language, Ralph E. Griswold and Madge T. Griswold, 1983, Prentice-Hall, N.Y., 336 pages, ISBN 0134497775.
- ^ MTS Volume 8: LISP and SLIP in MTS, University of Michigan Computing Center, Ann Arbor, Michigan
- ^ LISP 1.5 Programmer's Manual, J. McCarthy, et al., 1962, MIT Press, Cambridge, MA
- ^ MTS Volume 20: PASCAL in MTS, University of Michigan Computing Center, Ann Arbor, Michigan
- ^ CCMemo 436: Pascal VS in MTS, Douglas Orr, Computing Center, University of Michigan, August 1982.
- ^ Pascal/VS Language Reference Manual Archived 2014-12-11 at the Wayback Machine, IBM publication SH20-6168.
- ^ MTS Volume 12: PIL/2 in MTS, University of Michigan Computing Center, Ann Arbor, Michigan
- ^ MTS Volume 7: PL/I in MTS, University of Michigan Computing Center, Ann Arbor, Michigan
- ^ Wirth, Niklaus (1968). "PL360, a Programming Language for the 360 Computers". Journal of the ACM. 15: 37–74. doi:10.1145/321439.321442. S2CID 7376057.
- ^ a b "The System Language for Project SUE", B. L. Clark and J. J. Horning of the Computer Systems Research Group and Department of Computer Science, University of Toronto, Proceedings of the SIGPLAN symposium on Languages for system implementation, 1971, pp.79-88
- ^ "Compiling Simula: A historical study of technological genesis" Archived 2017-08-30 at the Wayback Machine, Jan Rune Holmevik, IEEE Annals in the History of Computing, Volume 16 No. 4, 1994, pp.25-37
- ^ a b MTS Volume 9: SNOBOL4 in MTS, University of Michigan Computing Center, Ann Arbor, Michigan
- ^ The SNOBOL4 Programming Language, Griswold, Ralph E., J. F. Poage, and I. P. Polonsky, Englewood Cliffs, NJ, 1968, Prentice Hall
- ^ a b MTS Volume II, second edition, December 1, 1967, University of Michigan Computing Center, Ann Arbor, Michigan, 415 p.
- ^ "TRAC, A Procedure-Describing Language for the Reactive Typewriter", Calvin N. Mooers, Communications of the ACM, Vol.9 No.3 (March 1966), pp.215-219, ISSN 0001-0782
- ^ MTS Lecture 1, a transcription of the first in a series of lectures on the internals of the Michigan Terminal System given by Mike Alexander, Don Boettner, Jim Hamilton, and Doug Smith, c. 1972
- ^ MTS Volume I, second edition, December 1, 1967, University of Michigan Computing Center, Ann Arbor, Michigan, 415 p.
- ^ a b "Computing Center" collection within "Archival Collections -- Bentley Library" of the University of Michigan's Deep Blue digital archive
- ^ a b c d UM Computing Center Public Category in the Hathi Trust Digital Library
- ^ a b MTS PDF Document Archive at BitSavers.org
- ^ Manuals and Documentation section of the MTS Archive Web site (archive-Michigan-Terminal-System.org Archived 2011-01-11 at the Wayback Machine)
- ^ MIDAS public category at the Hathi Trust Digital Library
- ^ OSIRIS public category at the Hathi Trust Digital Library
- ^ a b Unit Publications series, Computing Center publications, 1965-1999, Bentley Historical Library, University of Michigan
- ^ Unit Publications series, Information Technology Division (University of Michigan) publications, 1971-1999, Bentley Historical Library, University of Michigan
- ^ ITD Publications, University of Michigan, Ann Arbor, November 1995, 24 pages
- ^ MTS Operators Manual, February 1995, University of Michigan, 574p.
- ^ MTS Volume 1: Systems Edition, Obsolete and Internal MTS Commands, November 1991, University of Michigan, 60pp.
- ^ MTS Volume 3: Systems Edition, Subroutine Description, April 1981, University of Michigan, 50pp.
- ^ MTS Volume 99: Internal Documentation, 1972-1978, University of Michigan, 167pp.
- ^ UMMPS D6.0 Supervisor Call Descriptions, November 1987, University of Michigan, 156p.
- ^ MTS Disk Disaster Recovery, April 1987, 14pp.
- ^ MTS Distributions on Bitsavers.org
- ^ a b Overview of MTS Distribution materials available at Bitsavers.org, accessed 21 January 2012
- ^ Michigan Terminal System (MTS) Distribution Files, Deep Blue digital archive, University of Michigan, accessed 21 January 2012
- ^ Overview of MTS Distribution Materials available from the University of Michigan's Deep Blue digital archive, accessed 21 January 2012
- ^ "MTS D6.0A - A pre-built MTS system for use with the Hercules S/370 emulator", MTS Archive, accessed 21 January 2012
- ^ MTS Copyright, Warranty, and Limitation of Liability statement, Bitsavers.org, accessed 22 December 2011
- ^ "MTS Licensing Statement", November 1986, Leonard J. Harding, MTS (Michigan Terminal System), 1968-1996, Box 22, Computing Center records 1952-1996, Bentley Historical Library, University of Michigan
External links
[edit]Archives
[edit]- MTS Archive Archived 2011-01-11 at the Wayback Machine, a collection of documents, photographs, movies, and other materials related to MTS and the organizations and people that developed and used it
- MTS distribution archive at Bitsavers'
- MTS distribution archive at the University of Michigan's Deep Blue digital archive
- MTS D6.0A - A pre-built version of MTS for use with the Hercules S/370 emulator, available from the MTS Archive
- MTS PDF Document Archive at Bitsavers'
- The UM Computing Center Public Collection at the Hathi Trust Digital Library contains full text versions of over 250 documents related to MTS that are available for online viewing.
- The Computing Center collection 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
[edit]- 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, Monterey, CA., 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
- MTS Bibliography, a list of published literature about 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
[edit]- MTS History, collected by former University of Michigan Computing Center staff member Tom Valerio
- Personal perspective on MTS by Dan Boulet a student and later Computing Services staff member at the University of Alberta
- Personal reflections on MTS by Mark Riordan of Michigan State University's Computer Laboratory
- Several articles 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
- Try-MTS.com, 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
- Public MTS Terminal, logon and look around like a student would in the 90's
Michigan Terminal System
View on GrokipediaIntroduction
Overview
The Michigan Terminal System (MTS) is an interactive, multi-user time-sharing operating system developed for IBM mainframe computers at the University of Michigan.[6][7] Its core purpose is to enable simultaneous access for hundreds of users via remote terminals, facilitating academic and research computing tasks such as program execution, file management, and batch processing in a shared environment.[2] MTS supported substantial scale, with individual installations handling over 250 concurrent terminal users on typical days during the late 1970s, alongside thousands of total accounts and jobs processed monthly across university sites.[8] By the late 1980s, peak capacity at the primary site exceeded 600 simultaneous interactive sessions.[7] First becoming operational in 1967, the system remained in primary use through the late 1990s at multiple academic institutions.[7] The system was built primarily in assembly language, incorporating components in high-level languages like FORTRAN and PL/I for user programs, and operated on modified IBM System/360 and System/370 hardware with virtual memory support.[9][2]Historical Significance
The Michigan Terminal System (MTS) emerged as a pioneer in interactive computing during the mid-1960s, well before the advent of widespread personal computers, by enabling remote access to mainframe resources via terminals for students, faculty, and researchers. Developed at the University of Michigan starting in 1967 on the IBM System/360 Model 67, MTS shifted computing from batch processing to real-time, multi-user interaction, allowing thousands of users to share a single machine efficiently.[10][11] This capability democratized access to computational power, supporting diverse tasks from simple student programs to complex simulations requiring extensive resources.[12] MTS played a key role in advancing time-sharing paradigms, demonstrating scalable multi-user support that handled up to 13,000 users and 86,000 jobs per month at its primary site.[12] Unlike batch-oriented systems such as OS/360, which prioritized sequential job processing, MTS emphasized immediate responsiveness and virtual memory segmentation to facilitate concurrent operations.[13] It complemented IBM's TSS/360 by providing a more reliable alternative for academic environments, where TSS/360 struggled with performance and delays.[13] In academic settings, MTS had profound impact, facilitating research projects, theses, and publications across universities by offering robust tools for computational experimentation and data analysis.[14] Adopted by the MTS Consortium—comprising eight universities (University of Michigan, University of Alberta, University of British Columbia, Queen's University, University of Newcastle upon Tyne, University of Victoria, Wayne State University, and University of Western Ontario) in the United States, Canada, and the United Kingdom—and additional sites including the University of Maryland and Ford Motor Company, it supported installations worldwide, with IBM receiving orders for over 40 compatible systems shortly after its debut.[14][11] The long-term legacy of MTS underscores the end of an era in mainframe-based time-sharing, with the University of Michigan retiring its system in 1996 and the final major installation at Rensselaer Polytechnic Institute shutting down in June 1999.[14][13] This closure marked the transition to distributed and client-server computing models, yet MTS's innovations in interactive access and resource sharing continued to inform operating system design principles.[11]Development History
Origins
The Michigan Terminal System (MTS) originated in 1964 at the University of Michigan's Computing Center, where the need for interactive, time-sharing computing emerged to overcome the limitations of batch processing on early mainframes. This drive stemmed from the desire to enable concurrent access for multiple users in educational and research environments, inspired by pioneering efforts such as MIT's Project MAC and the Dartmouth Time-Sharing System, which demonstrated the feasibility of multi-user systems. This effort was funded by the ARPA-sponsored Project on Concepts of Computer Composition (ConComp).[2][7] Key figures in the project's inception included Mike Alexander and Don Boettner, who served as principal architects, along with Bernie Galler, Frank Westervelt, and others at the Computing Center, who recognized the potential of emerging hardware for widespread interactive use. The initial goals focused on developing a robust time-sharing system capable of supporting over 300 terminals connected to the new IBM System/360 Model 67, thereby facilitating real-time access for students, faculty, and researchers across diverse disciplines.[15][7][2] Early planning encountered significant challenges in adapting IBM's OS/360 for time-sharing, as it proved inadequate due to its complexity, lack of native terminal support, and incompatibility with the interactive demands of the Model 67's virtual memory architecture. Consequently, the team decided to construct MTS from scratch, bypassing modifications to the existing OS to achieve greater flexibility and performance tailored to time-sharing needs.[2][16][7] Prototype development commenced in 1966 on an IBM System/360 Model 50, initially leveraging elements from MIT's systems to build core components like the UMMPS executive, marking the transition from conceptual planning to practical implementation.[2][7]MTS Consortium
The MTS Consortium was formed in 1967 as a non-profit collaboration among universities to share the costs of developing and maintaining the Michigan Terminal System (MTS), enabling broader adoption beyond the University of Michigan.[17] The University of Michigan led the effort, with early participating institutions including the University of British Columbia (joining in 1968), the University of Newcastle upon Tyne (1969), the University of Alberta (1970), and Wayne State University (1971).[18] Over time, the consortium expanded to a peak of 13 sites across the United States, Canada, and the United Kingdom, fostering a network of shared expertise in time-sharing computing.[17] Governance operated through annual workshops and meetings, starting around 1970, where administrators and programmers from member sites exchanged information, coordinated joint bug fixes, and planned enhancements to MTS features.[14] The shared funding model relied on contributions from participants, including fees for distributing magnetic tapes containing MTS software and documentation, which supported ongoing maintenance and updates.[17] The consortium's structure provided key benefits by allowing institutions to implement MTS without bearing full development expenses, including support for compatible hardware from vendors like Amdahl, and promoting standardization of the system across varied IBM System/360 and System/370 configurations.[18] This collaboration extended MTS's reach, enabling efficient resource use in academic computing environments. Among its primary activities were coordinated software releases and collective efforts to produce comprehensive documentation, with the first formal MTS workshop held in 1974 at the University of British Columbia to align on system improvements.[18] These joint initiatives ensured MTS remained robust and adaptable, supporting time-sharing operations at multiple sites for decades.[14]Key Milestones
The Michigan Terminal System (MTS) achieved its first production release in May 1967 on the IBM System/360 Model 67 at the University of Michigan, marking the system's initial deployment as a time-sharing operating system capable of supporting multiple conversational users and batch jobs simultaneously.[18] Initially limited to 3-4 interactive users, the system was enhanced later that year with relocation hardware and a paging drum, significantly increasing its capacity to handle a broader range of workloads on the virtual memory-enabled hardware.[16] In the early 1970s, MTS expanded to support the IBM System/370 architecture following the University of Michigan's acquisition of a Model 158 in 1972, enabling compatibility with the newer mainframe series and its advanced virtual storage features.[18] Ports to compatible clones, including the Amdahl 470V/6 installed in 1975, further broadened hardware support while maintaining performance advantages over IBM equivalents.[19] By 1978, enhancements aligned with System/370's virtual storage capabilities allowed MTS to manage larger address spaces and improved memory efficiency, as documented in system internals from that period.[20] A notable event was the 1969 MTS Summer Conference, where developers presented on the system's architecture and shared experiences among early adopters.[21] During the 1980s, MTS reached its peak with widespread adoption across university sites, including integration with BITNET for inter-site networking and resource sharing starting in the early part of the decade.[20] By the mid-1980s, the system operated at multiple installations, with the University of Michigan running three concurrent MTS instances and other consortium members like NUMAC supporting dual systems, facilitating collaborative computing among over a dozen institutions.[18] In 1985, MTS enabled hybrid configurations integrating with IBM's Conversational Monitor System (CMS) for enhanced user environments at select sites.[13] The decline of MTS began in the 1990s amid the rise of UNIX-based systems and distributed minicomputers, leading to phased retirements across installations. The University of Michigan ceased MTS operations on May 30, 1997, after three decades of service.[17] The final active site, Rensselaer Polytechnic Institute, shut down its MTS system in 1999, marking the end of the operating system's operational history.[13]Hardware Support
Compatible Platforms
The Michigan Terminal System (MTS) was originally designed for the IBM System/360 Model 67 mainframe, which debuted in 1967 and provided the foundational hardware platform for its time-sharing capabilities. This model supported virtual memory through dynamic address translation hardware, enabling MTS to manage multiple users efficiently on a single processor configuration.[9] MTS was subsequently adapted for the IBM System/370 series, with support for Models 158 and 168, announced in 1972 to leverage improved performance and expanded addressing. These models allowed MTS installations to scale for larger user bases, with the System/370 architecture providing compatibility for 24- and 32-bit addressing modes essential to the system's operation. Later extensions included the System/370 Model 168 in January 1975, further enhancing reliability for academic and research environments, along with support for the IBM 3033 in the 1980s, 3090-400 (October 1986), 3090-600E (July 1988), and ES/9000-720 (June 1991).[9][22][2] Third-party compatible systems expanded MTS's reach in the late 1970s and 1980s, including the Amdahl V/370 series starting with the 470V/6 model in July 1975, followed by the 470V/7 in 1979 and 470V/8 in 1980. Support for Hitachi HITAC and Fujitsu mainframes emerged in the 1980s, with the Hitachi H-65 (equivalent to IBM 3033) installed in 1982 and the Fujitsu M-200 (equivalent to IBM 3081) in 1983, requiring specific microcode modifications to ensure compatibility with MTS's virtual memory and I/O requirements. These adaptations allowed non-IBM hardware to run MTS without major software changes, though detailed hardware tweaks are covered in related documentation.[9] MTS installations required channel-attached disk storage such as IBM 3330 units for file systems and paging. Terminal access relied on multiplexers like the IBM 2701 or 3705 to connect multiple 3270-compatible devices, supporting up to hundreds of concurrent users. The system did not natively support IBM System/390 or later architectures without emulation, remaining focused on 24/32-bit addressing environments.[22][23] Primarily at universities and research institutions, MTS sites included the original consortium members and additional academic installations worldwide. The University of Michigan's primary installation featured dual CPUs for redundancy, ensuring continuous operation during maintenance or failures on its System/360 Model 67 and subsequent upgrades.[24]Hardware Modifications
The Michigan Terminal System (MTS) required specific hardware adaptations to the IBM System/360 Model 67 to enable efficient time-sharing, particularly through the integration of dynamic relocation hardware that supported virtual addressing without imposing significant software overhead. This hardware facilitated address translation for problem programs, allowing dynamic loading into virtual memory and resolution of external symbols, which contributed to a tenfold increase in the number of tasks serviced compared to earlier configurations. A high-speed drum was incorporated for paging operations, enhancing the system's ability to manage multiple users concurrently.[2] To handle high terminal throughput essential for time-sharing, MTS installations incorporated channel extensions and custom I/O interfaces, including support for polled multiplexors that connected numerous terminals to the system. These modifications centralized I/O management through device support routines, enabling efficient handling of high-speed devices and supporting up to hundreds of simultaneous users across various terminal types.[2] On the IBM System/370 series, MTS benefited from memory upgrades that extended virtual memory capacity to 64 MB via paging mechanisms, dividing the address space into 64 segments of 1,048,576 bytes each (256 pages of 4,096 bytes). Additional hardware, such as extended control storage, was added to accommodate larger workloads and more users, building on the base platforms like the 370 series.[2] Third-party hardware modifications, particularly from Amdahl, were adapted for MTS at sites like the University of Michigan, including the Amdahl 470V/6 (installed July 1975), 470V/7 (March 1979), 470V/8 (September 1980), and 5860 (November 1982). These faster processors required compatibility adjustments to MTS, including tweaks to the kernel for timing and enhanced memory management to leverage the increased cycle speeds.[2] For reliability at large installations, MTS supported dual-processor configurations, such as the upgrade to a dual IBM 360/67 in August 1968, which enabled multiprocessing and failover capabilities. This setup allowed switching between processors and resources like core boxes and channels to maintain operations during failures, ensuring high availability for time-sharing environments.[2][15]System Architecture
Core Design Principles
The Michigan Terminal System (MTS) was designed around a modular resident monitor to enhance maintainability and flexibility in a time-sharing environment. The core is implemented by the UMMPS supervisor, a multiprogramming executive managing resident reentrant programs for system services. This monitor is structured into key components, including the swapper for managing program movement between main memory and secondary storage, the scheduler for allocating CPU time among active processes, and device handlers known as Device Support Routines (DSRs) for each supported hardware type. These elements interact through a centralized interface for input/output operations, allowing independent development and updates without disrupting the overall system. This modularity facilitated the system's evolution over decades while supporting diverse hardware configurations on IBM System/360 and System/370 computers.[20][12] Central to MTS's operation is its time-sharing model, which employs priority-based scheduling with FIFO dispatching within priority classes (1-10 levels) to ensure responsive access for interactive users while handling batch loads. Jobs are dispatched according to priority, with higher-priority tasks receiving preferential treatment to minimize response times for interactive sessions. This approach supports concurrent terminal, batch, and server workloads using a unified command language, enabling seamless integration of interactive and non-interactive computing. The design prioritized low-latency user interaction on limited hardware resources, distinguishing MTS from purely batch-oriented systems of the era.[20][12] Backward compatibility with OS/360 was a foundational principle, allowing MTS to execute unmodified batch jobs and applications from IBM's earlier operating system alongside time-shared sessions. Programs written in languages like Fortran or PL/I could typically run without changes, leveraging OS/360-like services for file handling and job control. This compatibility eased migration for institutions adopting time-sharing, preserving investments in legacy software while introducing interactive capabilities.[12] MTS's security model emphasizes user isolation through virtual address spaces, where each task operates in a protected environment inaccessible to others. Private segments for user data are safeguarded by dynamic address translation, preventing unauthorized access, while shared system segments rely on hardware protection mechanisms. Absent a superuser role akin to those in later operating systems, privileged operations occur in a dedicated system mode accessible only to trusted routines, reducing the risk of escalation vulnerabilities. This design provided robust separation for multi-user environments without centralized administrative overrides.[20][25] Scalability was achieved through dynamic resource allocation, enabling MTS to support from dozens to over 600 simultaneous terminal users on appropriately configured hardware, with total registered accounts reaching thousands at major installations like the University of Michigan. The modular architecture and efficient scheduling allowed the system to handle up to 86,000 jobs per month by adapting to varying loads without requiring hardware overprovisioning. This flexibility made MTS suitable for academic and research settings with fluctuating demand.[20][12]Memory Management
The Michigan Terminal System (MTS) utilized virtual memory to support multi-user time-sharing on IBM System/360 and System/370 hardware, allocating up to a 16 MB address space per user on 24-bit hardware (expandable to larger effective spaces on later configurations) through demand paging with a fixed page size of 4 KB. MTS employs segmented virtual memory, dividing the address space into 64 segments of 1 MB each (256 pages of 4 KB), with paging for demand loading and protection. This approach allowed programs to exceed the physical memory limits of the host machine by transferring pages between main memory and secondary storage as needed, enabling efficient resource sharing among concurrent users. The system automatically manages page faults and transfers without user intervention.[2] Swapping complemented paging by handling entire user contexts—comprising the active program's core image and associated data—when memory demand exceeded available real pages. Swapping moves entire user contexts to secondary storage when memory is constrained, complementing paging for efficient multi-user support, with system-managed page transfers.[2] Virtual memory was introduced in November 1967 on the IBM 360/67, with further enhancements for System/370 hardware in subsequent releases around 1973, marking a significant evolution from earlier swapping-only mechanisms and leveraging System/370 hardware modifications for dynamic address relocation. Performance metrics from this era highlighted the system's scalability, with paging activity enabling a tenfold increase in concurrent tasks compared to non-virtualized predecessors, while maintaining low overhead through optimized page-in rates tracked via system monitors.[2]Features
User Interaction
The Michigan Terminal System (MTS) provided users with a text-based, command-line interface characterized by a distinctive dollar sign (run to initiate program execution (e.g., edit to invoke the file editor, and $systemstatus to query system resources, with each command line limited to 255 characters and continuable using a hyphen (-) or a custom continuation character set via the SET CONTCHAR command.[2] This processor acted as the primary interface between the user and the operating system, processing inputs asynchronously and supporting batch-like operations within interactive sessions.[2] MTS supported a range of terminal types through dedicated facilities for both asynchronous and synchronous communication modes. Asynchronous terminals, such as the IBM 2741, handled character-by-character transmission, while synchronous terminals like the IBM 3270 enabled block-mode operations for more efficient data exchange.[2] Editing capabilities were enhanced on display terminals via escape sequences, allowing visual-mode or full-screen interactions, such as those in the FILEMENU editor using program function (PF) keys for navigation and modification.[2] The system lacked any graphical user interface, relying entirely on text-based input and output, often with prefix characters like '#' or ':' to denote system responses.[2] User sessions in MTS began with a login procedure at the "Which Host?" prompt, where individuals entered SIGNON userid password).[2] Upon authentication, users could specify a job class to determine execution priority, with predefined options like NORMAL or LOW, or numeric values ranging from 1 to 10 for computation and 0 to 15 for printing; these could also be adjusted mid-session using SET CLASS.[2] Sessions concluded with the $SIGNOFF command, which terminated the connection and displayed a summary of resource usage and costs incurred.[2] Error handling in MTS emphasized interactive diagnostics to assist users in resolving issues promptly. The $STATUS command, for instance, retrieved detailed information on job queues, system load, and pending operations, enabling users to monitor and troubleshoot their activities.[2] When errors occurred, such as exceeding global resource limits (e.g., "GLOBAL item LIMIT EXCEEDED"), the system often prompted interactively for corrections, like requesting a new file or device name, thereby minimizing disruptions in the user workflow.[2] To enhance usability, MTS incorporated scripting capabilities through macros and command files, allowing users to automate repetitive tasks without a graphical environment. Macros were defined using a structured syntax, such as >MACRO name followed by commands and concluded with >ENDMACRO, and could be enabled system-wide via SET MACROS=ON.[2] Command files, often called signature files (sigfiles), were invoked with SET SIGFILE=filename or executed via $SOURCE, supporting input/output redirection modifiers like SOURCE and SINK for streamlined operations.[2] These features promoted efficient, customizable interactions tailored to both novice and advanced users.[2]File and Device Management
The file system in the Michigan Terminal System (MTS) organizes data using a flat structure based on userID:filename conventions, without traditional hierarchical directories. Private files are associated with a specific user identifier followed by a filename up to 12 characters long (e.g., 1ABC:MYLOG), while public files use an asterisk prefix (e.g., *NEWS) and temporary files a hyphen prefix. Files are stored in 4096-byte pages on direct-access disk volumes, supporting types such as LINE files for fixed-length records with line numbers and SEQ files for variable-length sequential records without line numbers. Maximum file size is 32,767 pages, equivalent to approximately 128 MB.[9] Access to files is controlled through the PERMIT command, which assigns permissions like READ, WRITE-APPEND, TRUNCATE, or UNLIMITED to specific users, projects, or program keys (e.g., PERMIT MYFILE READ OTHERS). By default, users have full access to their own files but none to others, with sharing enabled explicitly via PERMIT and checked using FILESTATUS. Locking mechanisms via LOCK and UNLOCK commands prevent concurrent modifications, supporting options like WAIT or NOWAIT for contention resolution. Disk space quotas are enforced per user through accounting records, limiting total storage allocation and monitored during operations like file creation or renaming; defaults vary by installation but are adjustable at sign-on.[9] Device management in MTS utilizes centralized Device Support Routines (DSRs) for unified I/O operations across peripherals, abstracting hardware differences through pseudodevices and modifiers like SEQUENTIAL or EBCDIC encoding. Supported disks include IBM 2311 and 3330 models, providing on-line storage with automatic expansion (default 10% overhead) and buffer management for efficient access. Tapes, primarily 9-track at densities of 800, 1600, or 6250 BPI, are user-mounted via MOUNT and controlled with commands like REWIND, FORWARD SPACE RECORD, or POSITION TO END-OF-TAPE. Printers are handled via spooled output to the *PRINT pseudodevice, with the COPY command directing files (e.g., COPY FILENAME TO *PRINT), supporting carriage control, formatting options like LANDSCAPE or PORTRAIT, and routing to specific stations.[9][23] Backup and restore processes emphasize incremental and full dumps to tape, with no native journaling filesystem; recovery relies on periodic snapshots generated by system utilities. Daily backups of changed files occur automatically using *SAV on 9-track tapes (retained for about six weeks), while weekly full saves via *SVW cover all files over multiple tape sets. Users invoke restores with *RESTORE, specifying files from backup volumes, or manually copy to tapes for personal archiving using CONTROL commands. Defensive programming practices, such as explicit buffer flushing with CLOSEFIL, minimize data loss between snapshots.[23][9] Special devices facilitate batch and peripheral I/O, including IBM 2501 card readers for input via the *SOURCE pseudodevice in sequential or EBCDIC modes, enabling job submission from punched cards. Line printers, such as the IBM 1403 (up to 1100 lines per minute at 132 characters wide and 6 lines per inch), output to *SINK for conversational mode or *PRINT for batch, with 66 lines per page on 11-inch paper and support for character sets like TN or PN via CONTROL options.[23][9]Resource Allocation
The Michigan Terminal System (MTS) implemented resource allocation through a combination of priority-based scheduling and enforced limits to balance interactive and batch workloads across multiple users. Central to this was a priority-based round-robin CPU scheduling algorithm featuring 16 priority classes, which ensured fair distribution of processing time while favoring responsive interactive sessions.[2] Interactive jobs received higher priority execution, typically in classes 1 through 10, determined by estimated CPU time requirements, allowing them to run immediately under low system load conditions. Batch jobs, in contrast, operated at lower priorities and were deferred until interactive demand subsided, preventing contention for resources during peak user activity. Print priorities ranged from 0 to 15, scaled by estimated output pages, further optimizing output device usage without disrupting core computation. The scheduler dynamically adjusted these classes to maintain system responsiveness, with users able to query their current class via theCLASS command.[2]
Resource limits were strictly imposed to prevent monopolization, including per-job CPU time caps set globally via the $SIGNON command (up to a maximum of 27,000 seconds) or locally via the RUN command, with a default of 3 seconds for short tasks. Connect time was managed through a funds-based system, where usage depleted allocated "money" units—defaulting to 50 pages equivalent—and jobs terminated upon exhaustion, adjustable via parameters like PAGES=400. Additional constraints covered output pages, input cards, and plot time, all configurable to align with site policies and prevent resource exhaustion.[2]
Batch and interactive processing utilized separate queues to isolate workloads: interactive sessions executed in real-time with precedence, while batch jobs were submitted using the $SUBMIT command (or variants like $COPY *SOURCE* *BATCH*) and held in dedicated queues until interactive load permitted processing. The EXQ command displayed waiting batch jobs, and flags like BP indicated batch-preferred execution modes during off-peak periods, ensuring efficient throughput without compromising user interactivity.[2]
Accounting mechanisms tracked resource consumption via integrated meters for CPU time, I/O operations, virtual storage integrals, terminal connect time, printed pages, and punched cards, enabling precise billing at consortium installations. Usage data appeared on job tail sheets (e.g., computing costs of $0.64) and could be monitored in real-time with commands like COST={ON | OFF}, which displayed accumulated charges, remaining funds, and disk quotas. Post-job adjustments refined billing accuracy, supporting equitable cost recovery across shared systems.[2]
In multi-processor configurations, MTS optimized allocation through load balancing across available CPUs, distributing jobs to idle processors while maintaining priority hierarchies to enhance overall system efficiency. This approach, inherent to MTS's multiprocessing support, minimized bottlenecks in environments like the University of Michigan's installations.[2]
Software Ecosystem
Programming Languages
The Michigan Terminal System (MTS) natively supported a variety of programming languages tailored for its time-sharing environment on IBM System/360 and System/370 mainframes, emphasizing interactive development, educational use, and system-level programming. These languages included enhancements for file I/O, virtual memory integration, and batch processing, reflecting MTS's focus on multi-user accessibility and computational efficiency. Key implementations ranged from high-level languages like SNOBOL4 and FORTRAN to low-level assembly tools, with support for over 40 languages by the late 1980s.[26] SNOBOL4 served as the primary string-processing language in MTS, designed for pattern matching and symbolic manipulation. It featured four processors: the standard SNOBOL4 interpreter, SNOBOL4B for enhanced block operations and 2D/3D output (including overstriking for graphs and flowcharts), SPITBOL as a compiler achieving up to 10 times the speed of the interpreter with object module saving, and SNOSTORM as a preprocessor adding structured constructs like IF, LOOP, and CASE for improved readability and debugging. MTS-specific enhancements included robust file I/O extensions, such as support for logical units (e.g., SCARDS for input, SPRINT for output), variable-record-length processing without padding, and format-free I/O via INPUT/OUTPUT functions, enabling seamless integration with MTS's file management subsystem. These features made SNOBOL4 ideal for text analysis and report generation in a multi-user setting.[27] BASIC in MTS, often invoked as an interactive system via $RUN *BASIC, was developed for educational purposes, providing an accessible entry point for students and novice programmers. Known as MTS BASIC or Simple MTS BASIC, it supported matrix operations, basic graphics, and immediate execution modes, with features like built-in functions for mathematical computations and simple program editing. This implementation emphasized conversational programming, allowing users to test code snippets interactively while leveraging MTS's terminal-oriented interface for quick feedback and error handling.[28][29] FORTRAN implementations in MTS centered on the FTN compiler family, including FORTRAN-G (standard IBM FORTRAN IV) and FORTRAN-H (optimizing variant offering 25-50% faster execution), alongside VS FORTRAN for full ANSI compliance. These supported versions up to FORTRAN 77, incorporating block IF statements, PARAMETER declarations, and free-format I/O. A key MTS-specific feature was virtual array support through subroutines like ARINIT, ARRAY, and EXTEND, enabling dynamic dimensioning and subscript checking (via SUBCHK) without fixed memory allocation, which aligned with MTS's virtual memory model for efficient resource sharing among users. Additional tools like the OVERDRIVE preprocessor added structured elements (e.g., IF-THEN-ELSE, loops), while interactive modes in systems like *IF77 facilitated debugging and compilation in a time-sharing context.[30] For system programming, MTS provided BAL (Basic Assembly Language), a low-level assembler based on IBM System/360 and 370 instructions, invoked via *ASMH for efficient code generation close to the hardware. BAL supported features like literal pooling, labeled USINGS for base register management, and extensions for Amdahl-specific opcodes (e.g., DXR for extended precision). Complementing BAL was the MACRO assembler, which expanded capabilities through libraries like SYSMAC for nested macros, structured control (e.g., IF-ENDIF, DO-ENDDO), and I/O operations via routines like IOH and READ/WRITE. These tools were essential for developing MTS command extensions, device drivers, and subroutines, with options for symbolic debugging and flag management (e.g., SET ATTN,ON) to handle interrupts and errors in a multi-user environment. The ASSIST subset further simplified BAL for educational system programming, restricting intermixing of control sections while adding execution-time services like GETSPACE.[31] Other natively supported languages included a PL/I subset via the PL/C compiler, a teaching-oriented implementation of PL/I(F) that omitted advanced optimizing features but retained core elements like block structure and exception handling for portability and simplicity in academic settings. LISP implementations encompassed the full LISP processor for list processing and symbolic computation, alongside UTILISP as a utility variant optimized for MTS's storage management, supporting dynamic garbage collection and interactive evaluation. Native C support was absent until late ports in the 1990s, as MTS prioritized established mainframe languages over emerging Unix-derived ones.[32]MTS-Specific Software
The Michigan Terminal System (MTS) featured several original software tools developed specifically for its environment, enhancing user productivity in text editing, document preparation, data visualization, statistical analysis, and system management. These programs were integral to the system's ecosystem, leveraging MTS's time-sharing capabilities to support interactive and batch processing on IBM System/360 and System/370 hardware. The EDIT editor provided a powerful line-oriented interface for manipulating text files, invoked via the command$EDIT filename. It supported essential operations such as inserting, deleting, moving, and copying lines within specified ranges, using line numbers from -2147483.648 to +2147483.647 or symbolic references like *F for the first line and *L for the last. Global search and replace functions were facilitated through commands like SCAN for pattern matching and ALTER or CHANGE for substitutions, employing SNOBOL4-inspired algorithms that allowed concatenation, alternation, and case-insensitive options (e.g., @AC modifier). Additional features included justification for text alignment, checkpointing to track changes with UNDO or RESTORE capabilities, and edit procedures for reusable command sequences with looping via GOTO. A visual mode enabled screen-based cursor navigation and insertions on display terminals, customizable through Visual Program Functions (VPFs). These capabilities made EDIT a foundational tool for academic and research editing tasks, influencing subsequent line-oriented editors in university computing environments.[33][34]
RUNOFF served as a dedicated text formatter for producing formatted output suitable for manuals and reports, processing input files with embedded commands to control pagination, spacing, and carriage returns. Invoked via $RUN *RUNOFF, it handled both terminal display and printer output, integrating with MTS's I/O devices like the SPRINT unit for high-quality rendering. Key directives allowed users to define margins, headers, footers, and font styles, making it effective for technical documentation. As an early interactive formatter in a time-sharing system, RUNOFF laid groundwork for later tools like nroff by emphasizing markup-based text processing in multi-user settings.[34]
The GRAPHICS subsystem, detailed in the Integrated Graphics System, offered a suite of plotting tools for visualizing research data on terminals and printers, supporting device-independent output across hardware like the Tektronix 4010/4114 and CalComp plotters. Core components included PLOTSYS for FORTRAN-callable subroutines that generated plot description files (PDS) from data arrays, enabling line graphs, scatter plots, and contour maps with scaling and labeling options. Complementary utilities like PLOTSEE allowed previewing and editing of PDS files interactively, with features for rotation, combination of multiple plots, and direct queuing to remote plotters via CCQUEUE, which managed costs and priorities (e.g., ASAP mode with ballpoint pens). TELLAGRAF provided conversational 2D graphics for bar charts, histograms, and pie charts, incorporating fonts and enhancements for professional output. These tools facilitated data-driven research by allowing real-time visualization in MTS sessions.[35][34]
MTS incorporated statistical packages tailored for interactive analysis, prominently featuring the Biomedical Computer Programs (BMD) suite originally developed at UCLA but adapted and distributed within MTS for widespread use. BMD enabled biomedical and social science researchers to perform analyses such as regression, ANOVA, factor analysis, and discriminant functions on datasets via conversational or batch modes, with programs like BMDX72 for factor analysis processing card-punched or direct input. Integrated with MTS's file system, it supported data transformation and output to printers or graphics devices, contributing to thousands of studies in fields like epidemiology and psychology due to its accessibility in time-sharing environments. Other built-in options, such as TAXIR for n-way tabulations and subtotals in data banks, complemented BMD by allowing ad-hoc queries and reports.[34][36]
System utilities included $diskuse for monitoring and managing disk space allocation, displaying metrics like total virtual storage used (in pages) and associated CPU time for user files (e.g., "Total virtual storage used = 3 pages. CPU time = 0.055343 seconds"). This tool aided administrators and users in optimizing resource usage under MTS's segmented file structure. Custom loaders supported overlay programs by enabling efficient module linking and optimization; for instance, LINKEDIT combined object modules into loadable formats via SPUNCH output, while OBJUTIL edited object files to add, replace, or delete modules, generating compact library files for overlay hierarchies. These loaders reduced memory overhead in large applications by prioritizing symbol searches and removing unnecessary records with tools like ENDJUNK, essential for running complex programs in MTS's virtual memory constraints.[34]
Third-Party Compatibility
The Michigan Terminal System (MTS) offered significant compatibility with IBM's OS/360 operating system, primarily through emulation of OS/360 services and support for standard IBM file formats. This allowed many OS/360 batch jobs to run under MTS after conversion, facilitated by tools like the Houston Automatic Spooling Priority (HASP) system for batch processing and direct compatibility with OS/360 magnetic tapes and disks in IBM-labeled formats.[22] Shared libraries from OS/360 environments could be integrated via MTS's public file system, which provided flexible access and protection mechanisms superior to those in OS/360 for user-shared resources.[22] Additionally, runtime libraries for languages like FORTRAN and PL/I were converted from OS/360 versions, enabling unmodified execution of corresponding programs without full recompilation in many cases.[16] Several third-party applications from other ecosystems were ported to MTS during the 1970s, enhancing its utility for academic and research tasks. A prominent example is the Statistical Package for the Social Sciences (SPSS), originally developed for IBM systems, which was adapted as a subsystem on MTS to support statistical analysis in social sciences and related fields.[37] Early email functionality was also integrated via consortium networks connecting MTS installations across universities, allowing inter-site messaging that built on protocols from broader ARPANET developments.[38] Academic simulators for domains like physics and chemistry, such as the Structurally Oriented Simulation System (SOSS) for molecular modeling, were ported or adapted to leverage MTS's interactive environment.[39] MTS included limited emulation layers for interoperability with CP/CMS, providing command equivalents that allowed basic file access and operations across systems on shared IBM System/360 hardware, though full file compatibility required manual intervention due to differing formats.[22] Some installations operated hybrid MTS/CMS configurations to combine time-sharing with virtual machine capabilities, enabling limited cross-system file handling.[40] Porting third-party software to MTS faced challenges, particularly during migrations from System/360 to System/370 hardware, where architectural enhancements like dynamic address translation necessitated recompilation of many components to maintain performance and compatibility.[41] There was no binary compatibility with UNIX systems, as MTS targeted IBM mainframes while UNIX ran on disparate architectures, requiring full source-level ports for any cross-adoption.[42] These hurdles were mitigated through MTS's modular design, but they underscored the effort needed for integrating external legacies.[16]Documentation
User Documentation
The primary user documentation for the Michigan Terminal System (MTS) is provided in MTS Volume 1: The Michigan Terminal System, first published in 1967 and regularly updated through subsequent editions, such as the November 1991 version corresponding to Release 6.0A.[2][6] This manual serves as the foundational guide for end-users, offering a comprehensive overview of the system's command-line interface, which operates in a conversational mode with a "#" prompt for entering MTS commands prefixed by "SIGNONto initiate a session.[](http://www.bitsavers.org/pdf/univOfMichigan/mts/volumes/MTSVol01-TheMichiganTerminalSystem-Nov1991.pdf) It details session management, including sign-on procedures (e.g.,SIGNON userID password), mode transitions between command, edit, and execution states, and handling of pseudodevices like SOURCE` for input redirection, all illustrated with practical examples to facilitate interactive terminal use.[2]
Introductory tutorials within the manual and related guides emphasize accessibility for novice users, particularly students, by providing step-by-step examples of basic operations. For instance, a typical "getting started" sequence might involve signing on, creating a simple file with CREATE filename, editing it via the edit mode prompt ":", and listing contents with LIST filename, as demonstrated in the manual's command prototypes and sample sessions.[2] These tutorials cover essential workflows, such as running programs with RUN programname or submitting batch jobs via *BATCH*, with explanations tailored to non-expert users unfamiliar with time-sharing systems.[2] Appendices further support beginners by including setup instructions for terminals, such as configuring I/O modifiers for devices like the IBM 3278 or Xerox 9700 printer.[2]
Reference materials in the manual include detailed command summaries and error code explanations, updated across releases to reflect new features like the FTP command for file transfers in later editions.[2] Command references list syntax prototypes (e.g., COPY [FROM] {FDlist1} [[TO] FDlist2]) and options, while error handling sections describe common messages such as "FDname does not exist" or interrupt codes (e.g., Privileged operation = 1), enabling users to troubleshoot issues like invalid sign-ons or resource limits.[2] For quick reference during sessions, MTS provides an integrated online help system accessible via the $HELP command (or HELP topic), which delivers context-specific guidance on commands and facilities directly from the terminal, drawing from the same documentation corpus.[2][43]
Distribution of user documentation occurred through printed volumes shared among the MTS consortium institutions, with updates disseminated via the University of Michigan's computing services to reflect system releases.[6] Online access via $HELP ensured immediate availability without physical copies, supporting remote users across networked terminals.[2] As of the 2020s, the full series of MTS user documentation (Volumes 1–23) is digitized and freely available online through archives such as Bitsavers and the University of Michigan's Deep Blue repository.[44][6] The materials were designed for broad accessibility, prioritizing clear language and examples over technical depth to accommodate users without prior programming experience, while consortium-shared revisions kept content aligned with evolving hardware and software capabilities.[2][6]

