This document compares three distributed operating systems: Amoeba, Mach, and Chorus. Amoeba was designed for distributed systems and uses a pool processor execution model, automatic load balancing, and automatic file replication. Mach was designed for single CPU/multiprocessors and provides extensive multiprocessor support. Chorus is a microkernel-based real-time operating system that is optimized for the local case and provides asynchronous communication. The document outlines key differences between the three operating systems in areas such as architecture, communication methods, memory management, and UNIX compatibility.
Capitol Tech U Doctoral Presentation - April 2024.pptx
Comparison of Amoeba, Mach & Chorus: DOS
1. Comparison of Amoeba, Mach and
Chorus
Presented By
Er. Shiva K. Shrestha (15957)
DOS, ME Computer
Nepal College of Information Technology
2. Amoeba DOS
Times Sharing DOS
Based on Microkernel
Execution Model: Pool Processor
Automatic Load Balancing
Automatic File Replication
Object Based DSM Used
Main Objectives:
Distribution, Parallelism, Transparency, Performance
2016-07-04 2
6. Mach DOS
Designed for 1 CUP/Multiprocessor
Extensive Multiprocessor Support
Maximum No. of Kernel Calls: 153
Memory Mapped Objects
Integrated Memory Mgmt.
Page Based DSM
No Group Communication
2016-07-04 6
10. Chorus DOS
Microkernel Based RTOS
Flexible Virtual Memory
Implementation
Binary Level OS Emulation
Async. Communication
Page Based DSM
Optimized for Local Case
2016-07-04 10
11. Chorus Chief Design
Features
Dynamically Loadable Servers
Enhancement of Unix
Server Group & Reconfiguration
Distributed Memory Multiprocessor
Operations
Real-time Operations
2016-07-04 11
12. Conclusion (1)
2016-07-04 12
ITEM AMOEBA MACH CHORUS
Designed for: Distributed system 1 CPU, multiprocessor 1 CPU, multiprocessor
Execution model Pool processor Workstation Workstation
Microkernel? Yes Yes Yes
Number of kernel calls 30 153 112
Automatic load
balancing?
Yes No No
Capabilities General Only ports General
Capabilities in: User space Kernel User space
Threads managed by: Kernel Kernel Kernel
Transparent
heterogenity?
Yes No No
User-settable priorities? No Yes Yes
Multiprocessor support Minimal Extensive Moderate
13. 13
Conclusion (2)
2016-07-04
ITEM AMOEBA MACH CHORUS
Mapped object Segment Memory object Segment
Demand paging? No Yes Yes
Copy on write? No Yes Yes
External pagers? No Yes Yes
Distributed shared
memory
Object based Page based Page based
RPC? Yes Yes Yes
Group communication Reliable, ordered None Unreliable
Asynchronous
communication?
No Yes Yes
Intermachine messages Kernel User space/kernel Kernel
Messages address to: Process Port Port
UNIX emulation Source Binary Binary
UNIX compatibility POSIX (partial) BSD System V
Single-server UNIX? No Yes No
Multiserver UNIX? Yes No Yes
Optimized for: Remote case Local case Local case
Automatic file replication? Yes No No