The Michigan Terminal System (MTS) has served many people in many different ways. It's a computer operating system featuring a shared-access file system, message system, powerful file editor, and a comprehensive set of language processors. It became a co-development effort among eight universities in three countries. It's a system that began by serving a handful of users and grew to serve tens of thousands worldwide.
To comprehend why MTS was so revolutionary, you need to understand a bit about two new technologies it utilized: timesharing and virtual storage.
Early mainframe computers all operated in batch mode — where users submitted jobs to human operators who then ran the jobs in batches on the system. Batch mode was efficient for ensuring that the computer was not sitting idle for any length of time. The down side of batch mode was that users had to wait several hours, or overnight, to see the results of their work.
Timesharing systems, also called interactive systems, allowed users to work directly with the computer and see immediate results from the commands they entered. To accomplish this, the operating system would automatically switch the Central Processing Unit (CPU) rapidly (on the order of a few milliseconds) among programs, allocating each interactive user short bursts of time. At the same time, one or more batch jobs, depending on the interactive load, would also be given turns at slices of processor time.
Batch mode allowed people to have their jobs run at night or other times without them having to sit and watch them run. In the early days, batch mode was much cheaper than timesharing.
In the early 1960s, the work that computers could perform was limited by their lack of storage capacity. A revolutionary new concept called "virtual storage," or virtual memory, was proposed as a new approach for handling storage needs in the paper, "Program and Addressing Structure in a Time-Sharing Environment," authored by Bruce Arden, Bernard Galler, Frank Westervelt (all three of whom were associate directors of the Computing Center), and Tom O'Brian.
The paper, which built on some basic ideas developed at the Massachusetts Institute of Technology (MIT), was published in the January 1966 (Vol. 13, No. 1) issue of the Journal of the Association for Computing Machinery.
Virtual storage allows an operating system, such as MTS, to break a user's program into many small pieces and to store them in scattered locations in secondary storage, such as on disks, rapidly bringing sections into working storage as needed. In effect, there appears to be a much larger random access memory (RAM) than is physically available — thus the name, "virtual" storage.
Virtual storage allows many programs to be in working storage and available to be run when the CPU is free. This is what makes interactive computing, or timesharing, possible.
In the mid-1960s, when IBM introduced its System/360 series of machines, the U-M Computing Center was doing some early experiments with a new type of system that could provide timesharing — an experimental technology at that time. However, the mainframe computers of that time were not capable of running this new type of system.
After a year of negotiations and design studies, IBM agreed to make a one-of-a-kind version of the IBM 360 mainframe to accommodate U-M's desire to move in this new direction, dubbed the Model 360/65M. The "M" stood for Michigan. But IBM initially decided not to supply software for the machine.
Meanwhile, a number of other institutions heard about the project, including General Motors, the Massachusetts Institute of Technology's (MIT) Lincoln Labs, Princeton University, and Carnegie Tech. They were also intrigued by the timesharing idea and expressed interest in ordering the modified IBM 360 series machines.
While waiting for the Model 65M to arrive, Computing Center personnel were able to perform their early timesharing experiments using an IBM Model 360/50 that was funded by the ConComp Project. Headed by Computing Center associate director Frank Westervelt with funding from ARPA (Advanced Research Projects Agency of the U.S. Department of Defense), the ConComp Project was investigating "conversational computing."
The timesharing experiment began as a "half-page of code on the kitchen table." By combining this new code with a version of a small multi-programming system (LLMPS) from MIT Lincoln Laboratories — which was modified and became the U-M Multi-Programming System (UMMPS) — MTS architects Mike Alexander and Don Boettner were able to create a prototype timesharing system.
This was the earliest incarnation of MTS, which Alexander and Boettner intended as "a throw-away system that we worked on while we waited for TSS to become available."
With requests for over 100 new machines, now called the System/360 Model 67, IBM realized there was a market for timesharing, and it agreed to develop the software as well as build the machine. However, development work on IBM's TimeSharing System (TSS) took longer than anticipated and, therefore, was not yet available when the Model 67 arrived at the Computing Center in 1967.
The ball was now in U-M's court to decide whether to return the Model 67 and select another main-frame or to create an interim system to use until TSS was ready. The Computing Center staff members decided to continue their own experiments with timesharing and moved their development work from the Model 50 to the Model 67.
As MTS was continually improved and expanded, IBM had 300 programmers working on TSS and had hoped to finish it within a year. However, IBM ultimately announced that TSS would be very late and much more limited than they had promised.
Undeterred by this pronouncement, the Computing Center launched a major development effort to enhance the capabilities of MTS. According to Alexander, "We developed MTS because we didn't know it was impossible." Five months later, in May 1967, MTS was released to the campus.
That November, MTS had been enhanced to the point where it could take advantage of the special virtual memory hardware of the 360/67. This was the start of true timesharing and allowed the number of interactive system users to increase tenfold.
A second IBM Model 360/67 was delivered in August 1968, requiring the removal of an older IBM 7090 mainframe due to lack of space. This forced a decision concerning what system would be used on the new machine. The decision to run MTS on this second machine is what ultimately moved it into the forefront as the primary computing system on campus.
Because MTS was capable of utilizing virtual memory, it demonstrated for the first time that the IBM Model 67 hardware design and virtual storage were viable concepts. The success of MTS and the Model 360/67 led to IBM's decision to put virtual storage on their entire line of computers. According to Galler, "As a result, virtual storage became an industry standard."
Now it was possible for 30 to 40 people to simultaneously use the system in interactive mode, mostly at teletype terminals (typewriter stations). Users could do compilations and debugging online, and they could even use a rudimentary editor. Because still more users needed access to computing services, a batch mode was added. Billing for CPU time also came sometime in 1967. The number of simultaneous interactive users on MTS eventually grew to more than 600.
The writing of MTS documentation paralleled the writing of the code. Documenting MTS for developers and users was a huge undertaking, and resulted in a series of 19 reference volumes, 6 introductory guides, and countless shorter pieces of printed documentation.
Computing Center staff members also spent considerable time preparing distributions of MTS for other universities — making and packing up copies of all the system software and documentation with each new version.
Other universities were taking notice of the growing MTS user base at U-M. The University of British Columbia was one of the institutions that had ordered a Model 360/67 from IBM and was waiting for TSS to become available. Around that time, Arden was invited to give a talk about MTS at the UBC campus. After hearing Arden's talk, UBC staff decided to run MTS and began doing so in November 1968.
Similarly, during a sabbatical in the Netherlands, Galler was invited to give a series of talks in England about virtual storage and MTS. Thus in February 1969, Newcastle University became the second site outside of U-M to run MTS.
Over the next 10 years, the University of Alberta, Wayne State University, Rensselaer Polytechnic University, Simon Fraser University, the University of Durham, and the National Laboratory for Scientific Computing in Rio de Janeiro all became MTS installations.
MTS was a great innovation in its time and demonstrated several ideas that were then new and controversial. Not only did it prove that virtual memory really worked and that time sharing across multiple computing processors was a viable approach to providing computing services to people, it provided other features that were way ahead of their time and, in a few cases, are still not available today in other systems:
Karl Zinn, now an Information Technology Division research scientist, said, "MTS was so well conceived, and so well maintained, that it continued to be a leading example for many years."