Virtual machine interface. Operating system. Physical machine interface



Similar documents
CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun

Distributed Systems. REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1

Distributed Operating Systems

2.1 What are distributed systems? What are systems? Different kind of systems How to distribute systems? 2.2 Communication concepts

Distributed Systems LEEC (2005/06 2º Sem.)

Software Concepts. Uniprocessor Operating Systems. System software structures. CIS 505: Software Systems Architectures of Distributed Systems

How To Understand The Concept Of A Distributed System

Distributed System: Definition

Chapter 1: Distributed Systems: What is a distributed system? Fall 2008 Jussi Kangasharju

Principles and characteristics of distributed systems and environments

How To Make A Distributed System Transparent

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Basics. Topics to be covered. Definition of a Distributed System. Definition of a Distributed System

Distributed Systems Lecture 1 1

Integrated Application and Data Protection. NEC ExpressCluster White Paper

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

Chapter 1: Introduction. What is an Operating System?

Centralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures

1.4 SOFTWARE CONCEPTS

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Tier Architectures. Kathleen Durant CS 3200

Chapter 18: Database System Architectures. Centralized Systems

Distribution transparency. Degree of transparency. Openness of distributed systems

Introduction to Cloud Computing

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters

How To Write A Network Operating System For A Network (Networking) System (Netware)

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Distributed Systems. Examples. Advantages and disadvantages. CIS 505: Software Systems. Introduction to Distributed Systems

A Comparison of Distributed Systems: ChorusOS and Amoeba

Network Attached Storage. Jinfeng Yang Oct/19/2015

1 Organization of Operating Systems

System Models for Distributed and Cloud Computing

Operating Systems 4 th Class

LinuxWorld Conference & Expo Server Farms and XML Web Services

Middleware and Distributed Systems. Introduction. Dr. Martin v. Löwis

B) Using Processor-Cache Affinity Information in Shared Memory Multiprocessor Scheduling

Amoeba Distributed Operating System

Distributed Systems and Recent Innovations: Challenges and Benefits

CS 5523 Operating Systems: Intro to Distributed Systems

This presentation covers virtual application shared services supplied with IBM Workload Deployer version 3.1.

Middleware Lou Somers

Distributed Systems. Security concepts; Cryptographic algorithms; Digital signatures; Authentication; Secure Sockets

Module 15: Network Structures

Symmetric Multiprocessing

Cluster, Grid, Cloud Concepts

Base One's Rich Client Architecture

Distributed Computing

Distributed Database Design

Highly Available Mobile Services Infrastructure Using Oracle Berkeley DB

DISTRIBUTED SYSTEMS AND CLOUD COMPUTING. A Comparative Study

Client/Server and Distributed Computing

Introduction to CORBA. 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture

Client-Server Applications

Write a technical report Present your results Write a workshop/conference paper (optional) Could be a real system, simulation and/or theoretical

Technology Insight Series

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

JavaPolis 2004 Middleware and Web Services Security

Chapter 16 Distributed Processing, Client/Server, and Clusters

System types. Distributed systems

Client/server is a network architecture that divides functions into client and server

DFSgc. Distributed File System for Multipurpose Grid Applications and Cloud Computing

FROM RELATIONAL TO OBJECT DATABASE MANAGEMENT SYSTEMS

Chapter 16: Distributed Operating Systems

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

Operating system Dr. Shroouq J.

Chapter 7: Distributed Systems: Warehouse-Scale Computing. Fall 2011 Jussi Kangasharju

Load Balancing in Distributed Data Base and Distributed Computing System

A distributed system is defined as

Distributed Systems. Distributed Systems

Distributed Operating Systems. Cluster Systems

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Middleware for Heterogeneous and Distributed Information Systems

Chapter 14: Distributed Operating Systems

Operating System Concepts. Operating System 資 訊 工 程 學 系 袁 賢 銘 老 師

CPS221 Lecture: Operating System Structure; Virtual Machines

EMC VPLEX FAMILY. Continuous Availability and data Mobility Within and Across Data Centers

COMPARISON OF VMware VSHPERE HA/FT vs stratus

ICS 434 Advanced Database Systems

IT Architecture Review. ISACA Conference Fall 2003

Lesson Plans Microsoft s Managing and Maintaining a Microsoft Windows Server 2003 Environment

Eloquence Training What s new in Eloquence B.08.00

EMC VPLEX FAMILY. Transparent information mobility within, across, and between data centers ESSENTIALS A STORAGE PLATFORM FOR THE PRIVATE CLOUD

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.

Web DNS Peer-to-peer systems (file sharing, CDNs, cycle sharing)

Chapter 1 - Web Server Management and Cluster Topology

Manjrasoft Market Oriented Cloud Computing Platform

Distributed and Cloud Computing

How To Understand The Architecture Of A Client Server System

CORBA and object oriented middleware. Introduction

ORACLE DATABASE 10G ENTERPRISE EDITION

Star System Deitel & Associates, Inc. All rights reserved.

Middleware and Distributed Systems. System Models. Dr. Martin v. Löwis. Freitag, 14. Oktober 11

Lecture 1. Lecture Overview. Intro to Networking. Intro to Networking. Motivation behind Networking. Computer / Data Networks

Components of a Computer System

Network Station - Thin Client Computing - Overview

Lecture 23: Multiprocessors

MEGA Web Application Architecture Overview MEGA 2009 SP4

Diagram 1: Islands of storage across a digital broadcast workflow

COM 444 Cloud Computing

Classic Grid Architecture

Transcription:

Software Concepts User applications Operating system Hardware Virtual machine interface Physical machine interface Operating system: Interface between users and hardware Implements a virtual machine that is easier to program than raw hardware Primary functions: Services: file system, virtual memory, networking, CPU scheduling, Coordination: concurrency, memory protection, security, networking, X.Sun (IIT) CS550: Advanced OS Lecture 3 Page 2

Uniprocessor Operating Systems Microkernel architecture Small kernel user-level servers implement additional functionality X.Sun (IIT) CS550: Advanced OS Lecture 3 Page 3

Multiprocessor Operating Systems Like a uniprocessor operating system Manage multiple CPUs transparently to the user Each processor has its own hardware cache Maintain consistency of cached data Scalability issues Shared variable versus message passing X.Sun (IIT) CS550: Advanced OS Lecture 3 Page 4

Multicomputer Operating Systems More complex than multiprocessor OS Because communication has to be through explicit message passing 1.14 X.Sun (IIT) CS550: Advanced OS Lecture 3 Page 5

Network Operating System 1-19 X.Sun (IIT) CS550: Advanced OS Lecture 3 Page 6

Network Operating System Employs a client-server model Minimal OS kernel Additional functionality as user processes 1-20 X.Sun (IIT) CS550: Advanced OS Lecture 3 Page 7

Network-Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by Remote logging into the appropriate remote machine. Transferring data from remote machines to local machines, via the File Transfer Protocol (FTP) mechanism. X.Sun (IIT) CS550: Advanced OS Lecture 3 Page 8

Distributed Operating System Users not aware of multiplicity of machines. Manages resources in a distributed system Seamlessly and transparently to the user Looks to the user like a centralized OS But operates on multiple independent CPUs Provides transparency Location, migration, concurrency, replication, Presents users with a virtual uniprocessor X.Sun (IIT) CS550: Advanced OS Lecture 3 Page 9

Middleware-based Systems General structure of a distributed system as middleware. 1-22 X.Sun (IIT) CS550: Advanced OS Lecture 3 Page 10

What is Middleware Software above the operating system but below the application program Middleware refers to the software that is common to multiple applications and builds on the network transport services to enable ready development of new applications and network services CORBA, DCOM, Java RMI, Grid X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 11

Middleware Layer X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 12

Technical Challenges The changing environment Computing world has changed and middleware has to adapt to this ever changing environment Architecture New technological advances impose changes in established middleware architecture Dynamic configuration Dynamic changes in system configuration will be inherent characteristics of future computing environments. X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 13

Client/Server Organization Server: a sw module manages a set of resources of a particular type using certain policies and methods. Servers may be run in different machines Mail server, http server A machine can maintain more than one server Client: a sw module requests services from servers. Centralized server versus by distributed servers centralized server: e.g. printer and mail distributed servers: e.g. file servers Proxy server and caches: middleman between origin server and clients X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 14

Peer-to-Peer Organization All processes play similar roles, interacting cooperatively as peers to perform a distributed activity or computation without any distinction between clients and servers. Fully distributed and parallel For Example Remote memory access Process migration P2P file exchange X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 15

Mobile Code Organization Mobile codes Programs that function as they are transferred from one host to the other. Instead of sending requests associated with input data to a server for processing, the mobile code approach uploads codes to the server for execution E.g. Javascript code, Java Applets Mobile agent has the ability to travel from host to host autononmously, carrying their code as well as running state. Itinerary mobility (proactive mobility) Security in mobile agents Server protection Agent protection X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 16

Any Questions? X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 17

Questions? What is the difference between operating system and (software) system? What is the difference between network OS and Distributed OS? What is the difference between Distributed OS and Distributed (software) system? What is middleware? What is the difference between middleware and Distributed (software) system? X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 18

Distributed Systems What is a distributed (computing) system? A collection of independent computers that appears to its users as a single coherent system -A. Tanenbaum X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 19

Examples Some examples of distributed systems Department computing cluster Corporate systems Application examples Email News Multimedia information systems- video conferencing Airline reservation system Banking system What is the most used distributed system? World Wide Web X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 20

Distributed vs. Single Systems Data sharing Multiple users can access common database, data files, Device/resource sharing Printers,servers,CPUs,. Communication Communication with other machines Flexibility Spread workload to different & most appropriate machines Extensibility Add resources and software as needed X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 21

Distributed vs. Centralized Systems Economics Microprocessors have better price/performance than mainframes Speed Collective power of large number of systems Geographic and responsibility distribution Reliability One machine s failure need not bring down the system Extensibility Computers and software can be added incrementally X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 22

Disadvantages of Distributed Systems Software Little software exists compared to central processing Complexity of the system: coordination of processes Networking Still slow and can cause other problems (e.g. when disconnected) Security Data may be accessed by unauthorized users Authentication, in addition to access and flow control X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 23

Key Characteristics Support for resource sharing Openness Concurrency Scalability Fault tolerance (reliability) Transparence X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 24

Resource Sharing Share hardware,software,data and information Hardware devices Printers,disks,memory, Software sharing Compilers,libraries,toolkits, Data Databases,files, X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 25

Openness Determines whether the system can be extended in various ways without disrupting existing system and services Hardware extensions Adding peripherals,memory,communication interfaces Software extensions Operating systems features Communication protocols Standard rules and protocols X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 26

Middleware and Openness 1.23 In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications. X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 27

Concurrency In a single system several processes are interleaved In distributed systems: there are many systems with one or more processors Many users simultaneously invoke commands or applications Many servers processes run concurrently, each responding to different client request What is the difference between parallel and concurrent processing? X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 28

Scalability Scale of system Few PCs servers ->dept level systems->local area networks->internetworked systems->wide area network Ideally, system and application software should not change as systems scales Scalability depends on all aspects Hardware Software Networks Application X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 29

Fault Tolerance Ability to operate under failures: possibly at a degraded performance level Two approaches: Hardware redundancy: use of redundant components Software recovery: design of programs to recover, Checkpointing/migration In distributed systems: Servers can be replicated Databases may be replicated Software recovery involves the design so that state of permanent data can be recovered Fault detection X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 30

Transparency in a Distributed System Transparency Access Location Migration Relocation Replication Concurrency Failure Persistence Description Hide differences in data representation and how a resource is accessed Hide where a resource is located Hide that a resource may move to another location Hide that a resource may be moved to another location while in use Hide that a resource may be shared by several competitive users Hide that a resource may be shared by several competitive users Hide the failure and recovery of a resource Hide whether a (software) resource is in memory or on disk X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 31

Distributed Operating System Manages resources in a distributed system Seamlessly and transparently to the user Looks to the user like a centralized OS But operates on multiple independent CPUs Provides transparency Location, migration, concurrency, replication, Presents users with a virtual uniprocessor X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 32

Types of Existing Distributed OSs System Description Main Goal DOS NOS Middleware Tightly-coupled operating system for multiprocessors and homogeneous multicomputers Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Additional layer atop of NOS implementing general-purpose services Hide and manage hardware resources Offer local services to remote clients Provide distribution transparency An overview of DOS (Distributed Operating Systems) NOS (Network Operating Systems) Middleware X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 33

Comparison between Systems Item Distributed OS Multiproc. Multicomp. Network OS Middlewarebased OS Degree of transparency Very High High Low High Same OS on all nodes Yes Yes No No Number of copies of OS 1 N N N Basis for communication Resource management Shared memory Global, central Messages Files Model specific Global, distributed Per node Per node Scalability No Moderately Yes Varies Openness Closed Closed Open Open X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 34

Summary Key issues of distributed systems Hardware concepts Multiprocessors Multicomputers Distributed systems Software concepts Uniprocessor OS Distributed OS Network OS Middleware Readings Review Central OS, Chapter 1 of the text X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 35