An Introduction to the Amoeba Distributed Operating System Apan Qasem Computer Science Department Florida State University

Size: px
Start display at page:

Download "An Introduction to the Amoeba Distributed Operating System Apan Qasem Computer Science Department Florida State University"

Transcription

1 An Introduction to the Amoeba Distributed Operating System Apan Qasem Computer Science Department Florida State University Abstract The Amoeba Operating System has been in use in academia, research and industry for quite some time. It is a powerful micro kernel based distributed operating system. A brief description of this unique distributed operating system is presented in this paper. The paper begins with some background information on research activities in Amoeba. This discussion is followed by a look at the system architecture for this operating system. The major portion of the paper focuses on some of the key design issues of Amoeba. Among these are communication primitives, naming and protection, resource management, fault tolerance and services. The paper concludes with a discussion on how the Amoeba OS compares with some of the other distributed operating systems.

2 1. Background The dramatic price decrease of microprocessors in the early 80s had a major influence on the computer industry in a number of ways. One of the key changes was noticed in the development of new distributed systems. Organizations began to move away from the more expensive mainframe set-up and decided to adopt a more efficient and economical system that made use of a large number of microprocessors. The advent of distributed systems required the development of new kind of software that could manage the system. A research group under the direction of Prof. Andrew S. Tanenbaum at the Vrije University was one of the first to take up the challenge of developing a new distributed operating system. These pioneers started their research back in 1980 with the aim of coming up with an operating system that would allow seamless interconnection of multiple processors distributed over a network. [1] The Amoeba distributed operating system is the result of years of research conducted by this group. Amoeba is a powerful microkernel-based operating system that turns a collection of workstations into a transparent distributed system. Transparency has been a key issue in the design of Amoeba. In general, the users are not aware of the number and location of the processors that run their commands, or of the number and location of the file servers that store their files. [2] Thus Amoeba presents the user with an illusion of an old-

3 fashioned time-sharing system whereas in reality the system is a collection of machines on a network that may potentially expand to several countries. Amoeba has been in use in the industry for over ten years now. However, it is an ongoing research project and new versions of the operating system are being released quite frequently. Amoeba has been implemented on various platforms including MicroSPARC SPARCstation, Sun 3/50 and Sun 3/60 workstation and Intel 386/486/Pentium. Amoeba is available free to researchers and educators and for special commercial prices and conditions to corporate, government and other users. [1] The rest of the paper takes a somewhat detailed look at the system architecture, the design goals and some the key design issues of this unique operating system. 2. System Architecture Before talking about the design principles of the operating system it is perhaps a good idea to look at the kind of system architecture for which Amoeba has been designed. Although, it is technically possible to run Amoeba on a single microcomputer, the authors of the software recommend a minimal configuration for running the Amoeba operating system. A typical Amoeba system should consist of four functional classes of machines: [3] i. i. Workstations

4 ii. ii. Processor Pool iii. iii. Specialized Servers iv. iv. Gateway The workstations are used by the users to access the system. These workstations are not total dumb terminals, however they have very limited processing power. None of the heavy duty processing is done at the workstations level. Usually, workstations do window management, and let users perform basic editing and tasks that require fast interactive response. Many of the Amoeba systems use simple X-terminals as workstations. The set of pool processors does all the heavy-duty computations. The processors are not owned by the users, they are dynamically allocated to users as required. These processors can be part of a multiprocessor or a multicomputer, be a collection of singleboard computers or be a group of workstations allocated for this purpose. Usually, each pool processor has several megabytes of private memory, that is, pool processors need not have any shared memory (but it is not forbidden). Communication is performed by sending packets over the LAN. [2] A typical Amoeba configuration would also have a set of specialized servers for performing special tasks in the system. Examples of specialized servers include, file servers and directory servers. The specialized server may run on any of the pool processors or on dedicated hardware as desired.

5 Finally there s the Gateway, a special server that connects an Amoeba system to the wide-area-network in a transparent manner. The special Gateway is needed because Amoeba uses a special protocol called FLIP for data transfer rather TCP/IP which is used on the Internet. The main job of the Gateway is to convert data between these two different protocols. 3. Design Issues In designing Amoeba the authors had four major goals in mind: [2] Distribution Parallelism Transparency Performance Tanenbaum and his research group wanted to create an operating system that would connect a large number of computers over a distributed network in a transparent way. They also wanted the ability of parallel computation in the system. That is in this system a single job or program can use multiple processors to gain speed. For example, a branch and bound problem such as the Traveling Salesman Problem can use tens or even hundreds of CPUs, if available, all working together to solve the problem more quickly. Finally, there s the issue of performance. And the issue of performance is the one that s most relevant to the discussion on the key design choices that follows. In designing Amoeba the authors tried to keep things as simple as possible while at the same time they

6 tried to maximize the performance. Some of the key design issues of the Amoeba operating system are presented next. 3.1 Communication Primitives A minimal Remote Procedure Call model is used for communication between clients and servers in the Amoeba system. The client sends a request to the server and blocks until it receives a reply. On the other hand, the server upon receiving a request processes it and then sends back a reply with result of the operation. Thus the communication involves exchanging just two types of messages: REQUEST and REPLY. This was a deliberate design choice made by the authors in order to keep things simple and make the communication faster. [4] The RPC mechanism however involves more than just exchanging REQUEST-REPLY messages. In its request the client needs to specify the object (described in the next section) on which the operation is to be performed, the kind of operation that needs to be performed and also the associated parameters. Since, Amoeba operates on a distributed system every remote procedure call involves the marshalling and unmarshalling of parameters. To deal with this situation a special language called the Amoeba Interface Language (AIL) has been developed. [2] AIL generates the stub procedures and handles the marshalling and unmarshalling of parameters. This way, all the details of a remote procedure call are hidden to the user thus preserving the transparency of the system.

7 For increased performance the FLIP network protocol is used for communication within an Amoeba system. [2] Although, this requires the use of a special Gateway server to communicate with a WAN, it greatly increases the communication speed within the system 3.2 Naming and Protection The naming and protection scheme in Amoeba depends on two fundamental concepts: objects and capabilities. An object is conceptually an abstract data type on which certain operations are defined. For example, a directory is an object to which certain operations can be applied, such as ``enter name'' and ``look up name.'' Amoeba primarily supports software objects, but hardware objects also exist. Each object is managed by a server process to which RPCs can be sent. Each RPC specifies the object to be used, the operation to be performed, and any parameters to be passed [2] A capability on the other hand provides a handle on the object. In the Amoeba model a capability is just a number that is generated by a server when it first receives a request for object creation form the client. Once the capability has been generated the client has to use it for all future operations on that particular object. Each capability also consists of the rights and privileges of users on that particular object. Thus this simple object-based model handles the entire naming and protection scheme in Amoeba maintaining its transparency and adding to its simplicity. 3.3 Resource Management

8 A collection of dedicated servers or pool processors applies a variety of techniques to manage resources on an Amoeba system. For every machine on the system there is a resource manager, a process that keeps track and controls the resources for that particular machine. There is also a dedicated server called the Process Server that keeps track of which processors are free and which are not in the process pool. It is use the job the process server to allocate a processor or a group of processors for a particular task. Keeping up with the notion of transparency, the allocation of processors for a particular task is kept totally transparent to the user. The user has no control over which processors are going perform the computation. [4] The Amoeba operating system also uses a special server called the Bank Server that handles allocation of shared resources. The Bank Server provides a general mechanism for resource management using accounting techniques. The idea behind this is to allocate a number of tokens or virtual money to each process upon creation. Throughout it s lifetime the process spends the virtual money in order to gain access to shared resources. Process priority is determined by the amount of virtual money they possess. That is a process with higher priority process would have a higher income and therefore have a greater chance of acquiring a shared resource for which it is competing with a lower priority process. [4] 3.4 Fault Tolerance

9 The Boot Service handles fault tolerance in the Amoeba operating system. Each server can register with the Boot Service at startup. The Boot Service polls all registered servers. If a server does not respond in time, it is declared broken. The boot server then sends a request to the process server to start a new copy of the server. The RPC mechanism in Amoeba is setup in such a way that if a client a does not receive a reply form the server within a certain it times and then resends the request. This timeout mechanism combined with the Boot Service provides for a very robust system. Since, the client resends the request after timeout and the each server is polled periodically by the boot service, the worst that can happen in case of a server crash is that the client would need to send more than one request. We should note that there is no possibility of either the client hanging indefinitely because it did not receive a reply form the server. Again, all of this is left transparent to the user. [4] 4. Amoeba Compared with Other Distributed OS

10 References 1. The Amoeba WWW Page, 2. Tannenbaum, A.S., and Sharp, Gregory J.: The Amoeba Distributed Operating System, 3. Tannenbaum, A.S., Renesse, R. van, Sharp, Gregory J., and Staveren, Hans van: Experiences with the Amoeba Distributed Operating System Communication of the ACM, vol. 33, pp , Dec Tannenbaum, A.S., and Renesse, R. van: Distributed Operating Systems, ACM Computing Surveys, vol 17, pp

Distributed Operating System Shilpa Yadav; Tanushree & Yashika Arora

Distributed Operating System Shilpa Yadav; Tanushree & Yashika Arora Distributed Operating System Shilpa Yadav; Tanushree & Yashika Arora A Distributed operating system is software over collection of communicating, networked, independent and with physically separate computational

More information

A Comparison of Two Distributed Systems: Amoeba & Sprite. By: Fred Douglis, John K. Ousterhout, M. Frans Kaashock, Andrew Tanenbaum Dec.

A Comparison of Two Distributed Systems: Amoeba & Sprite. By: Fred Douglis, John K. Ousterhout, M. Frans Kaashock, Andrew Tanenbaum Dec. A Comparison of Two Distributed Systems: Amoeba & Sprite By: Fred Douglis, John K. Ousterhout, M. Frans Kaashock, Andrew Tanenbaum Dec. 1991 Introduction shift from time-sharing to multiple processors

More information

06-Dec-17. Credits:4. Notes by Pritee Parwekar,ANITS 06-Dec-17 1

06-Dec-17. Credits:4. Notes by Pritee Parwekar,ANITS 06-Dec-17 1 Credits:4 1 Understand the Distributed Systems and the challenges involved in Design of the Distributed Systems. Understand how communication is created and synchronized in Distributed systems Design and

More information

CHAPTER-1: INTRODUCTION TO OPERATING SYSTEM:

CHAPTER-1: INTRODUCTION TO OPERATING SYSTEM: CHAPTER-1: INTRODUCTION TO OPERATING SYSTEM: TOPICS TO BE COVERED 1.1 Need of Operating System 1.2 Evolution of os 1.3 operating system i. Batch ii. iii. iv. Multiprogramming Time sharing Real time v.

More information

Distributed OS and Algorithms

Distributed OS and Algorithms Distributed OS and Algorithms Fundamental concepts OS definition in general: OS is a collection of software modules to an extended machine for the users viewpoint, and it is a resource manager from the

More information

MODELS OF DISTRIBUTED SYSTEMS

MODELS OF DISTRIBUTED SYSTEMS Distributed Systems Fö 2/3-1 Distributed Systems Fö 2/3-2 MODELS OF DISTRIBUTED SYSTEMS Basic Elements 1. Architectural Models 2. Interaction Models Resources in a distributed system are shared between

More information

PART IV. Internetworking Using TCP/IP

PART IV. Internetworking Using TCP/IP PART IV Internetworking Using TCP/IP Internet architecture, addressing, binding, encapsulation, and protocols in the TCP/IP suite Chapters 20 Internetworking: Concepts, Architecture, and Protocols 21 IP:

More information

Introduction. Distributed Systems. Introduction. Introduction. Instructor Brian Mitchell - Brian

Introduction. Distributed Systems. Introduction. Introduction. Instructor Brian Mitchell - Brian Distributed 1 Directory 1 Cache 1 1 2 Directory 2 Cache 2 2... N Directory N Interconnection Network... Cache N N Instructor Brian Mitchell - Brian bmitchel@mcs.drexel.edu www.mcs.drexel.edu/~bmitchel

More information

Midterm Exam Answers

Midterm Exam Answers Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.824 Fall 2002 Midterm Exam Answers The average score was 55 (out of 80). Here s the distribution: 10 8

More information

Outline. Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems

Outline. Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems Distributed Systems Outline Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems What Is A Distributed System? A collection of independent computers that appears

More information

Lecture 9: MIMD Architectures

Lecture 9: MIMD Architectures Lecture 9: MIMD Architectures Introduction and classification Symmetric multiprocessors NUMA architecture Clusters Zebo Peng, IDA, LiTH 1 Introduction A set of general purpose processors is connected together.

More information

Chapter 17: Distributed Systems (DS)

Chapter 17: Distributed Systems (DS) Chapter 17: Distributed Systems (DS) Silberschatz, Galvin and Gagne 2013 Chapter 17: Distributed Systems Advantages of Distributed Systems Types of Network-Based Operating Systems Network Structure Communication

More information

Distributed Systems Theory 4. Remote Procedure Call. October 17, 2008

Distributed Systems Theory 4. Remote Procedure Call. October 17, 2008 Distributed Systems Theory 4. Remote Procedure Call October 17, 2008 Client-server model vs. RPC Client-server: building everything around I/O all communication built in send/receive distributed computing

More information

Unit 2 : Computer and Operating System Structure

Unit 2 : Computer and Operating System Structure Unit 2 : Computer and Operating System Structure Lesson 1 : Interrupts and I/O Structure 1.1. Learning Objectives On completion of this lesson you will know : what interrupt is the causes of occurring

More information

Client Server & Distributed System. A Basic Introduction

Client Server & Distributed System. A Basic Introduction Client Server & Distributed System A Basic Introduction 1 Client Server Architecture A network architecture in which each computer or process on the network is either a client or a server. Source: http://webopedia.lycos.com

More information

MODELS OF DISTRIBUTED SYSTEMS

MODELS OF DISTRIBUTED SYSTEMS Distributed Systems Fö 2/3-1 Distributed Systems Fö 2/3-2 MODELS OF DISTRIBUTED SYSTEMS Basic Elements 1. Architectural Models 2. Interaction Models Resources in a distributed system are shared between

More information

Operating Systems: Internals and Design Principles. Chapter 2 Operating System Overview Seventh Edition By William Stallings

Operating Systems: Internals and Design Principles. Chapter 2 Operating System Overview Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Chapter 2 Operating System Overview Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Operating systems are those

More information

CS516 Distributed Operating Systems. Introduction to Amoeba - Object and Capabilities - memory management - Communication - Amoeba Servers.

CS516 Distributed Operating Systems. Introduction to Amoeba - Object and Capabilities - memory management - Communication - Amoeba Servers. UNIT V CASE STUDY - AMOEBA Introduction to Amoeba - Object and Capabilities - memory management - Communication - Amoeba Servers. THE AMOEBA SYSTEM ARCHITECTURE Designed with two assumptions about the

More information

Chapter 3: AIS Enhancements Through Information Technology and Networks

Chapter 3: AIS Enhancements Through Information Technology and Networks Accounting Information Systems: Essential Concepts and Applications Fourth Edition by Wilkinson, Cerullo, Raval, and Wong-On-Wing Chapter 3: AIS Enhancements Through Information Technology and Networks

More information

Distributed Systems. Thoai Nam Faculty of Computer Science and Engineering HCMC University of Technology

Distributed Systems. Thoai Nam Faculty of Computer Science and Engineering HCMC University of Technology Distributed Systems Thoai Nam Faculty of Computer Science and Engineering HCMC University of Technology Chapter 1: Introduction Distributed Systems Hardware & software Transparency Scalability Distributed

More information

Multiprocessors 2007/2008

Multiprocessors 2007/2008 Multiprocessors 2007/2008 Abstractions of parallel machines Johan Lukkien 1 Overview Problem context Abstraction Operating system support Language / middleware support 2 Parallel processing Scope: several

More information

Chapter 1: Introduction Operating Systems MSc. Ivan A. Escobar

Chapter 1: Introduction Operating Systems MSc. Ivan A. Escobar Chapter 1: Introduction Operating Systems MSc. Ivan A. Escobar What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. Operating system

More information

Lessons from Amoeba. Sape J. Mullender. Huygens Systems Research Laboratory Universiteit Twente Enschede

Lessons from Amoeba. Sape J. Mullender. Huygens Systems Research Laboratory Universiteit Twente Enschede Lessons from Amoeba Sape J. Mullender Huygens Systems Research Laboratory Universiteit Twente Enschede 1 Introduction Amoeba is a distributed system designed at the Vrije Universiteit and at CWI, the Centre

More information

OPERATING SYSTEMS. Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne

OPERATING SYSTEMS. Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne OPERATING SYSTEMS Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne OVERVIEW An operating system is a program that manages the

More information

REMOTE PROCEDURE CALLS IMPLEMENTING USING DISTRIBUTED ALGORITHM

REMOTE PROCEDURE CALLS IMPLEMENTING USING DISTRIBUTED ALGORITHM REMOTE PROCEDURE CALLS IMPLEMENTING USING DISTRIBUTED ALGORITHM G. MURALI i K.ANUSHA ii A. SHIRISHA iii S.SRAVYA iv [i] Assistant Professor, Dept of Computer Science Engineering, JNTU-Pulivendula, AP,

More information

Lecture 1: January 22

Lecture 1: January 22 CMPSCI 677 Distributed and Operating Systems Spring 2018 Lecture 1: January 22 Lecturer: Prashant Shenoy Scribe: Bin Wang 1.1 Introduction to the course The lecture started by outlining the administrative

More information

Operating Systems Overview. Chapter 2

Operating Systems Overview. Chapter 2 1 Operating Systems Overview 2 Chapter 2 3 An operating System: The interface between hardware and the user From the user s perspective: OS is a program that controls the execution of application programs

More information

DISTRIBUTED COMPUTING

DISTRIBUTED COMPUTING DISTRIBUTED COMPUTING By Sunita Mahajan & Seema Shah Presented By Prof. S.J. Soni, Asst. Professor, CE Dept., SPCE, Visnagar CHAPTER-1 BASIC DISTRIBUTED SYSTEM CONCEPTS What is a distributed system? Tanenbaum

More information

Reserves time on a paper sign-up sheet. Programmer runs his own program. Relays or vacuum tube hardware. Plug board or punch card input.

Reserves time on a paper sign-up sheet. Programmer runs his own program. Relays or vacuum tube hardware. Plug board or punch card input. Introduction & Ch1 Two Roles of an Operating System Extended Machine or virtual machine Device drivers, Processes, File systems, Networking protocols. Resource Manager Allocates and enforces Memory, Disk

More information

Operating Systems Overview. Chapter 2

Operating Systems Overview. Chapter 2 Operating Systems Overview Chapter 2 Operating System A program that controls the execution of application programs An interface between the user and hardware Masks the details of the hardware Layers and

More information

Outline. Distributed Computing Systems. The Rise of Distributed Systems. Depiction of a Distributed System 4/15/2014

Outline. Distributed Computing Systems. The Rise of Distributed Systems. Depiction of a Distributed System 4/15/2014 Outline Distributed Computing Systems Overview of Distributed Systems Overview Goals Software Client Server Andrew Tanenbaum and Marten van Steen, Distributed Systems Principles and Paradigms, Prentice

More information

Introduction CHAPTER. Practice Exercises. 1.1 What are the three main purposes of an operating system? Answer: The three main puropses are:

Introduction CHAPTER. Practice Exercises. 1.1 What are the three main purposes of an operating system? Answer: The three main puropses are: 1 CHAPTER Introduction Practice Exercises 1.1 What are the three main purposes of an operating system? Answer: The three main puropses are: To provide an environment for a computer user to execute programs

More information

CPU scheduling. Alternating sequence of CPU and I/O bursts. P a g e 31

CPU scheduling. Alternating sequence of CPU and I/O bursts. P a g e 31 CPU scheduling CPU scheduling is the basis of multiprogrammed operating systems. By switching the CPU among processes, the operating system can make the computer more productive. In a single-processor

More information

Lecture 9: MIMD Architectures

Lecture 9: MIMD Architectures Lecture 9: MIMD Architectures Introduction and classification Symmetric multiprocessors NUMA architecture Clusters Zebo Peng, IDA, LiTH 1 Introduction MIMD: a set of general purpose processors is connected

More information

Distributed System Chapter 16 Issues in ch 17, ch 18

Distributed System Chapter 16 Issues in ch 17, ch 18 Distributed System Chapter 16 Issues in ch 17, ch 18 1 Chapter 16: Distributed System Structures! Motivation! Types of Network-Based Operating Systems! Network Structure! Network Topology! Communication

More information

Chapter 18 Distributed Systems and Web Services

Chapter 18 Distributed Systems and Web Services Chapter 18 Distributed Systems and Web Services Outline 18.1 Introduction 18.2 Distributed File Systems 18.2.1 Distributed File System Concepts 18.2.2 Network File System (NFS) 18.2.3 Andrew File System

More information

COMMUNICATION IN DISTRIBUTED SYSTEMS

COMMUNICATION IN DISTRIBUTED SYSTEMS Distributed Systems Fö 3-1 Distributed Systems Fö 3-2 COMMUNICATION IN DISTRIBUTED SYSTEMS Communication Models and their Layered Implementation 1. Communication System: Layered Implementation 2. Network

More information

Course Snapshot. The Next Few Classes. Parallel versus Distributed Systems. Distributed Systems. We have covered all the fundamental OS components:

Course Snapshot. The Next Few Classes. Parallel versus Distributed Systems. Distributed Systems. We have covered all the fundamental OS components: Course Snapshot The Next Few Classes We have covered all the fundamental OS components: Architecture and OS interactions Processes and threads Synchronization and deadlock Process scheduling Memory management

More information

Course Snapshot. The Next Few Classes

Course Snapshot. The Next Few Classes Course Snapshot We have covered all the fundamental OS components: Architecture and OS interactions Processes and threads Synchronization and deadlock Process scheduling Memory management File systems

More information

The Amoeba Distributed Operating System

The Amoeba Distributed Operating System The Amoeba Distributed Operating System Andrew S. Tanenbaum Vrije Universiteit De Boelelaan 1081a Amsterdam, The Netherlands FAX: +31 20 6427705 Email: ast@cs.vu.nl 1. INTRODUCTION Roughly speaking, we

More information

Module 16: Distributed System Structures

Module 16: Distributed System Structures Chapter 16: Distributed System Structures Module 16: Distributed System Structures Motivation Types of Network-Based Operating Systems Network Structure Network Topology Communication Structure Communication

More information

Module 15: Network Structures

Module 15: Network Structures Module 15: Network Structures Background Topology Network Types Communication Communication Protocol Robustness Design Strategies 15.1 A Distributed System 15.2 Motivation Resource sharing sharing and

More information

CHAPTER 1 Fundamentals of Distributed System. Issues in designing Distributed System

CHAPTER 1 Fundamentals of Distributed System. Issues in designing Distributed System CHAPTER 1 Fundamentals of Distributed System Introduction Distributed Computing Models Software Concepts Issues in designing Distributed System Client Server Model 1 What is a Distributed System? Tanenbaum

More information

Part V. Process Management. Sadeghi, Cubaleska RUB Course Operating System Security Memory Management and Protection

Part V. Process Management. Sadeghi, Cubaleska RUB Course Operating System Security Memory Management and Protection Part V Process Management Sadeghi, Cubaleska RUB 2008-09 Course Operating System Security Memory Management and Protection Roadmap of Chapter 5 Notion of Process and Thread Data Structures Used to Manage

More information

Lecture 1: January 23

Lecture 1: January 23 CMPSCI 677 Distributed and Operating Systems Spring 2019 Lecture 1: January 23 Lecturer: Prashant Shenoy Scribe: Jonathan Westin (2019), Bin Wang (2018) 1.1 Introduction to the course The lecture started

More information

Distributed Virtual Reality Computation

Distributed Virtual Reality Computation Jeff Russell 4/15/05 Distributed Virtual Reality Computation Introduction Virtual Reality is generally understood today to mean the combination of digitally generated graphics, sound, and input. The goal

More information

Operation Manual DHCP. Table of Contents

Operation Manual DHCP. Table of Contents Table of Contents Table of Contents Chapter 1 DHCP Overview... 1-1 1.1 DHCP Principles... 1-1 1.1.1 BOOTP Relay Agent... 1-3 1.1.2 DHCP and BOOTP Relay Agent... 1-4 1.2 General DHCP Configuration... 1-4

More information

Fundamentals. CHflPTCR WHAT IS A DISTRISUTCD COMPUTING SVSTCM?

Fundamentals. CHflPTCR WHAT IS A DISTRISUTCD COMPUTING SVSTCM? CHflPTCR 1 Fundamentals 1.1 WHAT IS A DISTRISUTCD COMPUTING SVSTCM? Over the past two decades, advancements in microelectronic technology have resulted in the availability of fast, inexpensive processors,

More information

Computer Architecture

Computer Architecture Computer Architecture Chapter 7 Parallel Processing 1 Parallelism Instruction-level parallelism (Ch.6) pipeline superscalar latency issues hazards Processor-level parallelism (Ch.7) array/vector of processors

More information

Module 16: Distributed System Structures. Operating System Concepts 8 th Edition,

Module 16: Distributed System Structures. Operating System Concepts 8 th Edition, Module 16: Distributed System Structures, Silberschatz, Galvin and Gagne 2009 Chapter 16: Distributed System Structures Motivation Types of Network-Based Operating Systems Network Structure Network Topology

More information

OPERATING SYSTEM. Chapter 12: File System Implementation

OPERATING SYSTEM. Chapter 12: File System Implementation OPERATING SYSTEM Chapter 12: File System Implementation Chapter 12: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management

More information

Distributed Operating Systems Fall Prashant Shenoy UMass Computer Science. CS677: Distributed OS

Distributed Operating Systems Fall Prashant Shenoy UMass Computer Science.   CS677: Distributed OS Distributed Operating Systems Fall 2009 Prashant Shenoy UMass http://lass.cs.umass.edu/~shenoy/courses/677 1 Course Syllabus CMPSCI 677: Distributed Operating Systems Instructor: Prashant Shenoy Email:

More information

Chapter 2: Operating-System Structures

Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

OPERATING SYSTEMS. After A.S.Tanenbaum, Modern Operating Systems, 3rd edition. Uses content with permission from Assoc. Prof. Florin Fortis, PhD

OPERATING SYSTEMS. After A.S.Tanenbaum, Modern Operating Systems, 3rd edition. Uses content with permission from Assoc. Prof. Florin Fortis, PhD OPERATING SYSTEMS #5 After A.S.Tanenbaum, Modern Operating Systems, 3rd edition Uses content with permission from Assoc. Prof. Florin Fortis, PhD General information GENERAL INFORMATION Cooperating processes

More information

Chapter 11: Implementing File Systems

Chapter 11: Implementing File Systems Chapter 11: Implementing File Systems Operating System Concepts 99h Edition DM510-14 Chapter 11: Implementing File Systems File-System Structure File-System Implementation Directory Implementation Allocation

More information

Distributed Operating Systems Spring Prashant Shenoy UMass Computer Science.

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

More information

Chapter 11: Implementing File

Chapter 11: Implementing File Chapter 11: Implementing File Systems Chapter 11: Implementing File Systems File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency

More information

IUT Job Cracker Design and Implementation of a Dynamic Job Scheduler for Distributed Computation

IUT Job Cracker Design and Implementation of a Dynamic Job Scheduler for Distributed Computation IUT Job Cracker Design and Implementation of a Dynamic Job Scheduler for Distributed Computation *Fahim Kawsar, **Md. Shahriar Saikat, ***Shariful Hasan Shaikot Department of Computer Science *Islamic

More information

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University Frequently asked questions from the previous class survey CS 370: OPERATING SYSTEMS [VIRTUALIZATION] Shrideep Pallickara Computer Science Colorado State University Difference between physical and logical

More information

Designing Issues For Distributed Computing System: An Empirical View

Designing Issues For Distributed Computing System: An Empirical View ISSN: 2278 0211 (Online) Designing Issues For Distributed Computing System: An Empirical View Dr. S.K Gandhi, Research Guide Department of Computer Science & Engineering, AISECT University, Bhopal (M.P),

More information

Kernel Support for Paravirtualized Guest OS

Kernel Support for Paravirtualized Guest OS Kernel Support for Paravirtualized Guest OS Shibin(Jack) Xu University of Washington shibix@cs.washington.edu ABSTRACT Flexibility at the Operating System level is one of the most important factors for

More information

Chapter 11: Implementing File Systems. Operating System Concepts 9 9h Edition

Chapter 11: Implementing File Systems. Operating System Concepts 9 9h Edition Chapter 11: Implementing File Systems Operating System Concepts 9 9h Edition Silberschatz, Galvin and Gagne 2013 Chapter 11: Implementing File Systems File-System Structure File-System Implementation Directory

More information

Chapter 12: File System Implementation

Chapter 12: File System Implementation Chapter 12: File System Implementation Chapter 12: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency

More information

Lightweight Remote Procedure Call

Lightweight Remote Procedure Call Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, Henry M. Levy ACM Transactions Vol. 8, No. 1, February 1990, pp. 37-55 presented by Ian Dees for PSU CS533, Jonathan

More information

Operating System Support

Operating System Support Operating System Support Dr. Xiaobo Zhou Adopted from Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 1 Learning Objectives Know what a modern

More information

Module 1 - Distributed System Architectures & Models

Module 1 - Distributed System Architectures & Models Module 1 - Distributed System Architectures & Models System Architecture Defines the structure of the system components identified functions of each component defined interrelationships and interactions

More information

SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN

SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN SUBJECT: (IT 4.1.3) ADVANCED OPERATING SYSTEM CLASS: 4/4 B.Tech. I SEMESTER, A.Y.2017-18 INSTRUCTOR: CHALLA

More information

Unit 5: Distributed, Real-Time, and Multimedia Systems

Unit 5: Distributed, Real-Time, and Multimedia Systems Unit 5: Distributed, Real-Time, and Multimedia Systems Unit Overview Unit 5 provides an extension to the core topics of operating systems. It introduces distributed systems and special-purpose operating

More information

Lecture 1 Introduction (Chapter 1 of Textbook)

Lecture 1 Introduction (Chapter 1 of Textbook) Bilkent University Department of Computer Engineering CS342 Operating Systems Lecture 1 Introduction (Chapter 1 of Textbook) Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 References The slides

More information

Chapter 4 Communication

Chapter 4 Communication DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 4 Communication Layered Protocols (1) Figure 4-1. Layers, interfaces, and protocols in the OSI

More information

Operating Systems. studykorner.org

Operating Systems. studykorner.org Operating Systems Outlines What are Operating Systems? All components Description, Types of Operating Systems Multi programming systems, Time sharing systems, Parallel systems, Real Time systems, Distributed

More information

Chapter 10: File System Implementation

Chapter 10: File System Implementation Chapter 10: File System Implementation Chapter 10: File System Implementation File-System Structure" File-System Implementation " Directory Implementation" Allocation Methods" Free-Space Management " Efficiency

More information

OPERATING SYSTEMS. After A.S.Tanenbaum, Modern Operating Systems, 3rd edition. Uses content with permission from Assoc. Prof. Florin Fortis, PhD

OPERATING SYSTEMS. After A.S.Tanenbaum, Modern Operating Systems, 3rd edition. Uses content with permission from Assoc. Prof. Florin Fortis, PhD OPERATING SYSTEMS #2 After A.S.Tanenbaum, Modern Operating Systems, 3rd edition Uses content with permission from Assoc. Prof. Florin Fortis, PhD INTRODUCTION Operating systems structure OPERATING SYSTEM

More information

Grand Central Dispatch

Grand Central Dispatch A better way to do multicore. (GCD) is a revolutionary approach to multicore computing. Woven throughout the fabric of Mac OS X version 10.6 Snow Leopard, GCD combines an easy-to-use programming model

More information

FACULTY OF SCIENCE AND HUMANITIES

FACULTY OF SCIENCE AND HUMANITIES FACULTY OF SCIENCE AND HUMANITIES DEPARTMENT OF COMPUTER APPLICATIONS LESSON PLAN(CICP) Course Code : MC3E2 Course Title : Distributed Operating System Semester : V Course Time : Dec Mar 205 Day Hour Timing

More information

Today: Protection! Protection!

Today: Protection! Protection! Today: Protection! Goals of Protection Domain of Protection Access Matrix Implementation of Access Matrix Revocation of Access Rights Capability-Based Systems Language-Based Protection Lecture 27, page

More information

Lecture 7. Architectural Patterns: Layers, Façade, Microkernel, Design Pattern: Strategy

Lecture 7. Architectural Patterns: Layers, Façade, Microkernel, Design Pattern: Strategy Lecture 7 Architectural Patterns: Layers, Façade, Microkernel, Design Pattern: Strategy Layers Pattern Operative Metaphor: Assembly Line Layers Architectural layers are collaborating sections of an overall

More information

FCM 710: Architecture of Secure Operating Systems

FCM 710: Architecture of Secure Operating Systems FCM 710: Architecture of Secure Operating Systems Practice Exam, Spring 2010 Email your answer to ssengupta@jjay.cuny.edu March 16, 2010 Instructor: Shamik Sengupta Multiple-Choice 1. operating systems

More information

Distributed Systems. Definitions. Why Build Distributed Systems? Operating Systems - Overview. Operating Systems - Overview

Distributed Systems. Definitions. Why Build Distributed Systems? Operating Systems - Overview. Operating Systems - Overview Distributed Systems Joseph Spring School of Computer Science Distributed Systems and Security Areas for Discussion Definitions Operating Systems Overview Challenges Heterogeneity Limitations and 2 Definitions

More information

Study of various Election algorithms on the basis of messagepassing

Study of various Election algorithms on the basis of messagepassing IOSR Journal of Computer Engineering (IOSRJCE) ISSN: 2278-0661, ISBN: 2278-8727Volume 8, Issue 1 (Nov. - Dec. 2012), PP 23-27 Study of various Election algorithms on the basis of messagepassing approach

More information

Computer Systems Assignment 4: Scheduling and I/O

Computer Systems Assignment 4: Scheduling and I/O Autumn Term 018 Distributed Computing Computer Systems Assignment : Scheduling and I/O Assigned on: October 19, 018 1 Scheduling The following table describes tasks to be scheduled. The table contains

More information

OPERATING SYSTEMS UNIT - 1

OPERATING SYSTEMS UNIT - 1 OPERATING SYSTEMS UNIT - 1 Syllabus UNIT I FUNDAMENTALS Introduction: Mainframe systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered Systems Real Time Systems Handheld Systems -

More information

Characteristics of Mult l ip i ro r ce c ssors r

Characteristics of Mult l ip i ro r ce c ssors r Characteristics of Multiprocessors A multiprocessor system is an interconnection of two or more CPUs with memory and input output equipment. The term processor in multiprocessor can mean either a central

More information

Lecture 5: RMI etc. Servant. Java Remote Method Invocation Invocation Semantics Distributed Events CDK: Chapter 5 TVS: Section 8.3

Lecture 5: RMI etc. Servant. Java Remote Method Invocation Invocation Semantics Distributed Events CDK: Chapter 5 TVS: Section 8.3 Lecture 5: RMI etc. Java Remote Method Invocation Invocation Semantics Distributed Events CDK: Chapter 5 TVS: Section 8.3 CDK Figure 5.7 The role of proxy and skeleton in remote method invocation client

More information

CONNECTING RPC-BASED DISTRIBUTED SYSTEMS USING WIDE-AREA NETWORKS*

CONNECTING RPC-BASED DISTRIBUTED SYSTEMS USING WIDE-AREA NETWORKS* - 104 - CONNECTING RPC-BASED DISTRIBUTED SYSTEMS USING WIDE-AREA NETWORKS* Robbert van Renesse Andrew S. Tanenbaum Hans van Staveren Department of Mathematics and Computer Science Vrije Universiteit Amsterdam,

More information

Types of Computer Networks. ICS 614: Computer Networks Concepts and Principles 11

Types of Computer Networks. ICS 614: Computer Networks Concepts and Principles 11 Types of Computer Networks ICS 614: Computer Networks Concepts and Principles 11 Types of networks Networks are categorized by distribution, size, and architecture. A network can be as simple as a single

More information

CS533 Concepts of Operating Systems. Jonathan Walpole

CS533 Concepts of Operating Systems. Jonathan Walpole CS533 Concepts of Operating Systems Jonathan Walpole Disco : Running Commodity Operating Systems on Scalable Multiprocessors Outline Goal Problems and solutions Virtual Machine Monitors(VMM) Disco architecture

More information

Today: Distributed File Systems

Today: Distributed File Systems Last Class: Distributed Systems and RPCs Servers export procedures for some set of clients to call To use the server, the client does a procedure call OS manages the communication Lecture 22, page 1 Today:

More information

CS 201. Exceptions and Processes. Gerson Robboy Portland State University

CS 201. Exceptions and Processes. Gerson Robboy Portland State University CS 201 Exceptions and Processes Gerson Robboy Portland State University Control Flow Computers Do One Thing From startup to shutdown, a CPU reads and executes (interprets) a sequence of instructions, one

More information

Introduction to Concurrency (Processes, Threads, Interrupts, etc.)

Introduction to Concurrency (Processes, Threads, Interrupts, etc.) Introduction to Concurrency (Processes, Threads, Interrupts, etc.) CS-3013 Operating Systems Hugh C. Lauer (Slides include materials from Slides include materials from Modern Operating Systems, 3 rd ed.,

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction Chapter 1: Introduction What Operating Systems Do Computer-System Organization Computer-System Architecture Operating-System Structure Operating-System Operations Process Management

More information

Concepts of Distributed Systems 2006/2007

Concepts of Distributed Systems 2006/2007 Concepts of Distributed Systems 2006/2007 Introduction & overview Johan Lukkien 1 Introduction & overview Communication Distributed OS & Processes Synchronization Security Consistency & replication Programme

More information

Crossbar switch. Chapter 2: Concepts and Architectures. Traditional Computer Architecture. Computer System Architectures. Flynn Architectures (2)

Crossbar switch. Chapter 2: Concepts and Architectures. Traditional Computer Architecture. Computer System Architectures. Flynn Architectures (2) Chapter 2: Concepts and Architectures Computer System Architectures Disk(s) CPU I/O Memory Traditional Computer Architecture Flynn, 1966+1972 classification of computer systems in terms of instruction

More information

Client-server Basics. 1. Motivation

Client-server Basics. 1. Motivation Page 1 of 8 Client-server Basics Oxford Brookes University 2004 Contents 1. Motivation 2. Basic Model of the Web 3. Extensions - Caching and Proxies 4. High Performance Web Servers 5. Web Services Appendices

More information

Chapter 11: Implementing File Systems

Chapter 11: Implementing File Systems Chapter 11: Implementing File Systems Chapter 11: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency

More information

Today: Protection. Sermons in Computer Science. Domain Structure. Protection

Today: Protection. Sermons in Computer Science. Domain Structure. Protection Sermons in Simplicity Performance Programming as Craft Information is Property Stay Broad Ack: Tom Anderson, U. Washington Today: Protection Goals of Protection Domain of Protection Access Matrix Implementation

More information

Introduction to Computer Networks INTRODUCTION TO COMPUTER NETWORKS

Introduction to Computer Networks INTRODUCTION TO COMPUTER NETWORKS INTRODUCTION TO COMPUTER NETWORKS Computer Networks Computer network connects two or more autonomous computers. The computers can be geographically located anywhere. LAN, MAN & WAN Network in small geographical

More information

Growth. Individual departments in a university buy LANs for their own machines and eventually want to interconnect with other campus LANs.

Growth. Individual departments in a university buy LANs for their own machines and eventually want to interconnect with other campus LANs. Internetworking Multiple networks are a fact of life: Growth. Individual departments in a university buy LANs for their own machines and eventually want to interconnect with other campus LANs. Fault isolation,

More information

Background. 20: Distributed File Systems. DFS Structure. Naming and Transparency. Naming Structures. Naming Schemes Three Main Approaches

Background. 20: Distributed File Systems. DFS Structure. Naming and Transparency. Naming Structures. Naming Schemes Three Main Approaches Background 20: Distributed File Systems Last Modified: 12/4/2002 9:26:20 PM Distributed file system (DFS) a distributed implementation of the classical time-sharing model of a file system, where multiple

More information

Chapter 3. The Basics of Networking

Chapter 3. The Basics of Networking Chapter 3 The Basics of Networking Learning Objectives Tell whether a communication technology (Internet, radio, LAN, etc.) is synchronous or asynchronous; broadcast or point-to-point Explain the roles

More information