Fact-checked by Grok 2 weeks ago

Michigan Terminal System

The Michigan Terminal System (MTS) is a pioneering operating system developed at the for and System/370 mainframe computers, providing multi-user interactive access and from its initial release in 1967 until the late 1990s. Designed to support a growing academic community, MTS enabled up to 100 simultaneous users by the early 1970s, integrating seamlessly into university workflows much like a telephone system and fostering a shared environment through disk files and magnetic tapes. Its development began in 1966 on an 360/50 prototype, becoming operational in January 1967 on the IBM 360/67 hardware, which facilitated time-sharing for an initial group of about five terminal users and one batch stream. A key innovation in MTS was the introduction of virtual memory in November 1967, implemented via paging and high-speed drum storage, which dramatically increased system capacity and allowed efficient resource sharing among users. The system evolved to support starting in August 1968 with a dual-processor 360/67 configuration, and it transitioned to more powerful hardware like the 370/168 in January 1975, alongside Amdahl mainframes such as the 470V series. MTS featured a modular with robust file management, including public and private files, access controls via the PERMIT command, and defensive updating mechanisms to prevent data loss during crashes; it also offered a command-driven , an integrated file editor, and support for programming languages like , , and . By the , enhancements included network server capabilities for services like FTP and time/date queries, full-screen terminal support, and integration with university networks such as UMnet and Michnet. MTS's longevity—spanning nearly three decades—and its role in academic computing had a profound impact, training generations of users including notable figures like , and influencing the design of subsequent operating systems through its emphasis on accessibility, reliability, and multi-user efficiency. Deployed at universities across the , , and , it ran on emulators like into the modern era, with its and now openly available under a for historical study. The system's , compiled in volumes like MTS Volume 1 published in November 1991, detailed its internal structure as a multiprogramming, supervisor with reentrant programs, underscoring its foundational contributions to technology.

Introduction

Overview

The Michigan Terminal System () is an interactive, multi-user operating system developed for computers at the . 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 in a shared environment. 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. By the late 1980s, peak capacity at the primary site exceeded 600 simultaneous interactive sessions. First becoming operational in 1967, the system remained in primary use through the late 1990s at multiple academic institutions. The system was built primarily in , incorporating components in high-level languages like and for user programs, and operated on modified and System/370 hardware with support.

Historical Significance

The Michigan Terminal System (MTS) emerged as a pioneer in interactive 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 starting in 1967 on the Model 67, MTS shifted from to , multi-user interaction, allowing thousands of users to share a single machine efficiently. This capability democratized access to computational power, supporting diverse tasks from simple student programs to complex simulations requiring extensive resources. MTS played a key role in advancing paradigms, demonstrating scalable multi-user support that handled up to 13,000 users and 86,000 jobs per month at its primary site. Unlike batch-oriented systems such as OS/360, which prioritized sequential job processing, MTS emphasized immediate responsiveness and segmentation to facilitate concurrent operations. It complemented IBM's TSS/360 by providing a more reliable alternative for academic environments, where TSS/360 struggled with performance and delays. In academic settings, MTS had profound impact, facilitating research projects, theses, and publications across universities by offering robust tools for computational experimentation and . Adopted by the MTS Consortium—comprising eight universities (, , , Queen's University, , , , and ) in the , , and the —and additional sites including the and , it supported installations worldwide, with receiving orders for over 40 compatible systems shortly after its debut. The long-term legacy of MTS underscores the end of an era in mainframe-based , with the retiring its system in 1996 and the final major installation at shutting down in June 1999. 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.

Development History

Origins

The Michigan Terminal System (MTS) originated in 1964 at the University of Michigan's Computing Center, where the need for interactive, computing emerged to overcome the limitations of 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). 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 system capable of supporting over 300 terminals connected to the new Model 67, thereby facilitating access for students, faculty, and researchers across diverse disciplines. Early planning encountered significant challenges in adapting IBM's OS/360 for , as it proved inadequate due to its complexity, lack of native terminal support, and incompatibility with the interactive demands of the Model 67's architecture. Consequently, the team decided to construct from scratch, bypassing modifications to the existing OS to achieve greater flexibility and performance tailored to needs. Prototype development commenced in 1966 on an 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.

MTS Consortium

The Consortium was formed in 1967 as a non-profit collaboration among universities to share the costs of developing and maintaining the (MTS), enabling broader adoption beyond the . The led the effort, with early participating institutions including the (joining in 1968), the (1969), the (1970), and (1971). Over time, the consortium expanded to a peak of 13 sites across the , , and the , fostering a network of shared expertise in computing. Governance operated through annual workshops and meetings, starting around , where administrators and programmers from member sites exchanged information, coordinated joint bug fixes, and planned enhancements to MTS features. 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. 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 and System/370 configurations. This collaboration extended MTS's reach, enabling efficient resource use in academic environments. Among its primary activities were coordinated software releases and collective efforts to produce comprehensive documentation, with the first formal MTS workshop held in at the to align on system improvements. These joint initiatives ensured MTS remained robust and adaptable, supporting operations at multiple sites for decades.

Key Milestones

The Michigan Terminal System (MTS) achieved its first production release in May 1967 on the Model 67 at the , marking the system's initial deployment as a operating system capable of supporting multiple conversational users and batch jobs simultaneously. Initially limited to 3-4 interactive users, the system was enhanced later that year with relocation hardware and a paging , significantly increasing its capacity to handle a broader range of workloads on the virtual memory-enabled hardware. 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. Ports to compatible clones, including the Amdahl 470V/6 installed in 1975, further broadened hardware support while maintaining performance advantages over IBM equivalents. 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. A notable event was the 1969 MTS Summer Conference, where developers presented on the system's architecture and shared experiences among early adopters. 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. By the mid-1980s, the system operated at multiple installations, with the running three concurrent MTS instances and other consortium members like NUMAC supporting dual systems, facilitating collaborative computing among over a dozen institutions. In 1985, MTS enabled hybrid configurations integrating with IBM's Conversational Monitor System () for enhanced user environments at select sites. 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 ceased MTS operations on May 30, 1997, after three decades of service. The final active site, , shut down its MTS system in 1999, marking the end of the operating system's operational history.

Hardware Support

Compatible Platforms

The Michigan Terminal System (MTS) was originally designed for the Model 67 mainframe, which debuted in 1967 and provided the foundational hardware platform for its time-sharing capabilities. This model supported through dynamic address translation hardware, enabling MTS to manage multiple users efficiently on a single processor configuration. MTS was subsequently adapted for the 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). Third-party compatible systems expanded MTS's reach in the late and , 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 HITAC and mainframes emerged in the , with the Hitachi H-65 (equivalent to 3033) installed in 1982 and the Fujitsu M-200 (equivalent to 3081) in 1983, requiring specific modifications to ensure compatibility with MTS's 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. 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 or later architectures without emulation, remaining focused on 24/32-bit addressing environments. 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 and subsequent upgrades.

Hardware Modifications

The Michigan Terminal System () required specific hardware adaptations to the to enable efficient , particularly through the integration of dynamic relocation hardware that supported without imposing significant software overhead. This hardware facilitated address translation for problem programs, allowing dynamic loading into and resolution of external symbols, which contributed to a tenfold increase in the number of tasks serviced compared to earlier configurations. A high-speed was incorporated for paging operations, enhancing the system's ability to manage multiple users concurrently. To handle high terminal throughput essential for , 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. On the series, MTS benefited from memory upgrades that extended capacity to 64 MB via paging mechanisms, dividing the into 64 segments of 1,048,576 bytes each (256 pages of 4,096 bytes). Additional , such as extended , was added to accommodate larger workloads and more users, building on the base platforms like the 370 series. 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 for timing and enhanced to leverage the increased cycle speeds. For reliability at large installations, MTS supported dual-processor configurations, such as the upgrade to a dual 360/67 in , which enabled and capabilities. This setup allowed switching between processors and resources like core boxes and channels to maintain operations during failures, ensuring for environments.

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. 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. 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 or could typically run without changes, leveraging OS/360-like services for file handling and job control. This compatibility eased migration for institutions adopting , preserving investments in legacy software while introducing interactive capabilities. MTS's security model emphasizes user isolation through virtual address spaces, where each task operates in a protected inaccessible to others. Private segments for are safeguarded by dynamic translation, preventing unauthorized access, while shared system segments rely on hardware protection mechanisms. Absent a 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. Scalability was achieved through dynamic , enabling 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 . 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 suitable for academic and research settings with fluctuating demand.

Memory Management

The Michigan Terminal System (MTS) utilized to support multi-user on and System/370 hardware, allocating up to a MB 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 , dividing the 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. 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. 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.

Features

User Interaction

The Michigan Terminal System (MTS) provided users with a text-based, characterized by a distinctive () [prompt](/page/Prompt), which facilitated line-oriented input for executing system commands. Users entered commands such as run to initiate execution (e.g., run *TAPESUBMIT), edit to invoke the file or, and $systemstatus to query system resources, with each command line limited to 255 characters and continuable using a (-) or a custom continuation character set via the SET CONTCHAR command. 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. 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. 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. 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. User sessions in MTS began with a login procedure at the "Which Host?" prompt, where individuals entered SIGNON followed by their user ID and optional password (e.g., SIGNON userid password). 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. Sessions concluded with the $SIGNOFF command, which terminated the connection and displayed a summary of resource usage and costs incurred. 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. 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 . To enhance usability, incorporated scripting capabilities through macros and command files, allowing users to automate repetitive tasks without a graphical . Macros were defined using a structured , such as > name followed by commands and concluded with >ENDMACRO, and could be enabled system-wide via SET MACROS=ON. Command files, often called signature files (sigfiles), were invoked with SET SIGFILE=filename or executed via $, supporting input/output redirection modifiers like SOURCE and SINK for streamlined operations. These features promoted efficient, customizable interactions tailored to both novice and advanced users.

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. 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 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 but are adjustable at sign-on. 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. Backup and restore processes emphasize incremental and full dumps to tape, with no native journaling filesystem; relies on periodic snapshots generated by 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 commands. practices, such as explicit buffer flushing with CLOSEFIL, minimize data loss between snapshots. Special devices facilitate batch and peripheral I/O, including 2501 card readers for input via the *SOURCE pseudodevice in sequential or modes, enabling job submission from punched cards. Line printers, such as the 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 via options.

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 CPU scheduling featuring 16 priority classes, which ensured fair distribution of processing time while favoring responsive interactive sessions. Interactive jobs received higher priority execution, typically in classes 1 through 10, determined by estimated 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 usage without disrupting core computation. The scheduler dynamically adjusted these classes to maintain system responsiveness, with users able to query their current class via the CLASS command. 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. 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. Accounting mechanisms tracked resource consumption via integrated meters for , I/O operations, virtual storage integrals, terminal connect time, printed pages, and punched cards, enabling precise billing at installations. Usage data appeared on job tail sheets (e.g., computing costs of $0.64) and could be monitored in 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. 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.

Software Ecosystem

Programming Languages

The Michigan Terminal System (MTS) natively supported a variety of programming languages tailored for its environment on and System/370 mainframes, emphasizing interactive development, educational use, and system-level programming. These languages included enhancements for file I/O, integration, and , reflecting MTS's focus on multi-user accessibility and computational efficiency. Key implementations ranged from high-level languages like SNOBOL4 and to low-level assembly tools, with support for over 40 languages by the late . SNOBOL4 served as the primary string-processing language in MTS, designed for 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 achieving up to 10 times the speed of the interpreter with object module saving, and SNOSTORM as a adding structured constructs like IF, , and CASE for improved readability and . 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 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. 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 operations, basic , 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 for quick and error handling. FORTRAN implementations in MTS centered on the FTN compiler family, including FORTRAN-G (standard 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, , and EXTEND, enabling dynamic dimensioning and subscript checking (via SUBCHK) without fixed memory allocation, which aligned with MTS's model for efficient resource sharing among users. Additional tools like the OVERDRIVE preprocessor added structured elements (e.g., , loops), while interactive modes in systems like *IF77 facilitated and in a context. For system programming, MTS provided BAL (Basic Assembly Language), a low-level assembler based on 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 ). Complementing BAL was the 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 . The ASSIST subset further simplified BAL for educational system programming, restricting intermixing of control sections while adding execution-time services like GETSPACE. Other natively supported languages included a 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 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.

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 capabilities to support interactive and batch processing on and System/370 hardware. The 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 and ALTER or CHANGE for substitutions, employing SNOBOL4-inspired algorithms that allowed , alternation, and case-insensitive options (e.g., @AC modifier). Additional features included justification for text alignment, checkpointing to track changes with or RESTORE capabilities, and edit procedures for reusable command sequences with looping via . A visual mode enabled screen-based cursor navigation and insertions on 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 environments. RUNOFF served as a dedicated text formatter for producing formatted output suitable for manuals and reports, processing input files with embedded commands to control , 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 system, RUNOFF laid groundwork for later tools like by emphasizing markup-based text processing in multi-user settings. The subsystem, detailed in the Integrated Graphics System, offered a suite of plotting tools for visualizing on terminals and printers, supporting device-independent output across like the 4010/4114 and CalComp plotters. Core components included PLOTSYS for FORTRAN-callable subroutines that generated plot files (PDS) from arrays, enabling line graphs, scatter plots, and maps with and labeling options. Complementary utilities like PLOTSEE allowed previewing and of PDS files interactively, with features for , combination of multiple plots, and direct queuing to remote plotters via CCQUEUE, which managed costs and priorities (e.g., mode with ballpoint pens). TELLAGRAF provided conversational graphics for bar charts, histograms, and pie charts, incorporating fonts and enhancements for professional output. These tools facilitated -driven by allowing real-time visualization in sessions. 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. System utilities included $diskuse for monitoring and managing disk space allocation, displaying metrics like total used (in pages) and associated for user files (e.g., "Total used = 3 pages. = 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 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 files for overlay hierarchies. These loaders reduced overhead in large applications by prioritizing symbol searches and removing unnecessary records with tools like ENDJUNK, essential for running complex programs in MTS's constraints.

Third-Party Compatibility

The Michigan Terminal System (MTS) offered significant compatibility with IBM's OS/360 operating system, primarily through of OS/360 services and support for standard IBM 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 and direct compatibility with OS/360 magnetic tapes and disks in IBM-labeled formats. Shared libraries from OS/360 environments could be integrated via MTS's public , which provided flexible access and protection mechanisms superior to those in OS/360 for user-shared resources. Additionally, runtime libraries for languages like and were converted from OS/360 versions, enabling unmodified execution of corresponding programs without full recompilation in many cases. Several third-party applications from other ecosystems were ported to MTS during the , enhancing its utility for academic and research tasks. A prominent example is the Statistical Package for the Social Sciences (), originally developed for systems, which was adapted as a subsystem on MTS to support statistical analysis in social sciences and related fields. Early functionality was also integrated via consortium networks connecting MTS installations across universities, allowing inter-site messaging that built on protocols from broader developments. 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. MTS included limited layers for with CP/, providing command equivalents that allowed basic file access and operations across systems on shared hardware, though full file compatibility required manual intervention due to differing formats. Some installations operated hybrid / configurations to combine with capabilities, enabling limited cross-system file handling. 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 and . There was no binary with UNIX systems, as MTS targeted mainframes while UNIX ran on disparate architectures, requiring full source-level ports for any cross-adoption. These hurdles were mitigated through MTS's modular design, but they underscored the effort needed for integrating external legacies.

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. This manual serves as the foundational guide for end-users, offering a comprehensive overview of the system's , which operates in a conversational with a "#" for entering MTS commands prefixed by "", such as `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 ), 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. 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. 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 systems. Appendices further support beginners by including setup instructions for terminals, such as configuring I/O modifiers for devices like the 3278 or 9700 printer. 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. 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. 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. 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. Online access via $HELP ensured immediate availability without physical copies, supporting remote users across networked terminals. 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 repository. 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.

System Internals Documentation

The system internals documentation for the () primarily consists of technical manuals targeted at system administrators, programmers, and maintainers, providing detailed specifications for core operating system components and maintenance procedures. These documents evolved alongside MTS releases, with early versions tailored to specific hardware like the Model 67 in 1967 and later adaptations for the System/370 architecture introduced in 1972. The documentation was produced and edited by the Computing Center, later involving contributions from the MTS Consortium formed among licensed institutions to facilitate shared development and updates. A key resource is MTS Volume 3: System Subroutine Descriptions, which details kernel-level calls and system services, including interfaces for process management, memory allocation, and . This volume describes subroutine parameters, return codes, and usage examples for over 570 system routines, enabling programmers to interact directly with MTS internals such as paging and operations. For hardware-specific implementations and ports, dedicated guides outline adaptations for platforms like the System/370, covering modifications to the resident supervisor and device handling to leverage new features. These implementation guides include architectural overviews, such as the of the Multiple Programming (MPE) in coordinating batch and interactive workloads. Internals details in these manuals emphasize conceptual and operational aspects. Device driver specifications focus on Device Support Routines (DSRs), user-level modules that abstract hardware access for peripherals like terminals and tapes, with protocols for handling and trapping to ensure system stability. Flowcharts and diagrams illustrate process lifecycle states—from initiation via the command language interpreter to termination—highlighting transitions in the and routines for efficient multiprogramming. Maintenance documentation provides step-by-step procedures for system recovery and administration, such as diagnosing hardware faults through console diagnostics and restarting the resident supervisor after abends. The MTS Operators' Manual covers error recovery protocols, including dump analysis for core images and reconfiguration of the swap file to restore . For installations, guides detail creation processes using the TAPEMK to generate reels containing relocatable modules and initialization scripts, ensuring compatibility across mainframes. Access to these internals documents was restricted to licensed MTS sites, typically universities and research institutions under consortium agreements, with physical copies distributed via magnetic tapes alongside the . In some cases, volumes included partial listings for critical components like the assembler and linker, allowing maintainers to customize or debug low-level routines without full disclosure of proprietary elements. As of the , the full series of MTS internals documentation (Volumes 1–23) is digitized and freely available online through archives such as Bitsavers and the University of Michigan's repository.

Distribution and Licensing

Distribution Mechanisms

The Michigan Terminal System (MTS) was distributed to consortium members and licensed sites primarily via physical magnetic tapes, which were shipped directly to recipients such as universities including the and the University of New England. Full system distributions, designated D1.0 through D6.0, spanned from October 1968 to April 1988 and contained the complete operating system, while partial distributions (e.g., D2.1, D3.1) focused on incremental changes. The number of tapes per full distribution varied by version; for instance, D1.0 required 2 tapes, D3.0 used 5 filesave tapes plus 1 dump/restore tape, and D6.0 comprised 6 filesave tapes, 3 dump/restore tapes, and 1 utility tape. These were typically 9-track tapes, with later releases like D4.1 and D6.0 recorded at 6250 BPI for higher density storage. Installation of MTS began with a bootstrap loader process, often initiated by reading a card deck into the computer via a job to establish initial control, followed by restoring the from the distribution tapes. This was succeeded by applying site-specific configurations, such as adjusting console addresses, volume reservations with commands like *, and tailoring tasks via *MNS for UMnet integration. New installations used dedicated instructions in files like xxxNEWSYS, while updates to existing systems followed procedures in xxxOLDSYS to integrate changes without full reinstallation. Updates were managed through patch tapes addressing bugs and partial distributions incorporating enhancements or site-contributed modifications, with redistributions (e.g., D4.2A) merging inputs periodically. Major version upgrades occurred irregularly but aligned with collaboration, often annually in later years, ensuring synchronized advancements across installations. After MTS's retirement in 1996, the original magnetic tapes were converted to formats, including 3480 images in 1996 and later simulated AWS tapes, enabling preservation and access via emulators without . These archives, including EBCDIC-to-ASCII translations and extraction tools like lbltp, were made publicly available through the University of Michigan's repository.

Licensing Terms

The Michigan Terminal System () was initially developed and released in 1967 under terms, enabling free exchange and non-commercial use by academic and institutions without formal restrictions or licensing fees. This open model facilitated widespread adoption among universities, with distributed via magnetic tapes to members and affiliates for educational and purposes. Access to MTS required membership in the MTS Consortium or a formal agreement with the , which managed distribution and provided updates, instructions, and as part of the arrangement. While was supplied to licensees, any modifications were expected to be shared back with the to support collective improvements, though this was governed by honor-based collaboration rather than strict mandates. Key restrictions prohibited commercial exploitation, including the use of to offer paid computing services or integrate it into for-profit operations, ensuring its focus remained on academic and non-commercial applications. License agreements included clauses maintaining compatibility with and System/370 hardware, reflecting MTS's origins on platforms. Licensees held perpetual rights to installed versions of MTS, allowing indefinite use post-installation without ongoing fees, though official support and updates ceased after 1998 following the system's decommissioning at remaining sites. Enforcement relied on contractual honor systems, with the overseeing through agreements rather than legal litigation. Over time, MTS licensing evolved from its open 1967 origins to more structured terms in the 1980s, driven by the rise of commercial mainframe computing and the need to fund ongoing development and distribution amid shifting industry dynamics. By 1987, annual fees were introduced—$5,000 for academic institutions, $10,000 for non-profits, and $25,000 for limited commercial access—to cover tape distributions (one full set plus 1–2 incremental updates yearly) and two copies of user documentation, while upholding non-commercial core restrictions.

Legacy

Influence and Impact

The Michigan Terminal System (MTS) significantly influenced operating system design, particularly in the areas of and . Developed in 1967, MTS was one of the first operational systems, alongside , enabling efficient resource sharing on mainframes through segmentation and paging techniques that provided user isolation via disjoint address spaces. These concepts contributed to the evolution of commercial systems, including IBM's VM/370 (derived from CP/67), which adopted similar principles for enhanced interactivity and multi-user support. Additionally, MTS's advancements in and indirectly shaped early UNIX development by promoting interactive computing paradigms on minicomputers, bridging the gap from mainframe to more accessible user environments. In academia, MTS left a profound legacy by training generations of programmers and researchers through its widespread adoption. Exported to over a dozen universities, it established the as a leader in and , fostering hands-on education in system programming and performance analysis. The system's support for tools like (Michigan Interactive Data Analysis System) enabled early computational work in fields such as and data-intensive research, laying groundwork for disciplines including by providing interactive analysis capabilities on shared resources. Research conducted on MTS, including studies on scheduling and , influenced subsequent OS performance modeling and continues to inform academic curricula in . Culturally, MTS contributed to the hacker ethic prevalent in university communities by emphasizing collaborative, interactive access to powerful hardware, which encouraged experimentation and resource sharing among students and faculty. It pioneered early systems, serving as a precursor to networked communication and facilitating the development of BITNET protocols on MTS, which connected academic institutions for file and message exchange starting in the early . This environment influenced applications, as the University of Michigan's MTS installation became an early , supporting remote resource sharing that advanced networked experiments. Compared to contemporaries like Multics, MTS prioritized interactivity and simplicity, offering faster response times for terminal users on similar hardware, though it implemented less rigorous security mechanisms than Multics's hardware-enforced protections. As a bridge between batch-oriented systems and the era of personal computing, MTS's terminal-based multi-user model democratized access to mainframes, paving the way for the distributed, user-centric paradigms seen in later OSes.

Modern Preservation Efforts

Following the retirement of the last production MTS installation at Rensselaer Polytechnic Institute in June 1999, preservation efforts shifted to digital archiving and emulation to maintain access to the system for historical study. In 1999, as part of the shutdown process, digital tapes containing MTS , and data were created from the final operational environment, forming the basis for subsequent archives. These materials, including and binaries, were deposited at the University of Michigan's repository, where they remain accessible as scanned PDFs and digital files derived from original distribution tapes and late-1990s dumps. The Michigan Terminal System Archive, hosted at archive.michigan-terminal-system.org (now mirrored on archive.org), provides comprehensive mirrors of these resources, including full system distributions like MTS D6.0A, enabling researchers to download and restore the environment. Emulation has been central to revival initiatives since the early 2000s, with the open-source Hercules emulator emerging as the primary tool for running MTS on modern x86 PCs by simulating IBM System/360 and System/370 hardware, including peripherals like 3270 terminals and tape drives. Hercules, first supporting MTS in versions around 2000, allows full system operation without original mainframe hardware, and community ports have extended compatibility to platforms like Linux, Windows, and macOS. Variants based on the SIMH framework have also been adapted for partial MTS simulation, though Hercules remains the most complete for production-like demos. Post-2010 projects, such as the Try MTS initiative launched in 2014, provide online access via web-based 3270 terminals connected to emulated instances, allowing remote interaction without local setup. Source code for key components, including compilers like PL360 and utilities, is hosted on GitHub under Creative Commons Attribution 3.0, facilitating modifications and educational ports. In educational contexts, preserved MTS environments support courses on operating system history and concepts, with emulated instances used for hands-on demonstrations of practices. Preservation faces challenges from obsolete tape formats, such as the proprietary *FS (File System) structure on 9-track magnetic tapes, which require specialized decoding tools to extract data for modern storage. Ongoing development in emulators like involves bug fixes to improve accuracy, particularly for rare hardware interactions and behaviors unique to MTS. These efforts ensure that MTS's innovations in multi-programming and user interfaces remain verifiable through runnable artifacts.

References

  1. [1]
    Cool Computing: MIDAC To MTS To CAEN
    Sep 1, 2017 · The IBM 360/67 arrived on campus in 1967, and Michigan's first time-sharing computer system, Michigan Terminal System (MTS), was released to the ...
  2. [2]
    [PDF] MTS Volume 1 - Bitsavers.org
    History ... The MTS Volumes are a series of manuals that describe in detail the facilities provided by the. Michigan Terminal System.
  3. [3]
    Michigan Terminal System - MTS - ACM Digital Library
    MTS, the Michigan Terminal System, is a terminal oriented time-sharing system that offers both batch and terminal usage. It was developed by the University ...
  4. [4]
    Exploring the Michigan Terminal System - Try MTS
    Jun 15, 2014 · MTS, the Michigan Terminal System, is an operating system running on IBM System/360 compatible mainframes dating from the 1960s.
  5. [5]
  6. [6]
    Manuals - MTS Volume 01: The Michigan Terminal System
    The MTS Manual is a series of volumes that describe in detail the facilities provided by the Michigan Terminal System. This volume includes a brief description ...
  7. [7]
    A History of MTS: 30 Years of Computing Service - clock.org
    Jan 21, 2020 · Now it was possible for 30 to 40 people to simultaneously use the system in interactive mode, mostly at teletype terminals (typewriter stations) ...
  8. [8]
    [PDF] a penetration analysis of the michigan terminal system - Rose-Hulman
    The remaining private segments are user storage areas which are at the disposal of user programs. These various areas of virtual memory are protected from.
  9. [9]
    [PDF] MTS Volume 1 - Bitsavers.org
    Michigan Terminal System (MTS) and is invoked automatically whenever a job ... both assembly-language programs and higher-level language programs. For ...
  10. [10]
    Accessible IT Timeline | The History of Tech at U-M
    Virtual memory allows the computer to extend its memory by using a local ... Michigan Terminal System. The appearance of potentially offensive material ...
  11. [11]
    The History of CSE | Computer Science and Engineering at Michigan
    Other computing centers around the world adopted the use of MTS. Remote terminals were deployed across UM, and the system remained in use until May 30, 1997. In ...Missing: worldwide | Show results with:worldwide<|separator|>
  12. [12]
    Organization and features of the Michigan terminal system
    This paper will explore some aspects of the Michigan Terminal System (MTS) developed at the University of Michigan. MTS is the operating system used on the ...
  13. [13]
    The IBM 360/67 and CP/CMS - Multics
    The IBM 360/67 with virtual memory was used for CP/CMS, which provided each user with a virtual 360 by multiplexing CPU and storage.
  14. [14]
    Computing Center (University of Michigan) records, 1952-1996 ...
    The last member of the MTS Consortium to have an MTS system in operation was Rensselaer Polytechnic Institute, which shut down its system in June 1999. In ...
  15. [15]
    Michigan Terminal System
    The Michigan Terminal System (MTS), along with Multics at MIT, were the first operational virtual memory operating systems in the world.
  16. [16]
    Organization and features of the Michigan terminal system
    Currently at the University of Michigan there are about 13,000 users running as many as 86,000 jobs per month. MTS was developed almost entirely by the staff of.Missing: peak concurrent
  17. [17]
    Michigan Terminal System: Summary - clock.org
    Jan 21, 2020 · In or around 1966, the Univeristy of Michigan obtained an IBM 370 mainframe. Unfortunately, there was no operating system for the machine, so ...
  18. [18]
    Michigan Terminal System: Time Line - clock.org
    Jan 21, 2020 · Computing Center obtains dual-processor 360/67. November 1968: University of British Columbia runs MTS. 1969-1973. February 1969: University of ...Missing: members | Show results with:members
  19. [19]
    [PDF] A History of Computing at the University of Michigan
    The computer was called the Electronic Differential Analyzer, and was built at the UM. Blanchard Hiatt, "A Faster Cratchit: The History of Computing at Michigan ...
  20. [20]
    None
    Below is a merged summary of the core design principles of the Michigan Terminal System (MTS), consolidating all information from the provided segments into a single, comprehensive response. To maximize detail and clarity, I will use a table in CSV format for the core design principles, followed by a section for URLs and additional notes. This approach ensures all information is retained and presented efficiently.
  21. [21]
    [PDF] MTS bibliography - University of Michigan Library
    Jan 9, 2011 · Summer Conference 7016, 1969. †. •. Boettner, Donald W. and Alexander, Michael T., "MTS - The Michigan Terminal System", ACM. SIGOPS Operating ...
  22. [22]
    [PDF] A comparative study of the Michigan Terminal System (MTS ... - CORE
    measurement techniques to determine load factors are discussed with extension of the load factor concept to measure system loads on a continuous basis.Missing: concurrent across<|control11|><|separator|>
  23. [23]
    [PDF] MTS Operators' Manual - Deep Blue Repositories
    Feb 21, 1995 · OVERVIEW OF THE SYSTEM. Page 19. INTRODUCTION TO MTS (THE MICHIGAN TERMINAL SYSTEM) 19. OVERVIEW OF THE SYSTEM be retrieved by the user with a ...
  24. [24]
    Full text of "Computerworld" - Internet Archive
    ... over 100 installations throughout the world To Acquire MSM, or for more information . ... Michigan Terminal System (MTS) on an IBM 3033. The library is ...<|separator|>
  25. [25]
    A penetration analysis of the Michigan Terminal System
    A penetration analysis of the Michigan Terminal System · Abstract · Formats available · References · Cited By · Recommendations · Comments · Information & Contributors.
  26. [26]
    [PDF] + VIRTUAL MEMORY MANAGEMENT SLAC REPORT 244 STAN ...
    Chanson and Bishop [CFIAN77] model the Michigan Terminal System. They recognize that traditional workload models are not realistic: In an interactive ...
  27. [27]
    Programming languages in MTS
    Nov 22, 2014 · MTS supported over 40 languages, representing a cross-section of programming tools available in 1988, from well known ones like LISP and FORTRAN to the more ...
  28. [28]
    [PDF] MTS Volume 9 - SNOBOL - Deep Blue Repositories
    This manual is intended to represent the current state of the Michigan. Terminal System (MTS), but because the system is constantly being developed,.
  29. [29]
    BASIC - Introduction - Try MTS
    Nov 23, 2014 · There's also a great beginner's introduction called “Fundamental Use of the Michigan Terminal System (Including Simple MTS BASIC)” by Thomas J.
  30. [30]
    Catalog Record: Fundamental use of the Michigan Terminal...
    Fundamental use of the Michigan Terminal System (Including simple MTS BASIC) / by Thomas J. Schriber. ; Subjects: Computer programming. BASIC (Computer program ...
  31. [31]
    [PDF] MTS Volume 6 - Fortran - Bitsavers.org
    The MTS Manual is a series of volumes that describe in detail the facilities provided by the Michigan Terminal System. Administrative policies of the ...Missing: superuser | Show results with:superuser
  32. [32]
  33. [33]
  34. [34]
    [PDF] MTS Volume 18 - Editor - Deep Blue Repositories
    Feb 18, 1988 · The MTS Manual is a series of volumes that describe in detail the facilities provided by the. Michigan Terminal System. Administrative ...
  35. [35]
    [PDF] MTS Volume 2 - Public Files - University of Michigan Library
    The MTS Volumes are a series of manuals that describe in detail the facilities provided by the Michigan Terminal System. Administrative policies ITD and the ...
  36. [36]
  37. [37]
    [PDF] Rosenthal_-_Multi-Access_Computing_Modern_Resea..
    Michigan Terminal System", AFIPS Conf. Proc. 40 (1972. SJCC), AFIPS Press ... ment of the BMD programs. Originally, these statistically- oriented ...<|separator|>
  38. [38]
    [PDF] Software exchange directory for university research administration
    ... Indiana University System, New Jersey Educational Computer Network ... British Columbia. 41-5d. U. of Michigan & Michigan State U. 41-5e. U ...
  39. [39]
    How the Net Was Won: Michigan Built the Budding Internet
    Apr 12, 2016 · ... Michigan had established the Michigan Terminal System (MTS)—one of the world's first time-sharing computer systems, and a pioneer in early ...
  40. [40]
    [PDF] A Structurally Oriented Simulation System
    SOSS has been designed to run on-line on the Michigan Terminal. System, (MTS), i. e., in a conversational mode via a terminal, but it can be easily modified ...
  41. [41]
    [PDF] Celebrating 50 Years of Campus-wide Computing
    Feb 22, 2019 · The IBM System/360-67 and the Michigan Terminal System. 13:30–17:00 ... The background to this choice was a Government initiative (the 1967 ...
  42. [42]
    README.txt - Deep Blue Repositories
    ... sites. Additional documentation ------------------------ Additional MTS documentation is available: * in the "Michigan Terminal System" Wikipedia article ...
  43. [43]
    A UNIX System Implementation for System/370 - Nokia
    This paper describes the software structure, with emphasis on unique aspects of this implementation: multiprocessing and process synchronization, process ...Missing: influence | Show results with:influence
  44. [44]
    Michigan Terminal System (MTS) notes - ldx.ca
    Or, you could add CONVERSE if you want to send multiple messages (ie, start a conversation). ... user accounts (as was common for systems of this era). Commands I ...
  45. [45]
    [PDF] MTS Volume 3 - System Subroutines - Deep Blue Repositories
    Among them is a large subsystem, called MTS (Michigan. Terminal System), for command interpretation, execution control, file management, and accounting ...
  46. [46]
    [PDF] MTS Volume 19 - Magnetic Tapes - University of Michigan Library
    The MTS Volumes are a series of manuals that describe in detail the facilities provided by the. Michigan Terminal System. Administrative policies of the ...
  47. [47]
    Michigan Terminal System - Distribution Documentation and Files
    Michigan Terminal System tapes and documentation for regular and partial distributions D1-0 through D6-0. Dates for the distributions span from October 1968 ...
  48. [48]
    IT Timeline | The History of Tech at U-M - University of Michigan
    UB increases capacity—an additional 300 concurrent terminal users—at a low cost and allows the Computing Center to work out different models for pricing and ...
  49. [49]
    [PDF] Oral History Interview with Bernard A. Galler
    So we were in business quite rapidly, and MTS, as the new system was called, the Michigan Terminal System, grew. It was quite good, and people - Alexander ...
  50. [50]
    http://bitsavers.informatik.uni-stuttgart.de/bits/...
    ... Michigan Terminal System (MTS), has established a ... Swapping PSW-Key-Handling Channel Indirect ... 3330 and/or 3350 compatible disks in any ...
  51. [51]
    Myths about Multics
    Jul 31, 2025 · "The Michigan Terminal System (MTS), along with Multics at MIT, were the first operational virtual memory operating systems in the world.
  52. [52]
    The Impact of Operating Systems Research on Software Technology
    The operating system is the most important and among the first of the software subsystems developed for a new computer. It is commonly the most complex of the ...Missing: legacy | Show results with:legacy<|control11|><|separator|>
  53. [53]
    [PDF] Legacies of Excellence - Electrical and Computer Engineering
    “Our Michigan Terminal. System (MTS) was exported to several dozen other universities and established U-M's name in the area of timesharing and virtual memory.
  54. [54]
    Michigan Terminal System (MTS) - HathiTrust Digital Library
    Michigan Terminal System (MTS). Documents about the Michigan Terminal System (MTS), a time-sharing system. Search. Search within this ...
  55. [55]
    How the Net Was Won | University of Michigan Heritage Project
    By the mid-1960s, U-M had established the Michigan Terminal System, one of the world's first time-sharing computer systems and a pioneer in early forms of email ...Missing: influence | Show results with:influence
  56. [56]
    [PDF] MTS Reference R1039 - BITNET - University of Michigan Library
    ... System (messages sent from MTS through BITNET start out in the Message System), see. MTS Volume 1: The Michigan Terminal System, Reference R1001. MTS Volume ...
  57. [57]
  58. [58]
    Hercules Version 3: Frequently-Asked Questions
    Hercules makes these appear to the operating system as channel-attached 3420 or 3480 devices, making it possible to read and write real mainframe tapes. 4.05 ...<|separator|>
  59. [59]
  60. [60]
    rupertl/mts-languages: A tour of the programming ... - GitHub
    This is the source code for the tour of Michigan Terminal System programming languages at http://try-mts.com ... System/360 assembly language. Please feel ...