Operating Systems. Distributed Systems. A distributed system is:

Size: px
Start display at page:

Download "Operating Systems. Distributed Systems. A distributed system is:"

Transcription

1 Operating Systems Interface between the hardware and the rest: editors, compilers, database systems, application programs, your programs, etc. Allows portability, enables easier programming, The manager of different resources (memory, CPU, disk, printer, etc) in your system Takes responsibility away from the users, tends to improve metrics (throughput, response time, etc) 2 types: monolithic: all functions are inside a single kernel (central part of the OS) microkernel-based: non-basic functions float as servers (there is a small kernel for the basic functionality) Distributed Systems A distributed system is: A collection of independent computers that appears to its users as a single coherent system. (also, a collection of systems that when one breaks nothing works) 1

2 Distributed Systems 1.1 A distributed system organized as middleware. What s middleware? Note that the middleware layer extends over multiple machines. Issues in Distributed Computing Why distribute? What s bad about centralized? DISTRIBUTION: allows sharing of data, code, devices, messages, etc is more flexible (can add more resources, scalable) is cheaper (several small machines are cheaper than one powerful). That is, the price/performance ratio is smaller than in centralized is usually faster (same as above) can be fault tolerant (if one site fails, not all computations fail) much, MUCH MORE!!! More complex? YES, much more (here is the much more) More time consuming? (messages need to go back and forth) Slower response time? (messages, but can parallelize comps) What about reliability, security, cost, network, messages, congestion, load balancing... 2

3 Distributed OS Services Global Inter-Process Communication (IPC) primitives, transparent to the users (currently support to client-server computing) Global protection schemes, so that a validation at a site needs to be validated at another site (Kerberos) Global process management: usual (destroy, create, etc...) + migration, load distribution, so that the user need not manually logon to a different machine. The OS takes charge, and executes the program requested by the user in a less-loaded, fastresponding machine (compute server, file server, etc). Global process synchronization (supporting different language paradigms for heterogeneity and openness) Compatibility among machines (binary, protocol, etc) Global naming and file system Distributed OSs Transparency attempts to hide the nature of the system from users. Good, because users usually don t need to know details Degree of transparency is important, too much may be too much Performance is usually an issue that needs to be studied for a specific system architecture, application, users, etc. Scalability is important in the long run and general use some applications, systems, users, etc do not need scalability Distributed algorithms are also needed, which have the following characteristics: State information should be distributed to all nodes (how? overhead?) Decisions are made based on local information (why?) Fault tolerance (what for?) No global/synchronized clocks (why?) 3

4 Transparency in a Distributed System O H3P/NFE KFP/H9DBN.G Q C+DFEG.HJI KL1IM6N AB. )) # %( 8 "%("%9 1, > "%9 #$ ##, $! 1"%( =. "%9. %3 "%6,77 4 7%(, %9 6! 1"%9. ;.! %& %3 "%6,7 7 4 % %3 <! %3 $! ;. 8! %3 %3 "%6,7 " 4! #8 %9 %3 4 : ( %3 "%6,7 " 4! #8 %9 %3 4 5"! %3 )! # 1 4 # ).!!! " " 2%( #$ %& #'( )% *+, / 10 Degree of Transparency Observation: Aiming at full distribution transparency may be too much: Users may be located in different continents; distribution is apparent and not something you want to hide Completely hiding failures of networks and nodes is (theoretically and practically) impossible You cannot distinguish a slow computer from a failing one You can never be sure that a server actually performed an operation before a crash Full transparency will cost performance, exposing distribution of the system Keeping Web caches exactly up-to-date with the master copy Immediately flushing write operations to disk for fault tolerance 4

5 Scalability Three dimensions: Size: Number of users and/or processes Geographical: Maximum distance between nodes Administrative: Number of administrative domains Limitations: }~T +y< k _BVF[2X3]BgUl _Fà^ _BXsBUb _F^ k _BVF[2X3]BgUl _Fà`B].[3] k _BVF[2X3]BgUl _Fà]BgWBS/X2U[2m/dj^ ubvtw+xzy+{ UVFW6g_f^ _BX(s._BXTi3S/Xt]BggpZF^ _BX3^ UVFW6g_fS/VBo2gUVp_q[3_Bg_Be/mFS/Vp_h\FS/S/r RTS/UVFWYX3S/Z.[UVFWY\F]F^ _FàS/Vcb S/dfe/g_.[3_hUV.i&S/X2dj].[JUS/V Techniques for Scaling Distribution: Partition data and computations across multiple machines: Move computations to clients (e.g., Java applets) Decentralized naming services (e.g., DNS) Decentralized information systems (e.g., WWW) Replication: Make copies of data available at different machines (e.g., replicated file servers, databases, mirrored websites, etc) Caching: Allow client processes to access local copies Web caches (e.g., browser/web proxy) File caches (e.g., server or client) 5

6 Scalability Applying scaling techniques is easy, except for: Having multiple copies (cached or replicated), leads to inconsistencies: modifying one copy makes that copy different from the rest. Always keeping copies consistent and in a general way requires global synchronization on each modification. Global synchronization precludes large-scale solutions. Observation1: If we can tolerate inconsistencies, we may reduce the need for global synchronization. Observation2: Tolerating inconsistencies is application dependent. Scaling Techniques (Example 1) The difference between letting: a) a server or b) a client check forms as they are being filled 6

7 Scaling Techniques (Example 2) An example of dividing the DNS name space into zones. Hardware Concepts Different basic organizations and memories in distributed computer systems 7

8 Multiprocessors (1) A bus-based multiprocessor. Multiprocessors (2) A crossbar switch An omega switching network 8

9 Homogeneous Multicomputer Systems Grid Hypercube Software Concepts Distributed systems can be achieved in 3 ways: DOS (Distributed Operating Systems) NOS (Network Operating Systems) Middleware F ±"µ / / + / + œ ˆˆ + F±².³Jª µ1ª «š ŠŠ Š Ž 9 1 ˆ,. ˆ 7 š Ž Š # 9. " ( Š " 9 Ž š Š2 Š2 ( z 6 9 ž Š 1 ˆ " 9 Ž šš2 Š2 ( Ÿ ( š Ž Š$ 9. # " ( Š$ 3ž f Ž ˆ#, / Bˆ ˆ 9 Ž " / ( & Š Š 1 Š / + 7 Ž" 9 Ž š,š Ž /ª«? T p / 6 ˆ Ž ˆ Ž ˆ, Š Š š ( - ( Ž Š < 6 " Š Š 3 Ž Š1 Ž ƒ ˆ #ˆF Š2 3 ( Œ " 9 Ž 9

10 Uniprocessor Operating Systems Separating applications from operating system code through a microkernel. Multiprocessor Operating Systems Mutual exclusion and synchronization: Semaphores? Test-n-set and Swap instructions? Spin locks? Monitors? A combination thereof? Implementation issues: Shared memory? Message passing? A combination thereof? 10

11 Multicomputer Operating Systems (1) OS on each computer knows about the other computers OS on each computer is the same Services are generally (transparently) distributed across computers Multicomputer Operating Systems (2) No shared memory ¹ message passing Typically no broadcasting, thus need software Hard(er) to do synchronization No centralized decision making In practice, then, only very few truly distributed multicomputer OSs exist (Amoeba? Authors? º ) 11

12 Multicomputer Operating Systems (3) âpä ÞF å Ý3Ø ÞBÔæ Õ.ß1ÔØ6ÞèçFØ Ô Þß ÃÄ ½Å¾¼Æ ǼÀ6È Æ"É9ÊÄ ÏÈРмÀ6Æ Â É/Ð&ÈÄÄ ÃÄ ½Å¾¼Æ ǼÀ6È Æ"É9ÊÄ Ë7¼ ¾¾1 Ì ¼#¾¼Æ É ÃÄ ½Å¾¼Æ ǼÀ6È Æ"É9ÊÄ Ë7¼ ¾¾1 Ì ¼,À ¼ ½1¼ÊÍ ¼ Ç ÃÄ ½Å¾¼Æ ǼÀ6È Æ"É9ÊÄ Ë7¼ ¾¾1 Ì ¼Ç¼ÄÊÍ ¼À ¼ Ç â ÒBÞ.àcÖ Ü.ã3ã Ò/Ý Î.¼ ¾»/»/»/ Ñ6ÒBÓÔÕ/ÖBÓÒ, Ø<ÙqÙfÚ Û6Ü Õ/Ý3Õ/Þ.ßÒFÒ.à á»bâ É<Æ ¼ ½¼ ¾¾ ÀÁ»B É<Æ ¼ ½¼ ¾¾ ÀÁ»B¼ ½¼ ¾¾ ÀÁ»B¼ ½¼ ¾¾ ÀÁ Relation between blocking, buffering, and reliable communications. Distributed Shared Memory Systems (1) a) Pages of address space distributed among four machines b) Situation after CPU 1 references page 10 c) Situation if page 10 is read only and replication is used 12

13 Distributed Shared Memory Systems (2) False sharing of a page between two independent processes. Network Operating System (1) Each computer has its own operating system with networking facilities Computers work independently (i.e., they may even have different operating systems) Services are tied to individual nodes (ftp, telnet, WWW) Highly file oriented (basically, processors share only files) 13

14 Network Operating System (2) Two clients and a server in a network operating system. Network Operating System (3) Different clients may mount the servers in different places. 14

15 Middleware OS on each computer need not know about the other computers OS on different computers need not generally be the same Services are generally (transparently) distributed across computers Middleware Motivation: Too many networked applications were hard or difficult to integrate: Departments are running different NOSs Integration and interoperability only at level of primitive NOS services Need for federated information systems: Combining different databases, but providing a single view to applications Setting up enterprise-wide Internet services, making use of existing information systems Allow transactions across different databases Allow extensibility for future services (e.g., mobility, teleworking, collaborative applications) Constraint: use the existing operating systems, and treat them as the underlying environment (they provided the basic functionality anyway) 15

16 Middleware Services Communication Services: replace primitive sockets with Remote Procedure Calls (or Remote Method Invocations) Message passing Communicating streams Information Services: data management Large-scale, system-wide naming Advanced directory services Location services Persistent storage Data caching and replication Security Services: secure communication and processing Authentication and authorization Encryption Middleware and Openness Give applications control of when, where and how to access data (e.g., code migration and distributed transaction processing) 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. 16

17 ú ú ú Comparison between Systems B#=). ë ô ëfëfï Tø2ô3ó ìfð ê óbô ëbìfüù û ó jëcé7ûhï/ì ó îîbìfïpñ/ëfð ú ý ë ô ï ü ï/ê õëfð,ï é7û Bó ð õð ï ô ü ï ì õü ó.ø2õï/ì ëfð ï /ôü ë ó ì ó ë jëbì ø ûpü ó îóbý/õîõøù éêpëbìbìfëfð ð ò ë ôù õ ö ëfð û jë jï óbô ëfñ ôù ÿ-îï ü ëbì ýfó ø2ô3ó î î ú ï í+îïpð ëfñ >? 0 'A)2(5476 #$%&' "!" õ ö ëfð ëfð ð ó ë.ð ñ õð ÿ-îï ø2ô2õý.ø ýfó î ëfñ ïpñbë ô3ó.ø ëbîù í+îïbð ëfñ 89):;*-%=< 476.õîëFð þ ë ô ìpïpñbë ö ëfð éêfëbì õ ú ï ïpñbëbîfð êfëfü õ 9õü þ ë ô ìfïpñ/ë ò+óbô9õëfð éêpëbì A comparison between multiprocessor operating systems, multicomputer operating systems, network operating systems, and middleware based distributed systems. ï ú ï (( )+*-,.%&)./ 0,213)2(5476 Clients and Servers Servers typically manage shared resource, more intensive use Clients are thinner, less resource intensive, provide interface, manage smaller (digital?) components (e.g., barcode readers) Clients and servers may be in different machines Request/reply model (blocking or not?) 17

18 Application Layering Traditional three layers: User interface (only interface) Processing layer (no data) Data layer (only data) Typical application: database technology Many others Layering The general organization of an Internet search engine into three different layers 18

19 Alternative client-server organizations Example Architecture An example of a server acting as a client. 19

20 Modern Architectures An example of horizontal distribution of a Web service. Alternative C/S Architectures Cooperating servers: Service is physically distributed across a collection of servers. E.g., Replicated file systems Network news systems Naming systems (DNS, X.500, ) Workflow systems Cooperating clients: distributed application exists by virtue of client collaboration: Teleconferencing where each client owns a (multimedia) workstation Publish/subscribe (push/pull) architectures in which role of client and server is blurred 20

Distributed System: Definition

Distributed System: Definition Distributed System: Definition A distributed system is a piece of software that ensures that: A collection of independent computers that appears to its users as a single coherent system Two aspects: (1)

More information

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

Distributed Systems LEEC (2005/06 2º Sem.) Distributed Systems LEEC (2005/06 2º Sem.) Introduction João Paulo Carvalho Universidade Técnica de Lisboa / Instituto Superior Técnico Outline Definition of a Distributed System Goals Connecting Users

More information

Distributed Operating Systems

Distributed Operating Systems Distributed Operating Systems Prashant Shenoy UMass Computer Science http://lass.cs.umass.edu/~shenoy/courses/677 Lecture 1, page 1 Course Syllabus CMPSCI 677: Distributed Operating Systems Instructor:

More information

Distributed Operating Systems Introduction

Distributed Operating Systems Introduction Distributed Operating Systems Introduction Ewa Niewiadomska-Szynkiewicz and Adam Kozakiewicz ens@ia.pw.edu.pl, akozakie@ia.pw.edu.pl Institute of Control and Computation Engineering Warsaw University of

More information

Principles and characteristics of distributed systems and environments

Principles and characteristics of distributed systems and environments Principles and characteristics of distributed systems and environments Definition of a distributed system Distributed system is a collection of independent computers that appears to its users as a single

More information

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

2.1 What are distributed systems? What are systems? Different kind of systems How to distribute systems? 2.2 Communication concepts Chapter 2 Introduction to Distributed systems 1 Chapter 2 2.1 What are distributed systems? What are systems? Different kind of systems How to distribute systems? 2.2 Communication concepts Client-Server

More information

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

Distributed Systems. REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1 Distributed Systems REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1 1 The Rise of Distributed Systems! Computer hardware prices are falling and power increasing.!

More information

Virtual machine interface. Operating system. Physical machine interface

Virtual machine interface. Operating system. Physical machine interface 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

More information

Distribution transparency. Degree of transparency. Openness of distributed systems

Distribution transparency. Degree of transparency. Openness of distributed systems Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science steen@cs.vu.nl Chapter 01: Version: August 27, 2012 1 / 28 Distributed System: Definition A distributed

More information

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

CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun CS550 Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun Email: sun@iit.edu, Phone: (312) 567-5260 Office hours: 2:10pm-3:10pm Tuesday, 3:30pm-4:30pm Thursday at SB229C,

More information

Unit 2 Distributed Systems R.Yamini Dept. Of CA, SRM University Kattankulathur

Unit 2 Distributed Systems R.Yamini Dept. Of CA, SRM University Kattankulathur Unit 2 Distributed Systems R.Yamini Dept. Of CA, SRM University Kattankulathur 1 Introduction to Distributed Systems Why do we develop distributed systems? availability of powerful yet cheap microprocessors

More information

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

Software Concepts. Uniprocessor Operating Systems. System software structures. CIS 505: Software Systems Architectures of Distributed Systems CIS 505: Software Systems Architectures of Distributed Systems System DOS Software Concepts Description Tightly-coupled operating system for multiprocessors and homogeneous multicomputers Main Goal Hide

More information

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

Basics. Topics to be covered. Definition of a Distributed System. Definition of a Distributed System Topics to be covered Basics Definitions and Examples Goals Models (architectural, fundamental) Hardware and Software Concepts The -Server Model 1 2 Historical Definition of a Distributed System Two developments

More information

Lecture Overview. Multiple Processors. Multiple processors. Continuous need for faster computers

Lecture Overview. Multiple Processors. Multiple processors. Continuous need for faster computers Lecture Overview Multiple processors Multiprocessors UMA versus NUMA Hardware configurations OS configurations Process scheduling Multicomputers Interconnection configurations Network interface User-level

More information

Chapter 8 Multiple Processor Systems. 8.1 Multiprocessors 8.2 Multicomputers 8.3 Distributed systems

Chapter 8 Multiple Processor Systems. 8.1 Multiprocessors 8.2 Multicomputers 8.3 Distributed systems Chapter 8 Multiple Processor Systems 8.1 Multiprocessors 8.2 Multicomputers 8.3 Distributed systems Multiprocessor Systems Continuous need for faster computers shared memory model message passing multiprocessor

More information

Multiprocessor Systems. Chapter 8 Multiple Processor Systems. Multiprocessors. Multiprocessor Hardware (1)

Multiprocessor Systems. Chapter 8 Multiple Processor Systems. Multiprocessors. Multiprocessor Hardware (1) Chapter 8 Multiple Processor Systems Multiprocessor Systems 8.1 Multiprocessors 8.2 Multicomputers 8.3 Distributed systems Continuous need for faster computers shared memory model message passing multiprocessor

More information

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

Chapter 1: Distributed Systems: What is a distributed system? Fall 2008 Jussi Kangasharju Chapter 1: Distributed Systems: What is a distributed system? Fall 2008 Jussi Kangasharju Course Goals and Content Distributed systems and their: Basic concepts Main issues, problems, and solutions Structured

More information

1.4 SOFTWARE CONCEPTS

1.4 SOFTWARE CONCEPTS 22 INTRODUCTION CHAP. 1 1.4 SOFTWARE CONCEPTS Hardware for distributed systems is important, but it is software that largely determines what a distributed system actually looks like. Distributed systems

More information

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

Distributed Systems. Examples. Advantages and disadvantages. CIS 505: Software Systems. Introduction to Distributed Systems CIS 505: Software Systems Introduction to Distributed Systems Insup Lee Department of Computer and Information Science University of Pennsylvania Distributed Systems Why distributed systems? o availability

More information

Chapter 18: Database System Architectures. Centralized Systems

Chapter 18: Database System Architectures. Centralized Systems Chapter 18: Database System Architectures! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems! Network Types 18.1 Centralized Systems! Run on a single computer system and

More information

OPERATING SYSTEMS (OPS)

OPERATING SYSTEMS (OPS) Computing Curricula - Computer Engineering Body of Knowledge 1 OPERATING SYSTEMS (OPS) OPS0. History and overview of operating systems [core] OPS1. Operating system function and design [core] OPS2. Operating

More information

Chapter 17: Database System Architectures

Chapter 17: Database System Architectures Chapter 17: Database System Architectures Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 17: Database System Architectures Centralized and Client-Server Systems

More information

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

Centralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures Chapter 18: Database System Architectures Centralized Systems! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems! Network Types! Run on a single computer system and do

More information

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

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter

More information

1 Organization of Operating Systems

1 Organization of Operating Systems COMP 730 (242) Class Notes Section 10: Organization of Operating Systems 1 Organization of Operating Systems We have studied in detail the organization of Xinu. Naturally, this organization is far from

More information

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

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available: Tools Page 1 of 13 ON PROGRAM TRANSLATION A priori, we have two translation mechanisms available: Interpretation Compilation On interpretation: Statements are translated one at a time and executed immediately.

More information

Tier Architectures. Kathleen Durant CS 3200

Tier Architectures. Kathleen Durant CS 3200 Tier Architectures Kathleen Durant CS 3200 1 Supporting Architectures for DBMS Over the years there have been many different hardware configurations to support database systems Some are outdated others

More information

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

Client/Server Computing Distributed Processing, Client/Server, and Clusters Client/Server Computing Distributed Processing, Client/Server, and Clusters Chapter 13 Client machines are generally single-user PCs or workstations that provide a highly userfriendly interface to the

More information

independent systems in constant communication what they are, why we care, how they work

independent systems in constant communication what they are, why we care, how they work Overview of Presentation Major Classes of Distributed Systems classes of distributed system loosely coupled systems loosely coupled, SMP, Single-system-image Clusters independent systems in constant communication

More information

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

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters COMP5426 Parallel and Distributed Computing Distributed Systems: Client/Server and Clusters Client/Server Computing Client Client machines are generally single-user workstations providing a user-friendly

More information

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

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

More information

CS 5523 Operating Systems: Intro to Distributed Systems

CS 5523 Operating Systems: Intro to Distributed Systems CS 5523 Operating Systems: Intro to Distributed Systems Instructor: Dr. Tongping Liu Thank Dr. Dakai Zhu, Dr. Palden Lama for providing their slides. Outline Different Distributed Systems Ø Distributed

More information

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Microkernels, virtualization, exokernels. Tutorial 1 CSC469 Microkernels, virtualization, exokernels Tutorial 1 CSC469 Monolithic kernel vs Microkernel Monolithic OS kernel Application VFS System call User mode What was the main idea? What were the problems? IPC,

More information

Distributed Systems: Concepts and Design

Distributed Systems: Concepts and Design Distributed Systems: Concepts and Design Edition 3 By George Coulouris, Jean Dollimore and Tim Kindberg Addison-Wesley, Pearson Education 2001. Chapter 2 Exercise Solutions 2.1 Describe and illustrate

More information

Chapter 1: Introduction. What is an Operating System?

Chapter 1: Introduction. What is an Operating System? Chapter 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems Personal-Computer Systems Parallel Systems Distributed Systems Real -Time

More information

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

Introduction to CORBA. 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture Introduction to CORBA 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture 1. Introduction CORBA is defined by the OMG The OMG: -Founded in 1989 by eight companies as a non-profit

More information

Network Attached Storage. Jinfeng Yang Oct/19/2015

Network Attached Storage. Jinfeng Yang Oct/19/2015 Network Attached Storage Jinfeng Yang Oct/19/2015 Outline Part A 1. What is the Network Attached Storage (NAS)? 2. What are the applications of NAS? 3. The benefits of NAS. 4. NAS s performance (Reliability

More information

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

B) Using Processor-Cache Affinity Information in Shared Memory Multiprocessor Scheduling A) Recovery Management in Quicksilver 1) What role does the Transaction manager play in the recovery management? It manages commit coordination by communicating with servers at its own node and with transaction

More information

A Comparison of Distributed Systems: ChorusOS and Amoeba

A Comparison of Distributed Systems: ChorusOS and Amoeba A Comparison of Distributed Systems: ChorusOS and Amoeba Angelo Bertolli Prepared for MSIT 610 on October 27, 2004 University of Maryland University College Adelphi, Maryland United States of America Abstract.

More information

Weighted Total Mark. Weighted Exam Mark

Weighted Total Mark. Weighted Exam Mark CMP2204 Operating System Technologies Period per Week Contact Hour per Semester Total Mark Exam Mark Continuous Assessment Mark Credit Units LH PH TH CH WTM WEM WCM CU 45 30 00 60 100 40 100 4 Rationale

More information

Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server

Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server Hardware Windows Windows NT 4.0 Linux Server Software and

More information

Computer Science 4302 Operating Systems. Student Learning Outcomes

Computer Science 4302 Operating Systems. Student Learning Outcomes Computer Science 4302 Operating Systems Student Learning Outcomes 1. The student will learn what operating systems are, what they do, and how they are designed and constructed. The student will be introduced

More information

Operating Systems (OS)

Operating Systems (OS) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Operating Systems (OS) An operating system defines an abstraction of hardware and manages resource sharing among the computer s users. The topics in this area explain the

More information

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating? A collection of software modules to assist programmers in enhancing efficiency, flexibility, and robustness An Extended Machine from the users

More information

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

Middleware and Distributed Systems. Introduction. Dr. Martin v. Löwis Middleware and Distributed Systems Introduction Dr. Martin v. Löwis 14 3. Software Engineering What is Middleware? Bauer et al. Software Engineering, Report on a conference sponsored by the NATO SCIENCE

More information

Distributed Systems Lecture 1 1

Distributed Systems Lecture 1 1 Distributed Systems Lecture 1 1 Distributed Systems Lecturer: Therese Berg therese.berg@it.uu.se. Recommended text book: Distributed Systems Concepts and Design, Coulouris, Dollimore and Kindberg. Addison

More information

Adaptable Service Oriented Architectures

Adaptable Service Oriented Architectures Otwarte Studium Doktoranckie 1 Adaptable Service Oriented Architectures Krzysztof Zieliński Department of Computer Science AGH-UST Krakow Poland Otwarte Studium Doktoranckie 2 Agenda DCS SOA WS MDA OCL

More information

Design and Implementation of the Heterogeneous Multikernel Operating System

Design and Implementation of the Heterogeneous Multikernel Operating System 223 Design and Implementation of the Heterogeneous Multikernel Operating System Yauhen KLIMIANKOU Department of Computer Systems and Networks, Belarusian State University of Informatics and Radioelectronics,

More information

Chapter 11 Distributed File Systems. Distributed File Systems

Chapter 11 Distributed File Systems. Distributed File Systems Chapter 11 Distributed File Systems Introduction Case studies NFS Coda 1 Distributed File Systems A distributed file system enables clients to access files stored on one or more remote file servers A file

More information

System Models for Distributed and Cloud Computing

System Models for Distributed and Cloud Computing System Models for Distributed and Cloud Computing Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF Classification of Distributed Computing Systems

More information

Chapter 16 Distributed-File Systems

Chapter 16 Distributed-File Systems Chapter 16 Distributed-File Systems Background Naming and Transparency Remote File Access Stateful versus Stateless Service File Replication Example Systems 16.1 Background Distributed file system (DFS)

More information

Synchronization. Todd C. Mowry CS 740 November 24, 1998. Topics. Locks Barriers

Synchronization. Todd C. Mowry CS 740 November 24, 1998. Topics. Locks Barriers Synchronization Todd C. Mowry CS 740 November 24, 1998 Topics Locks Barriers Types of Synchronization Mutual Exclusion Locks Event Synchronization Global or group-based (barriers) Point-to-point tightly

More information

Lecture 2 Parallel Programming Platforms

Lecture 2 Parallel Programming Platforms Lecture 2 Parallel Programming Platforms Flynn s Taxonomy In 1966, Michael Flynn classified systems according to numbers of instruction streams and the number of data stream. Data stream Single Multiple

More information

LinuxWorld Conference & Expo Server Farms and XML Web Services

LinuxWorld Conference & Expo Server Farms and XML Web Services LinuxWorld Conference & Expo Server Farms and XML Web Services Jorgen Thelin, CapeConnect Chief Architect PJ Murray, Product Manager Cape Clear Software Objectives What aspects must a developer be aware

More information

Automatic load balancing and transparent process migration

Automatic load balancing and transparent process migration Automatic load balancing and transparent process migration Roberto Innocente rinnocente@hotmail.com November 24,2000 Download postscript from : mosix.ps or gzipped postscript from: mosix.ps.gz Nov 24,2000

More information

Client/Server and Distributed Computing

Client/Server and Distributed Computing Adapted from:operating Systems: Internals and Design Principles, 6/E William Stallings CS571 Fall 2010 Client/Server and Distributed Computing Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Traditional

More information

Chapter 17: Distributed-File Systems. Operating System Concepts 8 th Edition,

Chapter 17: Distributed-File Systems. Operating System Concepts 8 th Edition, Chapter 17: Distributed-File Systems, Silberschatz, Galvin and Gagne 2009 Chapter 17 Distributed-File Systems Background Naming and Transparency Remote File Access Stateful versus Stateless Service File

More information

Operating Systems 4 th Class

Operating Systems 4 th Class Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science

More information

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc. Chapter 2 TOPOLOGY SELECTION SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Topology selection criteria. Perform a comparison of topology selection criteria. WebSphere component

More information

Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents

Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents Agent Languages Requirements Overview Java Tcl/Tk Telescript Evaluation Franz J. Kurfess, Cal Poly SLO 211 Requirements for agent Languages distributed programming large-scale (tens of thousands of computers)

More information

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

Write a technical report Present your results Write a workshop/conference paper (optional) Could be a real system, simulation and/or theoretical Identify a problem Review approaches to the problem Propose a novel approach to the problem Define, design, prototype an implementation to evaluate your approach Could be a real system, simulation and/or

More information

Cluster, Grid, Cloud Concepts

Cluster, Grid, Cloud Concepts Cluster, Grid, Cloud Concepts Kalaiselvan.K Contents Section 1: Cluster Section 2: Grid Section 3: Cloud Cluster An Overview Need for a Cluster Cluster categorizations A computer cluster is a group of

More information

Use the computer hardware in an efficient manner

Use the computer hardware in an efficient manner Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Feature Migration

More information

Operating System Components and Services

Operating System Components and Services Operating System Components and Services Tom Kelliher, CS 311 Feb. 6, 2012 Announcements: From last time: 1. System architecture issues. 2. I/O programming. 3. Memory hierarchy. 4. Hardware protection.

More information

Middleware Lou Somers

Middleware Lou Somers Middleware Lou Somers April 18, 2002 1 Contents Overview Definition, goals, requirements Four categories of middleware Transactional, message oriented, procedural, object Middleware examples XML-RPC, SOAP,

More information

Deploying a distributed data storage system on the UK National Grid Service using federated SRB

Deploying a distributed data storage system on the UK National Grid Service using federated SRB Deploying a distributed data storage system on the UK National Grid Service using federated SRB Manandhar A.S., Kleese K., Berrisford P., Brown G.D. CCLRC e-science Center Abstract As Grid enabled applications

More information

Amoeba Distributed Operating System

Amoeba Distributed Operating System Amoeba Distributed Operating System Matt Ramsay Tim Kiegel Heath Memmer CS470 Case Study Paper 4/19/02 Amoeba Introduction The Amoeba operating system began as a research project at Vrije Universiteit

More information

Ingegneria del Software II academic year: 2004-2005 Course Web-site: [www.di.univaq.it/ingegneria2/]

Ingegneria del Software II academic year: 2004-2005 Course Web-site: [www.di.univaq.it/ingegneria2/] Course: Ingegneria del Software II academic year: 2004-2005 Course Web-site: [www.di.univaq.it/ingegneria2/] Middleware Technology: Middleware Applications and Distributed Systems Lecturer: Henry Muccini

More information

Module 1: Introduction. Operating System Concepts. Terminology. What is an Operating System? Where are OSs found? Distributed Real-Time Systems

Module 1: Introduction. Operating System Concepts. Terminology. What is an Operating System? Where are OSs found? Distributed Real-Time Systems Operating System Concepts Module 1: INTRODUCTION Andrzej Bednarski, Ph.D. student Department of Computer and Information Science Linköping University, Sweden Module 1: Introduction What is an operating

More information

Distributed Operating Systems. Cluster Systems

Distributed Operating Systems. Cluster Systems Distributed Operating Systems Cluster Systems Ewa Niewiadomska-Szynkiewicz ens@ia.pw.edu.pl Institute of Control and Computation Engineering Warsaw University of Technology E&IT Department, WUT 1 1. Cluster

More information

Chapter 1: Operating System Models 1 2 Operating System Models 2.1 Introduction Over the past several years, a number of trends affecting operating system design are witnessed and foremost among them is

More information

Network File System (NFS) Pradipta De pradipta.de@sunykorea.ac.kr

Network File System (NFS) Pradipta De pradipta.de@sunykorea.ac.kr Network File System (NFS) Pradipta De pradipta.de@sunykorea.ac.kr Today s Topic Network File System Type of Distributed file system NFS protocol NFS cache consistency issue CSE506: Ext Filesystem 2 NFS

More information

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

Chapter 7: Distributed Systems: Warehouse-Scale Computing. Fall 2011 Jussi Kangasharju Chapter 7: Distributed Systems: Warehouse-Scale Computing Fall 2011 Jussi Kangasharju Chapter Outline Warehouse-scale computing overview Workloads and software infrastructure Failures and repairs Note:

More information

OPERATING SYSTEMS Internais and Design Principles

OPERATING SYSTEMS Internais and Design Principles OPERATING SYSTEMS Internais and Design Principles FOURTH EDITION William Stallings, Ph.D. Prentice Hall Upper Saddle River, New Jersey 07458 CONTENTS Web Site for Operating Systems: Internais and Design

More information

CORBA and object oriented middleware. Introduction

CORBA and object oriented middleware. Introduction CORBA and object oriented middleware Introduction General info Web page http://www.dis.uniroma1.it/~beraldi/elective Exam Project (application), plus oral discussion 3 credits Roadmap Distributed applications

More information

Mobile and Heterogeneous databases Database System Architecture. A.R. Hurson Computer Science Missouri Science & Technology

Mobile and Heterogeneous databases Database System Architecture. A.R. Hurson Computer Science Missouri Science & Technology Mobile and Heterogeneous databases Database System Architecture A.R. Hurson Computer Science Missouri Science & Technology 1 Note, this unit will be covered in four lectures. In case you finish it earlier,

More information

3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19

3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19 3-Tier Architecture Prepared By Channu Kambalyal Page 1 of 19 Table of Contents 1.0 Traditional Host Systems... 3 2.0 Distributed Systems... 4 3.0 Client/Server Model... 5 4.0 Distributed Client/Server

More information

Distributed Computing

Distributed Computing 1 Syllabus Distributed Computing Lecture : 4 Hrs / Week One paper : 100 Marks / 3 Hrs duration Practical : 3 Hrs / Week Term work : 25 Marks 1. Fundamentals Evolution of Distributed Computing Systems,

More information

Networks and parallelism

Networks and parallelism Networks and parallelism CSE-C3200 Operating systems Autumn 2015 (I), Lecture 9 Vesa Hirvisalo Today Middleware Something between the OS and applications SOAP and DDS as the examples Network virtualization

More information

OpenMosix Presented by Dr. Moshe Bar and MAASK [01]

OpenMosix Presented by Dr. Moshe Bar and MAASK [01] OpenMosix Presented by Dr. Moshe Bar and MAASK [01] openmosix is a kernel extension for single-system image clustering. openmosix [24] is a tool for a Unix-like kernel, such as Linux, consisting of adaptive

More information

A distributed system is defined as

A distributed system is defined as A distributed system is defined as A collection of independent computers that appears to its users as a single coherent system CS550: Advanced Operating Systems 2 Resource sharing Openness Concurrency

More information

SCALABILITY AND AVAILABILITY

SCALABILITY AND AVAILABILITY SCALABILITY AND AVAILABILITY Real Systems must be Scalable fast enough to handle the expected load and grow easily when the load grows Available available enough of the time Scalable Scale-up increase

More information

Chapter 3: Operating-System Structures. Common System Components

Chapter 3: Operating-System Structures. Common System Components Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1

More information

Chapter 2 Operating System Overview

Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Roadmap Operating System Objectives/Functions

More information

Chapter 17: Distributed Systems

Chapter 17: Distributed Systems Chapter 17: Distributed Systems Chapter 17: Distributed Systems Advantages of Distributed Systems Types of Network-Based Operating Systems Network Structure Communication Structure Communication Protocols

More information

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation Objectives Distributed Databases and Client/Server Architecture IT354 @ Peter Lo 2005 1 Understand the advantages and disadvantages of distributed databases Know the design issues involved in distributed

More information

Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications

Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications Chapter 6. CORBA-based Architecture 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications 1 Chapter 6. CORBA-based Architecture Part 6.1 Introduction to

More information

Patterns in Software Engineering

Patterns in Software Engineering Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 7 GoV Patterns Architectural Part 1 1 GoV Patterns for Software Architecture According to Buschmann et al.: A pattern for software architecture

More information

Introduction to Multiprocessors (Part I) Prof. Cristina Silvano Politecnico di Milano

Introduction to Multiprocessors (Part I) Prof. Cristina Silvano Politecnico di Milano Introduction to Multiprocessors (Part I) Prof. Cristina Silvano Politecnico di Milano Outline Key issues to design multiprocessors Interconnection network Centralized shared-memory architectures Distributed

More information

2. An Operating System, What For?

2. An Operating System, What For? 2. An Operating System, What For? 2. An Operating System, What For? Operating System Tasks Survey of Operating System Principles 14 / 352 2. An Operating System, What For? Batch Processing Punched Cards

More information

Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest

Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest 1. Introduction Few years ago, parallel computers could

More information

Chapter 2: Remote Procedure Call (RPC)

Chapter 2: Remote Procedure Call (RPC) Chapter 2: Remote Procedure Call (RPC) Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ Contents - Chapter 2 - RPC

More information

Distributed Data Management

Distributed Data Management Introduction Distributed Data Management Involves the distribution of data and work among more than one machine in the network. Distributed computing is more broad than canonical client/server, in that

More information

COS 318: Operating Systems. Virtual Machine Monitors

COS 318: Operating Systems. Virtual Machine Monitors COS 318: Operating Systems Virtual Machine Monitors Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Introduction Have been around

More information

Chapter 3. Database Environment - Objectives. Multi-user DBMS Architectures. Teleprocessing. File-Server

Chapter 3. Database Environment - Objectives. Multi-user DBMS Architectures. Teleprocessing. File-Server Chapter 3 Database Architectures and the Web Transparencies Database Environment - Objectives The meaning of the client server architecture and the advantages of this type of architecture for a DBMS. The

More information

Chapter 10 Transparency

Chapter 10 Transparency Chapter 10 1 2 Statement Complexity Distributed systems consist of many interacting components. Given the connectivity and even the existence of many components may vary during operation. The system is

More information

Architectural Patterns. Layers: Pattern. Architectural Pattern Examples. Layer 3. Component 3.1. Layer 2. Component 2.1 Component 2.2.

Architectural Patterns. Layers: Pattern. Architectural Pattern Examples. Layer 3. Component 3.1. Layer 2. Component 2.1 Component 2.2. Architectural Patterns Architectural Patterns Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm

More information

Chapter 1 Introduction to Computers, the Internet, and the Web. Chapter 1 Introduction to Computers, the Internet, and the Web

Chapter 1 Introduction to Computers, the Internet, and the Web. Chapter 1 Introduction to Computers, the Internet, and the Web Chapter 1 Introduction to Computers, the Internet, and the Web! " # $ % & ' ( ) * +, - - / 0 1 2 3 0 + 2 ' 1 4 5 6 7 8 9 : ; < = 9 > 9? @ A B C D < = > E F G H < B I H J K L M N O P Q R S T U V W P X O

More information

CommuniGate Pro White Paper. Dynamic Clustering Solution. For Reliable and Scalable. Messaging

CommuniGate Pro White Paper. Dynamic Clustering Solution. For Reliable and Scalable. Messaging CommuniGate Pro White Paper Dynamic Clustering Solution For Reliable and Scalable Messaging Date April 2002 Modern E-Mail Systems: Achieving Speed, Stability and Growth E-mail becomes more important each

More information

Distributed System Principles

Distributed System Principles Distributed System Principles 1 What is a Distributed System? Definition: A distributed system consists of a collection of autonomous computers, connected through a network and distribution middleware,

More information