Archive material from Edition 2 of Distributed Systems: Concepts and Design
George Coulouris, Jean Dollimore, Tim Kindberg · 1994
Amoeba is a complete and novel distributed operating system constructed as a collection of userlevel servers supported by the microkernel. Mach and Chorus are primarily microkernel designs geared towards the emulation of existing operating systems, notably UNIX, in a distributed system. Mach, Chorus and Amoeba have many common general goals, including the support of network transparency, encapsulated resource management and user-level servers. In Mach and Chorus, some objects are managed by the kernel and others by user-level servers, whereas all Amoeba objects are managed outside the kernel. Chorus allows user-level servers to be loaded dynamically in the kernel address space. Mach, Chorus and Amoeba all provide separate abstractions of processes and threads. Mach and Chorus can take advantage of a multiprocessor. The Amoeba kernel interface is very simple, because of its simple communication model and lack of support for virtual memory. The Mach and Chorus kernels offer many more calls due to their more complex communication models and the desire to emulate UNIX. Naming and protecting resources ◊ Resources are named and protected by capabilities in Amoeba and Chorus and by ports in Mach. Resources identified by capabilities in Amoeba and in