outline l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Outline PowerPoint Presentation
Download Presentation
Outline

Loading in 2 Seconds...

play fullscreen
1 / 58

Outline - PowerPoint PPT Presentation


  • 236 Views
  • Uploaded on

Outline Review of Classical Operating Systems - continued Distributed Systems Announcement The class email list I created a class email list using ACNS’ service If you do not receive an email from me this morning, you need to send me an email to add your email address to the list

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Outline' - issac


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
outline
Outline
  • Review of Classical Operating Systems - continued
  • Distributed Systems

COP5611

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

COP5611

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

COP5611

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

COP5611

distributed systems cont6
Distributed Systems – cont.
  • Is each of the following systems a distributed system according to our definition?
    • Workstations at the Computer Science department
    • World wide web

COP5611

distributed systems cont7
Distributed Systems – cont.
  • Motivations
    • The availability of powerful microprocessors
    • Significant advances in communication technology
    • A group of people working together need to share data and expensive resources

COP5611

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

COP5611

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

COP5611

distributed system architecture cont
Distributed System Architecture – cont.
  • The classification given above does not consider the underlying hardware
    • Distributed systems are often classified based on the hardware
      • Multiprocessor systems
      • Homogenous multi-computer systems
      • Heterogeneous multi-computer systems

COP5611

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

COP5611

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

COP5611

multiprocessor systems cont14
Multiprocessor Systems – cont.
  • A bus-based multiprocessor system

COP5611

multiprocessors systems cont
Multiprocessors Systems – cont.
  • A crossbar switch
  • An omega switching network

COP5611

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

COP5611

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

COP5611

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

COP5611

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

COP5611

distributed operating systems cont23
Distributed Operating Systems – cont.
  • Degree of transparency and performance
    • There is a trade-off between a high degree of transparency and the performance of the system
  • Three categories
    • Distributed Operating System (DOS)
    • Network Operating System (NOS)
    • Middleware

COP5611

uniprocessor operating systems
Uniprocessor Operating Systems
  • Separating applications from operating system code through a microkernel.

1.11

COP5611

multicomputer operating systems
Multicomputer Operating Systems
  • General structure of a multicomputer operating system

COP5611

distributed shared memory systems
Distributed Shared Memory Systems
  • Pages of address space distributed among four machines
  • Situation after CPU 1 references page 10
  • Situation if page 10 is read only and replication is used

COP5611

network operating system cont
Network Operating System – cont.
  • Two clients and a server in a network operating system.

COP5611

network operating system cont30
Network Operating System – cont.
  • Different clients may mount the servers in different places.

COP5611

positioning middleware
Positioning Middleware
  • General structure of a distributed system as middleware.

COP5611

middleware and openness
Middleware and Openness
  • 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.

1.23

COP5611

object model in corba
Object Model in CORBA
  • The general organization of a CORBA system.

COP5611

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

COP5611

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

COP5611

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

COP5611

scalability cont
Scalability – cont.
  • Consider the scalability of centralized design approaches

COP5611

scaling techniques
Scaling Techniques
  • The difference between letting:
  • a server or
  • a client check forms as they are being filled

COP5611

scalability cont42
Scalability – cont.

An example of dividing the DNS name space into zones.

COP5611

issues in distributed operating systems cont43
Issues in Distributed Operating Systems – cont.
  • Compatibility
    • Refers to the interoperability among the resources in a system
    • Three different levels
      • Binary level
        • All processors execute the same binary instruction repertoire
        • Virtual binary level
      • Execution level
        • Same source code can be compiled and executed properly
      • Protocol level

COP5611

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

COP5611

issues in distributed operating systems cont45
Issues in Distributed Operating Systems – cont.
  • Resource management
    • Resource management needs to make both local and remote resources available to uses in an effective manner
    • Data migration
      • Distributed file system
      • Distributed shared memory
    • Computation migration
      • Remote procedure call
    • Distributed scheduling

COP5611

issues in distributed operating systems cont46
Issues in Distributed Operating Systems – cont.
  • Security and protection
    • The same two issues as in classical operating systems need to be considered
      • Authentication
      • Authorization

COP5611

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

COP5611

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

COP5611

clients and servers
Clients and Servers
  • General interaction between a client and a server.

COP5611

an example client and server 2
An Example Client and Server (2)
  • A sample server.

COP5611

an example client and server 3
An Example Client and Server (3)
  • A client using the server to copy a file.

COP5611

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

COP5611

processing level
Processing Level
  • The general organization of an Internet search engine into three different layers

1-28

COP5611

multitiered architectures
Multitiered Architectures
  • Plausible client-server organizations

COP5611

multitiered architectures cont
Multitiered Architectures – cont.
  • An example of a server acting as a client.

COP5611

modern architectures
Modern Architectures
  • An example of horizontal distribution of a Web service.

COP5611

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

COP5611