The Mach Multiserver Page

The Mach-US system is an OS developed as part of the CMU MACH project. It is comprised of a set of servers, each of which supports orthogonal system services. For example, instead of one server supplying all of the system services as under the Mach BSD4.3 single server (UX), the Mach Multiserver (Mach-US) has several servers: a task server, a file server, a tty server, an authentication server, a network server, etc. It also has and emulation library that is mapped dynamically into each user process, and uses the system servers to support the application programmers interface (API) of the UNIX operating system.

The Mach-US Architecture


- Follow this link for a summary of the Mach Multiserver's main features.

- If you have further questions about this work you may contact J. Mark Stevenson at

Mach-US: Research Rationale

Multiserver documents:

- What is Mach US.
[doc], [postscript]. July 1994.

A short introduction to Mach-US. Current status included.

- Mach-US: UNIX On Generic OS Object Servers
J. Mark Stevenson, Daniel P. Julin. [abstract], [postscript], [LaTeX]. [slides-postscript]. Usenix Technical Conference, Jan. 1995.

This paper examines the Mach-US operation system, and supplies an analysis of the OS architectural research issues addressed by its implementation.

- Client-Server Interactions in Multi-Server Operating Systems: The Mach-US Approach
J. Mark Stevenson, Daniel P. Julin. [abstract], [postscript], CMU Technical Report: CMU-CS-94-191, Sep. 1994.

This paper describes requirements placed upon client-server interaction in a multi-server operating system and how to answer those requirements. Addressed are the problems of binding maintenance in the face of: remote method invocation, forking, binding transfer, authentication, asynchronous interruption, and client crashes.

- Emulation Services for Mach 3.0 Overview, Experiences and Current Status.
Daniel Julin, J. Chew, J. M. Stevenson, P Guedes, R. Neves, P. Roy. [abstract], [postscript], [LaTeX]. Usenix Mach Symposium, Nov. 1991.

General overview of the Mach-US: system, design, and perspective.

- The Mach 3.0 Multi-Server System Overview.
Daniel P. Julin. [abstract], [postscript], [LaTeX]. July 1991.

Informal technical overview. More technical than the Generalized Emulation Services paper.

- Writing a Client-Server Application in C++.
Paulo Guedes, Daniel P. Julin. [abstract], [postscript], [LaTeX]. 1992.

A paper about the C++ package for dynamic (and remote) object invocations.

- Object-Oriented Interfaces in the Mach 3.0 Multi-Server System.
Paulo Guedes, Daniel P. Julin. [abstract], [postscript], [LaTeX]. IEEE Workshop on Object Orientation in Operation Systems 1991.

Another paper about the C++ object invocation package.

- Naming Facilities for Operating System Emulation in Mach 3.0.
Daniel P. Julin. [abstract], [postscript], [LaTeX]. August 1991.

A paper the describes the naming subsystem.

- Libus++ Reference Manual.
Paulo Guedes. [abstract], [postscript], [LaTeX]. November 1992.

Reference manual for the C++ package for dynamic (and remote) object invocations.

- Installing and Running Mach-US.
Mary R. Thompson. [abstract], [postscript], [scribe]. July 1994.

Installation guide for the Mach multiserver.

- Multiserver.
[postscript], [framemaker].

Slides from Dan Julin's Mach Internals Talk on the Multiserver given on April 9, 1992.

Top J. Mark Stevenson,