Outline Review of Classical Operating Systems - continued

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Introduction Distributed Systems Goals of Distributed Systems Hardware and Software Concepts.
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Database Architectures and the Web
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Classification of Distributed Systems Properties of Distributed Systems n motivation: advantages of distributed systems n classification l architecture.
Multiple Processor Systems
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
Multiple Processor Systems Chapter Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
REK’s adaptation of Prof. Claypool’s adaptation of
Based on last years lecture notes, used by Juha Takkinen.
Introducing … Distributed Systems.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
1 Introduction Chapter 1. 2 Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its.
Multiple Processor Systems 8.1 Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
Tutorials 1 1.What is the definition of a distributed system? 1.A distributed system is a collection of independent computers that appears to its users.
Computer Science Lecture 1, page 1 CS677: Distributed OS Distributed Operating Systems Spring 2005 Prashant Shenoy UMass Computer Science
Hardware/Software Concepts Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
DISTRIBUTED COMPUTING
Dr. Kalpakis CMSC621 Advanced Operating Systems Introduction.
Massively Distributed Database Systems Spring 2014 Ki-Joune Li Pusan National University.
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
Introduction Chapter 1. Definition of a Distributed System A distributed system [Tannenbaum & Steen] can be defined as a collection of independent computers.
A brief overview about Distributed Systems Group A4 Chris Sun Bryan Maden Min Fang.
Advanced Operating Systems Welcome to this course, in Fall Semester Main TextBooks 1- Tanenbaum’s book 2- Chow’s Book 3- Singhal’s Book Other extra.
1 CS 6823 ASU Chapter 2 Architecture.
Distributed Systems COEN 317 Introduction Chapter 1,2,3.
Types of Operating Systems
OS2- Sem ; R. Jalili Introduction Chapter 1.
Kyung Hee University 1/41 Introduction Chapter 1.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
Distributed Computing Systems CSCI 4780/6780. Distributed System A distributed system is: A collection of independent computers that appears to its users.
OS2- Sem1-83; R. Jalili Introduction Chapter 1. OS2- Sem1-83; R. Jalili Definition of a Distributed System (1) A distributed system is: A collection of.
Distributed Systems: Principles and Paradigms By Andrew S. Tanenbaum and Maarten van Steen.
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
Types of Operating Systems 1 Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
Distributed Systems Definition.
Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent.
Introduction Chapter 1. Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users.
1 Distributed Processing Chapter 1 : Introduction.
Distributed Computing Systems CSCI 6900/4900. Review Definition & characteristics of distributed systems Distributed system organization Design goals.
TEXT: Distributed Operating systems A. S. Tanenbaum Papers oriented on: 1.OS Structures 2.Shared Memory Systems 3.Advanced Topics in Communications 4.Distributed.
Background Computer System Architectures Computer System Software.
Primitive Concepts of Distributed Systems Chapter 1.
Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
Introduction Chapter 1. Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users.
Distributed Operating Systems Spring 2004
Last Class: Introduction
Distributed Operating Systems
Introduction to Distributed Systems
Definition of Distributed System
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Database Architectures and the Web
Advanced Operating Systems
COP 5611: Operating Systems
Chapter 17: Database System Architectures
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Outline Midterm results summary Distributed file systems – continued
Multiple Processor Systems
Multiple Processor Systems
Operating Systems : Overview
Operating Systems : Overview
Multiple Processor and Distributed Systems
Operating Systems : Overview
Operating Systems : Overview
Introduction To Distributed Systems
Database System Architectures
Introduction Chapter 1.
Presentation transcript:

Outline Review of Classical Operating Systems - continued Distributed Systems 4/7/2019 COP5611

Announcement The class email list Materials to make up I created a class email list using ACNS’ service If you do not receive an email from me this morning, you need to send me an email to add your email address to the list Materials to make up In general, the technical issues in distributed operating systems are different to the ones in classical operating systems For this class, the following undergraduate topics may be helpful Mutual exclusion (Process synchronization) Deadlock detection File systems Memory management Scheduling 4/7/2019 COP5611

Operating System An operating system is a layer of software on a bare machine that performs two basic functions Resource management To manage resources so that they are used in an efficient and fair manner User friendliness 4/7/2019 COP5611

Distributed Systems A distributed system is a collection of independent computers that appears to its users as a single coherent system Independent computers mean that they do not share memory or clock The computers communicate with each other by exchanging messages over a communication network 4/7/2019 COP5611

Distributed Systems – cont. 4/7/2019 COP5611

Distributed Systems – cont. Is each of the following systems a distributed system according to our definition? Workstations at the Computer Science department World wide web 4/7/2019 COP5611

Distributed Systems – cont. Motivations The availability of powerful microprocessors Significant advances in communication technology A group of people working together need to share data and expensive resources 4/7/2019 COP5611

Distributed Systems – cont. Advantages The computing power of a group of cheap workstations can be enormous Decisive price/performance advantage over traditional time-sharing systems Resource sharing Enhanced performance Improved reliability and availability Modular expandability 4/7/2019 COP5611

Distributed System Architecture The minicomputer model Consists of several minicomputers, each supports multiple users and provides access to remote resources The workstation model Consists of a number of workstations, each supports a single user in general The processor model The ratio of the number of processors to the number of users is greater than one 4/7/2019 COP5611

Distributed System Architecture – cont. The classification given above does not consider the underlying hardware Distributed systems are often classified based on the hardware Multiprocessor systems Homogenous multi-computer systems Heterogeneous multi-computer systems 4/7/2019 COP5611

Basic Distributed Systems 1.6 4/7/2019 COP5611

Multiprocessor Systems – cont. Multiprocessor systems are often divided into two categories In tightly coupled systems, all processors share the same memory address space and all processors can directly access a global main memory In loosely coupled systems, not only is the main memory partitioned and attached to processors, but each processor has its own address space A processor cannot directly access memory attached to other processors 4/7/2019 COP5611

Multiprocessor Systems – cont. Based on the vicinity and accessibility of the main memory to the processors, there are three main types of multiprocessor system architectures UMA – Uniform memory access NUMA – Non-uniform memory access NORMA – no remote memory access 4/7/2019 COP5611

Multiprocessor Systems – cont. A bus-based multiprocessor system 4/7/2019 COP5611

Multiprocessors Systems – cont. 4/7/2019 Multiprocessors Systems – cont. A crossbar switch An omega switching network 4/7/2019 COP5611 COP5611

Homogeneous Multicomputer Systems Compared to multiprocessor systems, building multicomputer systems is relatively easy Each CPU has a direct connection to its own local memory The problem is how the CPUs communicate with each other There are kinds of multi-computer systems Bus-based / switch-based 4/7/2019 COP5611

Bus-Based Multicomputer Systems 4/7/2019 COP5611

Homogeneous Multicomputer Systems – cont. Grid Hypercube 1-9 4/7/2019 COP5611

Heterogeneous Multicomputer Systems Most of the distributed systems are built on top of a heterogeneous multicomputer systems Computers can vary widely Some of them can be even multiprocessor or homogeneous multicomputer systems The interconnection network may be highly heterogeneous as well 4/7/2019 COP5611

Distributed Operating Systems Hardware for distributed systems is important, but the software largely determines what a distributed system looks like to a user Distributed operating systems are much like the traditional operating systems Resource management User friendliness The key concept is transparency 4/7/2019 COP5611

Distributed Operating Systems – cont. In a truly distributed operating system, the user views the system as a virtual uniprocessor system even though physically it consists of multiple computers In other words, the use of multiple computers and accessing remote data and resources should be invisible to the user 4/7/2019 COP5611

Distributed Operating Systems – cont. Transparency Description Access Hide differences in data representation and how a resource is accessed Location Hide where a resource is located Migration Hide that a resource may move to another location Relocation Hide that a resource may be moved to another location while in use Replication Hide that a resource may be shared by several competitive users Concurrency Failure Hide the failure and recovery of a resource Persistence Hide whether a (software) resource is in memory or on disk 4/7/2019 COP5611

Distributed Operating Systems – cont. Degree of transparency and performance There is a trade-off between a high degree of transparency and the performance of the system Three categories Distributed Operating System (DOS) Network Operating System (NOS) Middleware 4/7/2019 COP5611

Overview of Different Kinds of Distributed Systems Description Main Goal DOS Tightly-coupled operating system for multi-processors and homogeneous multicomputers Hide and manage hardware resources NOS Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Offer local services to remote clients Middleware Additional layer atop of NOS implementing general-purpose services Provide distribution transparency 4/7/2019 COP5611

Uniprocessor Operating Systems Separating applications from operating system code through a microkernel. 1.11 4/7/2019 COP5611

Multicomputer Operating Systems General structure of a multicomputer operating system 4/7/2019 COP5611

Distributed Shared Memory Systems Pages of address space distributed among four machines Situation after CPU 1 references page 10 Situation if page 10 is read only and replication is used 4/7/2019 COP5611

Network Operating System 1-19 4/7/2019 COP5611

Network Operating System – cont. Two clients and a server in a network operating system. 4/7/2019 COP5611

Network Operating System – cont. Different clients may mount the servers in different places. 4/7/2019 COP5611

Positioning Middleware General structure of a distributed system as middleware. 4/7/2019 COP5611

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. 4/7/2019 COP5611

The Global Architecture of CORBA 4/7/2019 COP5611

Object Model in CORBA The general organization of a CORBA system. 4/7/2019 COP5611

CORBA Services 4/7/2019 COP5611 Service Description Collection Facilities for grouping objects into lists, queue, sets, etc. Query Facilities for querying collections of objects in a declarative manner Concurrency Facilities to allow concurrent access to shared objects Transaction Flat and nested transactions on method calls over multiple objects Event Facilities for asynchronous communication through events Notification Advanced facilities for event-based asynchronous communication Externalization Facilities for marshaling and unmarshaling of objects Life cycle Facilities for creation, deletion, copying, and moving of objects Licensing Facilities for attaching a license to an object Naming Facilities for systemwide name of objects Property Facilities for associating (attribute, value) pairs with objects Trading Facilities to publish and find the services on object has to offer Persistence Facilities for persistently storing objects Relationship Facilities for expressing relationships between objects Security Mechanisms for secure channels, authorization, and auditing Time Provides the current time within specified error margins 4/7/2019 COP5611

Comparison Between Systems Item Distributed OS Network OS Middleware-based OS Multiproc. Multicomp. Degree of transparency Very High High Low Same OS on all nodes Yes No Number of copies of OS 1 N Basis for communication Shared memory Messages Files Model specific Resource management Global, central Global, distributed Per node Scalability Moderately Varies Openness Closed Open 4/7/2019 COP5611

Issues in Distributed Operating Systems Absence of global knowledge In a distributed system, due to the unavailability of a global memory and a global clock and due to unpredictable message delays, it is practically impossible to for a computer to collect up-to-date information about the global state of the distributed system Therefore a fundamental problem is to develop efficient techniques to implement a decentralized system wide control Another problem is how to order all the events 4/7/2019 COP5611

Issues in Distributed Operating Systems – cont. Naming Plays an important role in achieving location transparency A name service maps a logical name into a physical address by making use of a table lookup, an algorithm, or a combination of both In distributed systems, the tables may be replicated and stored at many places Consider naming in a distributed file system 4/7/2019 COP5611

Issues in Distributed Operating Systems – cont. Scalability Systems generally grow with time, especially distributed systems Scalability requires that the growth should not result in system unavailability or degraded performance This puts additional constraints on design approaches 4/7/2019 COP5611

Scalability – cont. Consider the scalability of centralized design approaches Concept Example Centralized services A single server for all users Centralized data A single on-line telephone book Centralized algorithms Doing routing based on complete information 4/7/2019 COP5611

Scaling Techniques The difference between letting: a server or a client check forms as they are being filled 4/7/2019 COP5611

An example of dividing the DNS name space into zones. Scalability – cont. An example of dividing the DNS name space into zones. 4/7/2019 COP5611

Issues in Distributed Operating Systems – cont. Compatibility Refers to the interoperability among the resources in a system Three different levels Binary level All processors execute the same binary instruction repertoire Virtual binary level Execution level Same source code can be compiled and executed properly Protocol level 4/7/2019 COP5611

Issues in Distributed Operating Systems – cont. Process synchronization The synchronization of processes in distributed systems is difficult because of the unavailability of shared memory It needs to synchronize processes running on different computers when they try to concurrently access a shared resource This is the mutual exclusion problem as in classical operating systems 4/7/2019 COP5611

Issues in Distributed Operating Systems – cont. Resource management Resource management needs to make both local and remote resources available to uses in an effective manner Data migration Distributed file system Distributed shared memory Computation migration Remote procedure call Distributed scheduling 4/7/2019 COP5611

Issues in Distributed Operating Systems – cont. Security and protection The same two issues as in classical operating systems need to be considered Authentication Authorization 4/7/2019 COP5611

Issues in Distributed Operating Systems – cont. Structuring The distributed operating system requires some additional constraints on the structure of the underlying operating system The collective kernel structure An operating system is structured as a collection of processes that are largely independent of each other Object-oriented operating system The operating system’s services are implemented as objects 4/7/2019 COP5611

The Client-Server Model The client-server model provides one organization for a distributed system The processes are organized into clients and servers Clients request services from servers which provide services A server is a process implementing a specific service A client is a process that requests a service from a server by sending it a request and subsequently waiting for the server’s reply 4/7/2019 COP5611

Clients and Servers General interaction between a client and a server. 4/7/2019 COP5611

An Example Client and Server (1) 4/7/2019 COP5611

An Example Client and Server (2) A sample server. 4/7/2019 COP5611

An Example Client and Server (3) A client using the server to copy a file. 4/7/2019 COP5611

Application Layering A main issue in the client-server model is there is no clear distinction between a client and a server Especially in the context of databases, the entire system is divided into three levels The user-interface level The processing level The data level 4/7/2019 COP5611

Processing Level The general organization of an Internet search engine into three different layers 1-28 4/7/2019 COP5611

Multitiered Architectures Plausible client-server organizations 4/7/2019 COP5611

Multitiered Architectures – cont. An example of a server acting as a client. 4/7/2019 COP5611

Modern Architectures An example of horizontal distribution of a Web service. 4/7/2019 COP5611

Summary Next time Definition of a distributed system Motivations Distributed system architectures Distributed operating systems DOS / NOS / Middleware Technical issues in a distributed operating system The client-server model Next time Communication in distributed systems 4/7/2019 COP5611