Modern Operating Systems - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Modern Operating Systems

Description:

Suitable for small, stable sets of co-operating processes. Lecture 5. Distributed System Design. ... at a system of co-operating machines the situation becomes ... – PowerPoint PPT presentation

Number of Views:787
Avg rating:3.0/5.0
Slides: 26
Provided by: tonyg2
Category:

less

Transcript and Presenter's Notes

Title: Modern Operating Systems


1
Modern Operating Systems
  • Lecture 5

2
Lecture 5 Distributed System Design
  • Objectives Lecture 5
  • To consider distributed system architecture
  • To identify basic concepts
  • To investigate design goals

3
Lecture 5 Distributed System Design
  • We have seen that Operating System provides an
    environment to execute programs.
  • What are distributed systems ?
  • They could have a distributed OS
  • They could have centralised OS with distributed
    resources
  • Or they can have a mixture of both!

4
Lecture 5 Distributed System Design.

CPU
CPU
CPU
CPU
CPU
CPU
Loosely Coupled
Tightly Coupled Systems
Separated but joined by a Network
In same box shared BUS
5
Lecture 5 Distributed System Design.
  • What are the design goal for a distributed
    system?
  • Economic - Idle workstation CPUs can share
    possible heavy workloads!
  • Reliability - if one of ten workstations crash
    only 10 of the system has failed
  • Resource Share
  • Performance
  • Incremental growth

6
Lecture 5 Distributed System Design.
  • Two different types of OS have been developed for
    Distributed Systems
  • Most Common - attach file system from remote
    system to a local workstation
  • Runs totally on the Server side
  • Another type of NOS that starts to blur the
    boundary between machines
  • System manages the resources but were the
    resources are physically does not matter.

7
Lecture 5 Distributed System Design.
  • Hybrid Systems
  • Uses a fully distributed approach not yet that
    common.
  • CORBA - Common Object Request Broker
    Architecture.
  • COM DCOM NTs Common Object Model.

8
Lecture 5 Distributed System Design.
  • SOCKETS
  • Any form of distributed system relies on the
    ability of the different systems to communicate
    effectively.
  • Sockets is a set of facilities to HIDE the
    network protocols etc. and offer a uniform
    approach to the interworking of two or more
    machines.

9
Lecture 5 Distributed System Design.
  • RPC - Remote Procedure Calls
  • Sockets provide a mechanism to transmit data
    between machines I.e. across the address space
    boundary.
  • RPC provides the mechanism to use this data in a
    form that makes a function call appear
    transparent I.e. the application has no idea if
    the function being used is local or remote.

10
Lecture 5 Distributed System Design.
  • Mutual Exclusion
  • With Sockets and RPC we can communicate between
    machines in a distributed system but what about
    unique access to a specific resource when we are
    dealing across machine boundaries.

11
Lecture 5 Distributed System Design.
  • Critical Regions for Process and thread access on
    a single machine lead to the concepts of
    Semaphores, Critical Regions etc.
  • These tend to rely on sharing data variables
    within the OS and hence do not map to a
    distributed system.

12
Lecture 5 Distributed System Design.
  • Centralised algorithms
  • In this design technique the distributed system
    has a single process that controls entry to
    critical or exclusive resources.
  • Such systems work until there is a problem with
    either a failure or message loss in the
    connection philosophy.
  • Techniques must be available to detect that the
    control process is still functioning.

13
Lecture 5 Distributed System Design.
  • Distributed algorithms
  • Various techniques have been developed that take
    away the centralised algorithmic control
  • Most use a variant of a time stamp to work out
    who got the request in first and whether to grant
    the request.
  • The disadvantage is that a great deal of message
    passing is required to determine what is going
    on.
  • Suitable for small, stable sets of co-operating
    processes

14
Lecture 5 Distributed System Design.
  • DeadLock
  • single standalone systems can reach deadlock.
  • When looking at a system of co-operating machines
    the situation becomes even more complicated as do
    the solutions
  • Prevention and avoidance algorithms associated
    with single OS machines are rare in distributed
    systems

15
Lecture 5 Distributed System Design.
  • Prevention and Avoidance
  • Such algorithms require advanced knowledge of the
    resources required.
  • Not possible on a co-operative system
  • Deadlock detection and recovery
  • Requires complex algorithms in eaxh machine
    looking at resource utilisation locally, when a
    pattern of unison between machines is found
    recovery of resource must start.

16
Lecture 5 Distributed System Design.
  • Distributed Shared Memory
  • Current OS designs are allowing memory for a
    process on one system to be shared with a process
    on another.
  • Advantage of this is that standalone applications
    could be migrated to distributed systems with
    minimal effort.
  • The detail of the run time support structures for
    such scheme is complex and CORBA and COM offer
    more viable alternatives.

17
Lecture 5 Distributed System Design.
  • File Systems
  • Distributed File Systems will be dealt with in
    specific lectures.

18
Lecture 5 Distributed System Design.
  • Scaling Issues
  • Any implementation of a distributed system must
    offer scaling not just to small, meduim or large
    but to world-wide services.
  • This tends to rule out all centralised solutions
    to problems such as deadlock.
  • Emphasis must be placed on fully distributed
    algorithms to overcome the identified problems

19
Lecture 5 Distributed System Design.
  • Fault Tolerance
  • Since we are dealing with multiple machines and a
    communications infrastructure which could be
    spread over a large area
  • System must be prone to more faults than a
    standalone machine
  • These same characteristics can be used to ensure
    the system is more fault resistant than any
    standalone system but at a price!

20
Lecture 5 Distributed System Design.
  • Security issues beyond those found on standalone
    systems
  • Authentication of the users and machines that are
    part of the system
  • Protection of the messages that pass arround the
    system

21
Lecture 5 Distributed System Design.
  • Authentication
  • One way Authentication
  • Two way Authentication
  • More details in a later lecture

22
Lecture 5 Distributed System Design.
  • Cryptography
  • Data on the infrastructure is vulnerable to
    attack
  • Masquerading as a legitimate source is a method
    of obtaining unauthorised information
  • Interception and tampering offers a means of
    making servers or services perform unauthorised
    actions

23
Lecture 5 Distributed System Design.
  • Design Techniques
  • Pre partition
  • Design the system with the distributed
    architecture already defined
  • Prone to errors if the architecture has to
    altered later
  • Post partitioning
  • Design the system possibly start the
    implementation before the manner of the
    distributed architecture is defined

24
Lecture 5 Distributed System Design.
  • Post partition
  • Pros
  • No constraint on the initial design
  • Stand alone design methodologies can be used
  • Cons
  • Each element of the system once distributed will
    need to be able to map all other elements
  • Leads to the idea of the Virtual Node (ADA)

25
Lecture 5 Summary
  • Distributed systems are not simply a collection
    of standalone systems bolted together.
  • Specific problems are unique to distributed
    design
  • Design goals need to be carefully examined before
    a design can be undertaken
Write a Comment
User Comments (0)
About PowerShow.com