Date: Aug, 1994 Abstract: Books containing substantial information about Mach -------------------------------------------------------- Programming Under Mach Joseph Boykin, David Kirschen, Alan Langerman, Susan LoVerso Addison-Wesley Publishing Co., 1993 481 pages This is certainly the most complete presentation of how to program applications using Mach features. It explains the basic Mach abstractions of tasks, threads, ports, messages and memory objects and gives examples of why and how to use them. There are introductory chapters for tasks/threads, interprocess communication (IPC) and virutal memory. Following this are chapters on advanced features of IPC such as server processes might need, the Mach Interface Generator which is used to simplify the writing of IPC interfaces, and external memory management. There is also a chapter each for C-threads and OSF/1 P-threads, and the Mach exception handling facility. There are frequent short code examples as well as a complete client/server example of an external memory manager. The code is all compatible with Mach 2.5, but references are made to where there are differences with Mach 3.0. Even if your goal is to program for a Mach 3.0 system, this book is a good place to start since the basic concepts have not changed significantly. Once the basic ideas are understood, the Mach 3.0 reference manuals can be used to update your knowledge of the details. ------------------------------------------------------- Distributed Systems, Concepts and Design, 2nd Ed. G. Coulouris, J. Dollimore, T. Kindberg Addison-Wesley Publishing Co., 1994 This is a textbook intended to provide knowledge of the principles and practice of distributed system design. The principles of interprocess communication, remote procedure calls, distributed file and name servers, and distributed operating systems with the emphasis on micro-kernels are covered along with other more sophistcated features to support distributed systems. Many of these ideas are illustrated by examples from the Mach operating system. There is a final chapter where Mach, Chorus, Amoba and Clouds are examined in more detail and the different design decisions are compared. Section 18.2, pages 547-566 gives a clear explanation of the central features of the Mach 3.0 micro-kernel. -------------------------------------------------------- Distributed Operating Systems: The Logical Design A. Goscinski Addison-Wesley Publishing Co., 1991 Chapter 14.8, pages 864-888 is about Mach This is a subsection of a chapter surveying seven experimental distributed operating systems. It defines the basic Mach abstractions and goals. It emphasizes the software architecture both at the high level of the system tasks running on tightly coupled multi-processor platforms or a network of loosely coupled machines and at the implementation level of describing the various kernel modules and data structures. Specific primitives are specified and an outline of a client/server shared memory server is given. ------------------------------------------------ Advanced Computer Architecture: Parallelism, Scalability, Programmability K. Hwang McGraw-Hills, Inc., 1993, pages 686-709 ------------------------------------------------------- Load Distribution, Implementation for the Mach Microkernel Dejan S. Milojicic, OSF Research Institute, Cambridge, Massachusetts Vieweg Verlag, Wiesbaden, Germany, 1994 The book is of practical character and describes the author's experience while developing load distribution on top of the Mach microkernel. Load distribution is a very important concept for distributed systems in order to achieve better performance, resource utilization and response times. Providing efficient mechanisms for the transparent support of load distribution has proven to be an extremely difficult undertaking. As a matter of fact, there is no commercially available system which provides transparent load distribution right now. The monograph by D. Milojicic presents a novel load distribution scheme based on modern microkernel architectures. The remarkable results of D. Milojicic's approach show evidence for his hypothesis that load distribution is feasible even under strong efficiency constraints if built upon microkernel architectures. Based on a complete implementation using the NORMA-version of Mach, D. Milojicic shows that substantial performance improvements of his load distribution scheme on top of Mach result from the dramatic reduction of state information to be managed in course of a task migration. For readers not familiar with the topic, the monograph gives a good survey of the load distribution problem and puts existing approaches into perspective. Abstract is from the forward by Prof. Juergen Nehmer, University of Kaiserslautern --------------------------------------------------------- CMU Computer Science - A 25th Aniversary Commemorative Ed. R. Rashid Mach: A Case Study in Technology Transfer - Chapter 17 pages 411-421 ACM Press, Anthology Series, 1991 This chapter describes history of the Mach operating system research project and its efforts to transfer the ideas imbedded in that system from the research laboratory to industry. --------------------------------------------------------- Operating Systems Concepts A. Silberschatz, J.L Peterson, P.B. Galvin Addison-Wesley Publishing Company, 3rd Edition 1991 Chapter 16, pages 597-628 is about Mach. Gives a brief introduction to Mach, its history and design goals. Covers the basic concepts of Mach, its similarities and differences from Unix. Discusses the NetMessage Server and how it extends IPC trasparently across machines. Covers virtual memory managment and external memory managers and sharing of memory between tasks. There is a brief mention of implementation details and how they compare with BSD-Unix. Operating System Concepts A. Silbershatz and P.B. Garvin Addison-Wesley Publishing company, 4th Ed, 1994 Chapter 20, pages 659-689 is devoted to Mach (as in the previous edition). ------------------------------------------------------- Modern Operating Systems Andrew S. Tanenbaum Prentice Hall 1992 Chapter 15, pages 637-682 (Case Study 4) is about Mach This chapter gives a general introduction to the Mach 3.0 micro-kernel and compares it to the Amobea operating system. Implementation of task and thread creation and scheduling are covered in some depth as is memory management and interprocess communication. External memory management is explained and there is a brief description of the Network Message Server and the Unix server. ------------------------------------------------------- Distributed Operating Systems Andrew S. Tanenbaum Prentice-Hall, Inc. 1995 Chapter 8 (Case Study 2) is on Mach pp.431-474 I haven't seen this book so I don't know how much the Mach description varies from the one in Tanenbaum's previous book. ------------------------------------------------------- Mach: Konzepte und Programmierung Christoph Zimmermann, Albrecht W. Kraas Springer-Verlag, 1993 192 pages, written in German This book coveers the concepts and programming interfaces of the Mach kernel. It addresses both the novice and the more advanced reader. The first part reviews the reader's knowledge of operating systems, and introduces the basic Mach abstactions of VM objects, threads, tasks, etc.. The second part presents an in-depth description of the following topics: Mach IPC, the MiG, Cthreads, the Mach VM system, the External Memory Management Interface (EMMI). An application example gives this section on Mach programing a final polish. An outlook in the last chapter presents the differences between the 2.5 version of Mach and the Micro-kernel based 3.0 version together with the description of the Unix-Emulation. -----------------------------------------------