Ameoba Designed by: Prof Andrew S. Tanenbaum at Vrija University since 1981.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Multiple Processor Systems
Categories of I/O Devices
Distributed Processing, Client/Server and Clusters
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Silberschatz and Galvin  Operating System Concepts Module 16: Distributed-System Structures Network-Operating Systems Distributed-Operating.
Remote Procedure Call (RPC)
Remote Procedure Call Design issues Implementation RPC programming
Introduction Separate application from different supplier run on different operating systems need some higher level of coupling Application often evolve.
An Overview of the Amoeba Distributed Operating System Mallikarjuna Reddy Srinivas Vadlamani University of California Irvine.
Remote Procedure CallCS-4513, D-Term Remote Procedure Call CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
Distributed Processing, Client/Server, and Clusters
Distributed components
Slide 1 Client / Server Paradigm. Slide 2 Outline: Client / Server Paradigm Client / Server Model of Interaction Server Design Issues C/ S Points of Interaction.
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
Chapter 16 Client/Server Computing Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Amoeba Distributed Operating System James Schultz CPSC 550 Spring 2007.
Coda file system: Disconnected operation By Wallis Chau May 7, 2003.
Case Study: Distributed OS Distributed Systems, Lecture # 17.
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
CS 550 Amoeba-A Distributed Operation System by Saie M Mulay.
Yousuf Surmust Instructor: Marius Soneru Course: CS550 Fall 2001
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
1 I/O Management in Representative Operating Systems.
PRASHANTHI NARAYAN NETTEM.
Amoeba Distributed Operating System Ken Baggett CPSC 550 Spring 2006.
NFS. The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs. The implementation.
Distributed Systems Architecture Presentation II Presenters Rose Kit & Turgut Tezir.
DISTRIBUTED COMPUTING
1 Network File System. 2 Network Services A Linux system starts some services at boot time and allow other services to be started up when necessary. These.
The Amoeba Distributed Operating System Presented by Peter Hebden ICS 243F, Spring 2002.
Distributed File Systems Concepts & Overview. Goals and Criteria Goal: present to a user a coherent, efficient, and manageable system for long-term data.
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Local Area Networks (LAN) are small networks, with a short distance for the cables to run, typically a room, a floor, or a building. - LANs are limited.
Distributed Systems. Interprocess Communication (IPC) Processes are either independent or cooperating – Threads provide a gray area – Cooperating processes.
Amoeba - A Distributed System for the 1990s Group A6 Abdul Aziz Habib Ammari Pearl Thomas Vamsi Krishna.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Amoeba – A Distributed Operating System for the 1990s
INFORMATION SYSTEM-SOFTWARE Topic: OPERATING SYSTEM CONCEPTS.
1 Client-Server Interaction. 2 Functionality Transport layer and layers below –Basic communication –Reliability Application layer –Abstractions Files.
The Mach System Silberschatz et al Presented By Anjana Venkat.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Manish Kumar,MSRITSoftware Architecture1 Remote procedure call Client/server architecture.
Distributed Systems Unit – 1 Concepts of DS By :- Maulik V. Dhamecha Maulik V. Dhamecha (M.Tech.)
Computer Science Lecture 3, page 1 CS677: Distributed OS Last Class: Communication in Distributed Systems Structured or unstructured? Addressing? Blocking/non-blocking?
MINIX Presented by: Clinton Morse, Joseph Paetz, Theresa Sullivan, and Angela Volk.
Chapter Five Distributed file systems. 2 Contents Distributed file system design Distributed file system implementation Trends in distributed file systems.
Operating Systems Distributed-System Structures. Topics –Network-Operating Systems –Distributed-Operating Systems –Remote Services –Robustness –Design.
System Models Advanced Operating Systems Nael Abu-halaweh.
Lecture 5: RPC (exercises/questions). 26-Jun-16COMP28112 Lecture 52 First Six Steps of RPC TvS: Figure 4-7.
 2004 Deitel & Associates, Inc. All rights reserved. Chapter 17 – Introduction to Distributed Systems Outline 17.1Introduction 17.2Attributes of Distributed.
AMOEBA study of distributed system
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Definition of Distributed System
Chorus Distributed OS - Goals
File System Implementation
Advanced Operating Systems
Multiple Processor Systems
The Amoeba Distributed Operating System
Distributed File Systems
An Overview of the Amoeba Distributed Operating System
Multiple Processor and Distributed Systems
Introduction Separate application from different supplier run on different operating systems need some higher level of coupling Application often evolve.
Chapter 15: File System Internals
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Last Class: Communication in Distributed Systems
Presentation transcript:

Ameoba Designed by: Prof Andrew S. Tanenbaum at Vrija University since 1981

Ameoba Design Philosophy n Computers are rapidly becoming cheaper and faster n Widespread use and increasing performance in computer networks n Need for the ability to deal with physically distributed hardware while using logically centralized software

Ameoba Design Philosophy Cont. n Provide users with the illusion of a single powerful timesharing system from a collection of machines

Ameoba Distributed System Goals n Small n Simple to use n Scalable to large numbers of processors n Degree of Fault-Tolerance n High Performance n Possibility for parallelism n Transparent to Users

Difference between Ameoba and Network OS n User logs into system as a whole n System decides best place to run program n Single, system-wide object naming service n User logs into one specific machine n Program executes on home machine unless specified n Files local unless a remote file system mounted AmeobaNetwork OS

System Architecture n Workstations n Processor Pool n Specialized Servers (file, data base, ect) n Gateway

System Architecture

Workstations n One Per User n Users carry out editing and other tasks n Can be Suns, IBM PC/AT clones, and X terminals

Processor Pool n Group of CPU’s n CPU can be dynamically allocated and returned to the pool n Offers possibility of doing many jobs in parallel

Specialized Servers n Directory Servers n File Servers and Replicates n Boot Servers n Other Specialized Functions

Gateways n Link Amoeba systems at different sites into a single, uniform system n Isolate Amoeba from peculiarities of the protocols that must be used over WAN’s

Ameoba Kernal n All Amoeba machines run the same kernal n Provides multithreaded process, communication services, and little else n Goal is to keep kernal as small as possible to enhance reliability and allow OS to run as user processes

Objects n Ameoba is object-based n Uses capabilities for accessing objects n System can be viewed as a collection of objects n Both hardware and software objects exist

Capabilities n Key that allows holder to perform some (not necessarily all) operations on an object n Each user process owns a collection of capabilities, which define the objects it may access and the types of operations it may perform on each n Capabilities provide a unified mechanism for naming, accessing and protecting objects

Remote Procedure Call n Object-based model implemented using RPC’s n Associated with each object is a server process that manages the object n User processes send a request message to the server that manages an object n The request message contains a capability for the object, the operation to be performed, and any parameters

Remote Proceedure Call Cont. n The user process blocks while waiting for the call to complete n When complete, the server sends back a reply message that unblocks the user process n Sending a request message, blocking, and accepting a reply message forms the RPC, which can be encapsulated using stub routines

Remote Procedure Call Cont. n RPC based on 4 primitives n RPC interface built on top the Fast Local Internet Protocol(FLIP). n FLIP provides automatic shortest path routing of messages and provides automatic gatewaying between connected networks

RPC Primitives n getreq n putreq n tans n timeout

getreq n Used by servers n Once server has initialized itself, it performs a getreq operation with the port it wishes to listen to n getreq blocks server until a client sends a request using trans n when a request arrives, the server checks that the capability is valid and has sufficient rights

putreq n When the server completes an operation, it sends a reply to client using putreq

trans n Used by clients to send requests to servers n Port of server is the first parameter to trans n trans call blocks until server sends reply n kernel on which trans is executed attemps to locate the server by broadcasting a message with the port in it

Trans (cont.) n If another kernel has a server waiting for a request on that port, it responds and the RPC is sent to the server which handles the request and returns a reply n The kernel keeps a cache of known locations of ports to improve performance for subsequent RPCs n trans is not called directly by clients, but imbedded in a proc call that handles the marshaling and sending of data

timeout n Used to set the amount of time spent searching for the server when doing a transaction n default timeout is 5 seconds

Client/Server Coding n Not necessary to write server loop and client stub code yourself n AIL(Amoeba Interface Language) generates this code automatically n servers can be multithreaded but don’t have to be

Directories n File names not implemented by the file server n Many more object types than files, so a general naming service is required n Directory Server implements naming service by implementing an arbitrary directed graph of directories

Directories Cont. n Directory object is a list of (ASCII string, capability-set) pairs n Extra degree of fault tolerance is achieved by duplication the directory server n The two servers communicate with each other to keep the data about directories consistent

Files n File server is known as a Bullet Server n Uses a vary large buffer cache and stores file contiguously, both in core and on disk to give a very high performance n Bullet server files are immutable(once created cannot be changed) n Files created automically(do not officially exist until commited)

Amoeba and POSIX Emulation n POSIX emulation library provides reasonable source code compatibility n This provides Amoeba with a reasonable programming environment and simplifies the migration of software and staff from UNIX-like systems

Conclusion n Amoeba was designed to provide a transparent distributed system n Still undergoing development, but current version goes a long way towards satisfying the design goals n POSIX emulation has provided a ready- made programming environment