Outline - PowerPoint PPT Presentation

About This Presentation
Title:

Outline

Description:

An operating system is a layer of software on a bare machine that performs two basic functions ... the same binary instruction repertoire. Virtual binary level ... – PowerPoint PPT presentation

Number of Views:16
Avg rating:3.0/5.0
Slides: 59
Provided by: xiuwe
Learn more at: http://www.cs.fsu.edu
Category:
Tags: outline

less

Transcript and Presenter's Notes

Title: Outline


1
Outline
  • Review of Classical Operating Systems - continued
  • Distributed Systems

2
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

3
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

4
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

5
Distributed Systems cont.
6
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

7
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

8
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

9
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

10
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

11
Basic Distributed Systems
1.6
12
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

13
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

14
Multiprocessor Systems cont.
  • A bus-based multiprocessor system

15
Multiprocessors Systems cont.
  1. A crossbar switch
  2. An omega switching network

16
Homogeneous Multicomputer 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

17
Bus-Based Multicomputer Systems
18
Homogeneous Multicomputer Systems cont.
  1. Grid
  2. Hypercube

1-9
19
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

20
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

21
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

22
Distributed Operating Systems cont.
Transparency Description
Access Hide differences in data representation and how a resource is accessed
Location Hide where a resource is located
Migration Hide that a resource may move to another location
Relocation Hide that a resource may be moved to another location while in use
Replication Hide that a resource may be shared by several competitive users
Concurrency Hide that a resource may be shared by several competitive users
Failure Hide the failure and recovery of a resource
Persistence Hide whether a (software) resource is in memory or on disk
23
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

24
Overview of Different Kinds of Distributed Systems
System Description Main Goal
DOS Tightly-coupled operating system for multi-processors and homogeneous multicomputers Hide and manage hardware resources
NOS Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Offer local services to remote clients
Middleware Additional layer atop of NOS implementing general-purpose services Provide distribution transparency
25
Uniprocessor Operating Systems
  • Separating applications from operating system
    code through a microkernel.

1.11
26
Multicomputer Operating Systems
  • General structure of a multicomputer operating
    system

27
Distributed Shared Memory Systems
  1. Pages of address space distributed among four
    machines
  2. Situation after CPU 1 references page 10
  3. Situation if page 10 is read only and replication
    is used

28
Network Operating System
1-19
29
Network Operating System cont.
  • Two clients and a server in a network operating
    system.

30
Network Operating System cont.
  • Different clients may mount the servers in
    different places.

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

32
Middleware and Openness
1.23
  • 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.

33
The Global Architecture of CORBA
34
Object Model in CORBA
  • The general organization of a CORBA system.

35
CORBA Services
Service Description
Collection Facilities for grouping objects into lists, queue, sets, etc.
Query Facilities for querying collections of objects in a declarative manner
Concurrency Facilities to allow concurrent access to shared objects
Transaction Flat and nested transactions on method calls over multiple objects
Event Facilities for asynchronous communication through events
Notification Advanced facilities for event-based asynchronous communication
Externalization Facilities for marshaling and unmarshaling of objects
Life cycle Facilities for creation, deletion, copying, and moving of objects
Licensing Facilities for attaching a license to an object
Naming Facilities for systemwide name of objects
Property Facilities for associating (attribute, value) pairs with objects
Trading Facilities to publish and find the services on object has to offer
Persistence Facilities for persistently storing objects
Relationship Facilities for expressing relationships between objects
Security Mechanisms for secure channels, authorization, and auditing
Time Provides the current time within specified error margins
36
Comparison Between Systems
Item Distributed OS Distributed OS Network OS Middleware-based OS
Item Multiproc. Multicomp. Network OS Middleware-based OS
Degree of transparency Very High High Low High
Same OS on all nodes Yes Yes No No
Number of copies of OS 1 N N N
Basis for communication Shared memory Messages Files Model specific
Resource management Global, central Global, distributed Per node Per node
Scalability No Moderately Yes Varies
Openness Closed Closed Open Open
37
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

38
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

39
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

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

Concept Example
Centralized services A single server for all users
Centralized data A single on-line telephone book
Centralized algorithms Doing routing based on complete information
41
Scaling Techniques
  • The difference between letting
  • a server or
  • a client check forms as they are being filled

42
Scalability cont.
An example of dividing the DNS name space into
zones.
43
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

44
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

45
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

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

47
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 systems services are implemented
    as objects

48
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 servers reply

49
Clients and Servers
  • General interaction between a client and a server.

50
An Example Client and Server (1)
51
An Example Client and Server (2)
  • A sample server.

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

53
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

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

1-28
55
Multitiered Architectures
  • Plausible client-server organizations

56
Multitiered Architectures cont.
  • An example of a server acting as a client.

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

58
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
Write a Comment
User Comments (0)
About PowerShow.com