Case Study: Distributed OS
Case Study: Distributed OS
Amoeba OS
Computing?
Location independent
Amake
Architecture
Micro-kernel
Process and thread (kernel/user space) management IPC Low level I/O management Low level Memory management
Client-Server Model
Clients are written by users Servers are written by system programmers
Essentially
guarantees
Objects
Servers manage objects Clients can instantiate and access objects Objects protected by cryptographically protected capability
RPC Communication
Modular Architecture
Other Servers
Object replication server Process maintenance Health-monitoring server Inter-operability servers
Capabilities
Naming as well as protection Managed in user space
Rights management
Can
Takes
Process Management
Three-levels of interfaces
RPC
Memory Management
Not paged or swapped Contiguous in memory Segments may be created, destroyed, read and written Simple and fast in an RPC model
Overly
restrictive
Message passing
a service
As
Group Communication
Closed groups Reliable Broadcast
Sequencer
model
Lazy-ack
Fast
From the put-port to the FLIP address From the FLIP to the network address