Case Study: Distributed OS Distributed Systems, Lecture # 17.

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Remote Procedure Call Design issues Implementation RPC programming
Chorus Vs Unix Operating Systems Overview Introduction Design Principles Programmer Interface User Interface Process Management Memory Management File.
Introduction Separate application from different supplier run on different operating systems need some higher level of coupling Application often evolve.
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Case Study 1: AMOEBA. History of Amoeba Amoeba originated at the Vrije Universiteit, Amsterdam, The Netherlands in 1981 as a research project in distributed.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
AMOEBA – A DISTRIBUTED OPERATING SYSTEM
Ameoba Designed by: Prof Andrew S. Tanenbaum at Vrija University since 1981.
Distributed components
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
Amoeba Distributed Operating System James Schultz CPSC 550 Spring 2007.
Chapter 2: Operating-System Structures
CS 550 Amoeba-A Distributed Operation System by Saie M Mulay.
Yousuf Surmust Instructor: Marius Soneru Course: CS550 Fall 2001
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
Improving IPC by Kernel Design Jochen Liedtke Shane Matthews Portland State University.
Communication in Distributed Systems –Part 2
Threads, SMP, and Microkernels
RGF M.S. Thesis Presentaton 12/011 Reduced Development Costs in the Operating System.
Hardware/Software Concepts Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
The Amoeba Distributed Operating System Presented by Peter Hebden ICS 243F, Spring 2002.
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
Distributed Systems. Interprocess Communication (IPC) Processes are either independent or cooperating – Threads provide a gray area – Cooperating processes.
1 Chapter 2. Communication. STEM-PNU 2 Layered Protocol TCP/IP : de facto standard Our Major Concern Not always 7-layered Protocol But some other protocols.
Amoeba - A Distributed System for the 1990s Group A6 Abdul Aziz Habib Ammari Pearl Thomas Vamsi Krishna.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Windows NT Operating System. Windows NT Models Layered Model Client/Server Model Object Model Symmetric Multiprocessing.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
Amoeba – A Distributed Operating System for the 1990s
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
OS, , Part I Operating - System Structures Department of Computer Engineering, PSUWannarat Suntiamorntut.
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
Remote Procedure Call Andy Wang Operating Systems COP 4610 / CGS 5765.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy. Presented by: Tim Fleck.
Mark Stanovich Operating Systems COP Primitives to Build Distributed Applications send and receive Used to synchronize cooperating processes running.
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.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Manish Kumar,MSRITSoftware Architecture1 Remote procedure call Client/server architecture.
Computer Science Lecture 3, page 1 CS677: Distributed OS Last Class: Communication in Distributed Systems Structured or unstructured? Addressing? Blocking/non-blocking?
Distributed objects and remote invocation Pages
1 RMI Russell Johnston Communications II. 2 What is RMI? Remote Method Invocation.
1 Chapter 2. Communication. STEMPusan National University STEM-PNU 2 Layered Protocol TCP/IP : de facto standard Our Major Concern Not always 7-layered.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
1.3 Operating system services An operating system provide services to programs and to the users of the program. It provides an environment for the execution.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Client-Server Communication
Definition of Distributed System
Chorus Distributed OS - Goals
Objective Understand the concepts of modern operating systems by investigating the most popular operating system in the current and future market Provide.
Sarah Diesburg Operating Systems COP 4610
The Amoeba Distributed Operating System
Andy Wang Operating Systems COP 4610 / CGS 5765
Lecture 4- Threads, SMP, and Microkernels
Andy Wang Operating Systems COP 4610 / CGS 5765
Introduction Separate application from different supplier run on different operating systems need some higher level of coupling Application often evolve.
Objective Understand the concepts of modern operating systems by investigating the most popular operating system in the current and future market Provide.
Andy Wang Operating Systems COP 4610 / CGS 5765
Last Class: Communication in Distributed Systems
Presentation transcript:

Case Study: Distributed OS Distributed Systems, Lecture # 17

Amoeba OS What if we could afford hundreds of computers per user? What if we could afford hundreds of computers per user? Use a shared pool of servers Use a shared pool of servers These days this is called “blade computing” These days this is called “blade computing” Grid Computing? Grid Computing? Location independent Location independent Amake Amake What if we could afford hundreds of computers per user? What if we could afford hundreds of computers per user? Use a shared pool of servers Use a shared pool of servers These days this is called “blade computing” These days this is called “blade computing” Grid Computing? Grid Computing? Location independent Location independent Amake Amake

Architecture

Micro-kernel Process and thread (kernel/user space) management Process and thread (kernel/user space) management IPC IPC Low level I/O management Low level I/O management Low level Memory management Low level Memory management Process and thread (kernel/user space) management Process and thread (kernel/user space) management IPC IPC Low level I/O management Low level I/O management Low level Memory management Low level Memory management

Client-Server Model Clients are written by users Clients are written by users Servers are written by system programmers Servers are written by system programmers Essentially isolating faults, and reliability guarantees Essentially isolating faults, and reliability guarantees Clients are written by users Clients are written by users Servers are written by system programmers Servers are written by system programmers Essentially isolating faults, and reliability guarantees Essentially isolating faults, and reliability guarantees

Objects Servers manage objects Servers manage objects Clients can instantiate and access objects Clients can instantiate and access objects Objects protected by cryptographically protected capability Objects protected by cryptographically protected capability Files Files Directories Directories Memory Segments Memory Segments Screen Windows Screen Windows Processors Processors Disks Disks Servers manage objects Servers manage objects Clients can instantiate and access objects Clients can instantiate and access objects Objects protected by cryptographically protected capability Objects protected by cryptographically protected capability Files Files Directories Directories Memory Segments Memory Segments Screen Windows Screen Windows Processors Processors Disks Disks

RPC Communication Primitive for location independence Primitive for location independence Stub acts as a proxy in the client address space Stub acts as a proxy in the client address space Resolve name Resolve name Marshal parameters Marshal parameters Block for reply Block for reply Primitive for location independence Primitive for location independence Stub acts as a proxy in the client address space Stub acts as a proxy in the client address space Resolve name Resolve name Marshal parameters Marshal parameters Block for reply Block for reply

Bullet + Soap Server Modular Architecture Modular Architecture Naming Naming File Manipulation File Manipulation Bullet File server Bullet File server Read-only file server Read-only file server Files can only created and deleted Files can only created and deleted Not modified! Not modified! Soap Directory Server Soap Directory Server Maps file names to capabilties Maps file names to capabilties Modular Architecture Modular Architecture Naming Naming File Manipulation File Manipulation Bullet File server Bullet File server Read-only file server Read-only file server Files can only created and deleted Files can only created and deleted Not modified! Not modified! Soap Directory Server Soap Directory Server Maps file names to capabilties Maps file names to capabilties

Other Servers Object replication server Object replication server Process maintenance Process maintenance Health-monitoring server Health-monitoring server Inter-operability servers Inter-operability servers Object replication server Object replication server Process maintenance Process maintenance Health-monitoring server Health-monitoring server Inter-operability servers Inter-operability servers

Objects and Capabilities Objects make the system modular Objects make the system modular Secure Secure Fault-tolerant Fault-tolerant More available More available Objects make the system modular Objects make the system modular Secure Secure Fault-tolerant Fault-tolerant More available More available

Capabilities Naming as well as protection Naming as well as protection Managed in user space Managed in user space Rights management Rights management Can downgrade rights of a capability Can downgrade rights of a capability Takes original bits Takes original bits XOR with old rights XOR with old rights Take a one-way hash Take a one-way hash Naming as well as protection Naming as well as protection Managed in user space Managed in user space Rights management Rights management Can downgrade rights of a capability Can downgrade rights of a capability Takes original bits Takes original bits XOR with old rights XOR with old rights Take a one-way hash Take a one-way hash

Process Management Process is also an object Process is also an object Accessed by process descriptor capability Accessed by process descriptor capability Three-levels of interfaces Three-levels of interfaces RPC with process servers RPC with process servers Library Calls Library Calls Do-all dispatcher “Run-server” Do-all dispatcher “Run-server” Process is also an object Process is also an object Accessed by process descriptor capability Accessed by process descriptor capability Three-levels of interfaces Three-levels of interfaces RPC with process servers RPC with process servers Library Calls Library Calls Do-all dispatcher “Run-server” Do-all dispatcher “Run-server”

Memory Management Not paged or swapped Not paged or swapped Contiguous in memory Contiguous in memory Segments may be created, destroyed, read and written Segments may be created, destroyed, read and written Simple and fast in an RPC model Simple and fast in an RPC model Overly restrictive Overly restrictive Not paged or swapped Not paged or swapped Contiguous in memory Contiguous in memory Segments may be created, destroyed, read and written Segments may be created, destroyed, read and written Simple and fast in an RPC model Simple and fast in an RPC model Overly restrictive Overly restrictive

Message passing Servers declare ports Servers declare ports Get_port Get_port Identifies a service Identifies a service Clients put-ports in their messages Clients put-ports in their messages At-most once semantics At-most once semantics As opposed to atleast once As opposed to atleast once Servers declare ports Servers declare ports Get_port Get_port Identifies a service Identifies a service Clients put-ports in their messages Clients put-ports in their messages At-most once semantics At-most once semantics As opposed to atleast once As opposed to atleast once

Group Communication Closed groups Closed groups Reliable Broadcast Reliable Broadcast Sequencer model Sequencer model Lazy-ack Lazy-ack Client broadcast vs Sequencer broadcast Client broadcast vs Sequencer broadcast Closed groups Closed groups Reliable Broadcast Reliable Broadcast Sequencer model Sequencer model Lazy-ack Lazy-ack Client broadcast vs Sequencer broadcast Client broadcast vs Sequencer broadcast

Layered Communication Model LAN LAN IP IP FLIP FLIP Fast local internet protocol Fast local internet protocol FLIP addresses are persistent and location-independent FLIP addresses are persistent and location-independent From the put-port to the FLIP address From the put-port to the FLIP address From the FLIP to the network address From the FLIP to the network address LAN LAN IP IP FLIP FLIP Fast local internet protocol Fast local internet protocol FLIP addresses are persistent and location-independent FLIP addresses are persistent and location-independent From the put-port to the FLIP address From the put-port to the FLIP address From the FLIP to the network address From the FLIP to the network address