CS 550 Amoeba-A Distributed Operation System by Saie M Mulay.
Published byModified over 5 years ago
Presentation on theme: "CS 550 Amoeba-A Distributed Operation System by Saie M Mulay."— Presentation transcript:
CS 550 Amoeba-A Distributed Operation System by Saie M Mulay
Introduction A Brief History 1970’s: Timesharing (1 computer with many users) 1980’s: Personal computing (1 computer per user) 1990’s: Parallel computing (many computers per user) Amoeba is a Parallel/Distributed Operating System.
What is Amoeba? Amoeba is designed to take a collection of machines and make them act together as a single integrated system. It is a powerful microkernel based system that turns a collection of workstations or single board computers into a distributed system
Topics Covered Hardware Architecture Software Architecture Design Goals and Chief Design Features Protection and Capabilities File System Process Management
Hardware Architecture 4 Major Components Workstations Local Area Network Gateway Processor Pool
Hardware Architecture contd... Flip Network Protocol for LAN communication. Highly Reliable Architecture User can be assigned 10-100 processors. The Amoeba operating system is natively programmed for Suns, VAXs and Motorola chips Minimum configuration for a SPARC station system File Server: 16 MB RAM, a 300 MB disk, a SCSI tape drive. Workstation: 8 MB RAM, monitor, keyboard, and mouse. Pool processor: 8 MB RAM
Software Architecture Client-Server Paradigm. Object and Class based architecture. Associated with each object is a class. Classes may contain other classes and therefore are hierarchical in nature. This inheritance creates the object interface for object manipulation such as deleting, read, write, append, etc Uses Remote Procedure Calls. These calls are in the form of light weight processes.
Software Architecture contd... There are 3 basic system calls available to a user process. do_operation: Client sends a request message and receives a reply: the header contains a capability for the object upon which an operation is being requested. get_request: Server sends a request from the port specified in the message header. put_reply: Server replies
Design Goals and Chief Design Features Network transparency All accesses to the network are user transparent. Object-based resource management All resources are regarded as objects. All Objects are managed by servers. User-level servers The system software was to be constructed as far as possible as a collection of servers executing at user-level, on top of a standard microkernel that was to run at all computers in the system, regardless of their role
Protection and Capabilities In Amoeba all resource identifiers are capabilities, implemented in the form shown below: Server Port: Request Messages are received on this port. Object Number: Used to identify the object within that server.
Protection and Capabilities contd.. Permissions: It defines the owner capabilities. Check Field: It’s a 48 bit random number assigned when the object is created. There are 2 48 i.e. about 10 14 combinations of 48 bit wide fields. Generating and testing all these combinations by brute force would involve passing each guess in a message to the server, at about 2 milliseconds for each guess. That is about 2 x 10 11 seconds, or about 6,300 years.
File System Naming is an intrinsic part of object capabilities in an Amoeba O.S. There is an extra level of mapping from symbolic, hierarchical path names to capabilities.Hence user sees local objects as public objects. Members of a group may be given capability of a directory. In reality directories are name/capability pairs.
File System contd... Operations Supported: Read Create and Delete. Write Operation not supported. Hence files cannot be changed once they are created. Thus files can be stored contiguously resulting in efficient file storage. High security and Reliability All internal tables are replicated. Directory protection using encryption key No cache coherency Information cached by the directory service never gets outdated.
Process Management Processes are made up of one or more lightweight processes called threads to minimize context switching. Process address is encapsulated in an internal memory map. This map has an entry for every segment of address for a potential process. An entry contains the virtual address, segment length, segment mapping, and capability of the object from which the segment is initialized.
Process Management contd.. Thread map that describes initial state of thread, processor status, program counter, stack pointer, the stack base, register values, and the system call state. Processes can have 2 possible states Stunned - When the process is being debugged. Running
Machines On Which Amoeba Runs Amoeba currently runs on the following architectures Sun 4c and MicroSPARC SPARC stations Intel 386/486/Pentium/Pentium Pro (IBM AT bus, PCI Bus) 68030 VME-bus boards (Force CPU-30) Sun 3/60 & Sun 3/50 workstations
Pricing Amoeba is available free to universities that have FTP or WWW access to the Internet, and for $US 500 on Exabyte or DAT tape to those that do not. Printed sets of the manuals can be obtained for $US 500 each.
Conclusion The Amoeba can be built with off the shelf products, and produces a very high performance operating system without custom made parts. The Amoeba operating system in general is a highly secure, high performance distributed operating system.