Chapter 16 1 Distributed System Structures Chapter 16 Distributed System Structures Chapter 16 1 Background Motivation Types of Distributed Operating Systems Network Structure Chapter 16 2 Network Topology Communication Structure Communication Protocols Robustness Design Issues Operating System Concepts 17 2 Silberschatz Galvin and Gagne 2005 Chapter Objectives To provide a high level overview of distributed systems and the networks that interconnect them To discuss the general structure of distributed operating systems Operating System Concepts 17 3 Silberschatz Galvin and Gagne 2005 Background Distributed systems collections of processors sharing neither memory nor a clock Each processor has its own memory their own facilities and other resources and they communicate with each other via local area networks or wide area networks Systems can vary greatly in size performance and a host of other characteristics A distributed file system in contrast is a file service system whose users servers and storage devices are distributed over different nodes in a distributed system Associated file services must be carried out across a network In distributed file systems we do not have a single centralized data repository Rather we have many independent storage devices each with their characteristics Benefits of distributed systems are many and varied These include providing user access to resources maintained elsewhere Of course such power breeds complexity and a host of other issues Ability to speedup computations either my distributing computations providing much greater availability to data and the potential to distribute processes themselves are among the many benefits of distributed systems All these nice things require dealing with many issues such as deadlock and failures that are different than those in centralized systems Operating System Concepts 17 4 Silberschatz Galvin and Gagne 2005 Distributed System Structures Here in this chapter we will discuss many of the general issues and communication issues that support distributed systems Clearly communication is a key and we will talk a lot about this in this chapter It is part and parcel to understanding the immense issues kand complexity of distributed systems We discuss a very general structure of a distributed system in this chapter and the networks needed for interconnection We will also talk about the main differences in OS design between distributed systems and centralized systems Operating System Concepts 17 5 Silberschatz Galvin and Gagne 2005 Motivation In distributed systems we have a collection of loosely coupled processors interconnected by a communications network From the view of a local user all other processors appear to be remote Nodews on a network may be referred to as nodes sites computers machines hosts etc We will say site to indicate the location of a machine and host to refer to a specific system at a site Generally one host at some site the server has a resource that a host at some other site a client wants to use It is as simple as this at least conceptually Operating System Concepts 17 6 Silberschatz Galvin and Gagne 2005 Four Important Motivations for Distributed Systems Motivation for distributed systems are plentiful Here are four Resource Sharing Computation Speedup Reliability and Communications Each of these are very important Operating System Concepts 17 7 Silberschatz Galvin and Gagne 2005 Motivation Reasons 1 Resource Sharing Resource sharing refers to the ability to access resource s at a remote site whether it is a processor processes printers files etc Of course many mechanisms safeguards and communications must be in place We will discuss these ahead Computation Speedup Some operations may be broken down into different run units that might be able to be run independently In this case they can be run concurrently indeed simultaneously on a number of sites at the same time Another example of computational speedup is simply moving a job to another site because of overloading at the resident site and running that process desired at a remote site which might have system availability Sometimes this is called load sharing Operating System Concepts 17 8 Silberschatz Galvin and Gagne 2005 Motivation Reasons 2 of 3 Reliability If computers in a distributed system are somewhat general purpose such that the failure of one will not necessarily affect others then similar sites may continue to run when one node goes down If machines are special purpose or if the system consists of a number of small machines where each has some special roles in the overall system then there may be a problem unless there is sufficient redundancy to continue Of course if a failure occurs the system must be able to recover in some way A specific faulty system must be taken out and its functionality must be transferrable to another node in the system if we wish to maintain the same degree of robustness that the distributed network offers When repairs are made then this node must be able to be brought back into the system with minimal disruption Operating System Concepts 17 9 Silberschatz Galvin and Gagne 2005 Motivation Reasons 3 of 3 Communications Sites are connected by a communications network local or wide Users must then be able to communicate via messages to other nodes Availability All message passing conventions such as file transfer mail login RPCs etc must be available to the nodes in a distributed system Long distance communications One nice thing is that all these communications may take place at large distances and are not constrained by location Downsize central sites One very significant consequence of a distributed system is that one potentially large site may be able to be downsized such that resources it needs may be found in other nodes in a distributed system to which it belongs Many adherents to the mainframe technology are replacing these boxes with smaller workstations and personal computers The notion of sharing is becoming more and more pervasive in the industry wide Operating System Concepts 17 10 Silberschatz Galvin and Gagne 2005 Types of Distributed Operating Systems Two Kinds Network Operating Systems Distributed Operating Systems Distributed Operating Systems by their very nature are very complicated and are hugely reliant on much communications support and facilities for sharing Reliability distribution All of the details of file distribution distribution of processes and so much more must be
View Full Document