Aims and Objectives
Introduction to Amoeba
The Amoeba System Architecture
The Amoeba Microkernel
The Amoeba Servers: Introduction
Process Management
Memory Management
Communication
The Amoeba Servers
manages processes and threads
provides low-level memory management support
supports interprocess communication (point-to-point and group)
handles low-level I/O for the devices attached to the machine
Server Basics
To create an object the client performs an RPC with the server
Server creates the object and returns a capability
To use the object in the future, the client must present the correct capability
The check field is used to protect the capability against forgery
When an object is created, server generates random check field, which it stores both in the capability and in its own tables
The rights bits in the capability are set to on
The server sends the owner capability back to the client
Creating a capability with restricted rights
Client can send this new capability to another process
by process servers, part of the microkernel
by library procedures which act as interfaces
by the run server, which decides where to run the processes
Contains:
process' owner's capability
etc
The File System
The Bullet Server
The Directory Server
The Replication Server
Other Amoeba Servers
The Run Server
On which architecture should the process be run?
Which processor should be chosen?
The Boot Server