• View

  • Download

Embed Size (px)


  • 8/7/2019 DIS MATERIAL


    Page 1 of 49



    What is Distributed System? Give some examples of Distributed System?

    Distributed System :

    A distributed system is a system in which hardware or software components located at

    different computers communicate with each other so that they can pass messages which

    will help them share resources with each other.

    In normal life users mostly share hardware resources such as printers, data resources

    such as files etc.

    But the importance of resource sharing increases when the users are able to share the

    higher level resources that play a part in their everyday work and social activities.

    For example, users are concerned with sharing data in the form of a shared database or

    a set of web pages not the disks and processors that those are implemented on.

    A Distributed System has the following advantages associated with itConcurrency :

    By implementing Distributed system, programs can be executed concurrently between

    two or more computers so that the users can share resources such as web pages or files

    when necessary.

    No global clock :

    When users want to share resources with one another, then there is no particular global

    clock that is associated with them i.e. there is no fixed time for the user when he wants

    to share a resource .

    Independent failures :

    All computer systems can fail. Similarly Distributed system can fail in many ways.

    Faults in the network result in the disconnection of the computers that are connected to

    that particular network, but still the computers dont stop running. Even though the

  • 8/7/2019 DIS MATERIAL


    Page 2 of 49

    network fails the user can use his computer without any problem.

    What are the different Hardware Concepts involved with Distributed Operating

    Systems? (or)

    Write about Multi-processors and Multi-Computers?


    Even though all distributed systems consist of multiple CPUs, there are several

    different ways the hardware can be interconnected so that they can communicate with

    each other.

    Single Input Stream Data :

    A computer with a single instruction stream and a single data stream is called SISD.

    All traditional uni-processor computers i.e., computers which have only one CPU are

    considered to be SISD such as Personal Computers.

    Single Input Multiple Stream Data :

    The next category is SIMD, single instruction stream, multiple data stream. In this type

    of hardware multiple CPUs will be present. Each CPU will be given a single

    instruction, and this instruction will be executed on multiple data items. Such hardware

    is referred as SIMD.

    Multiple Instruction Stream Single data :

    The next category is MISD, multiple instruction stream, single data stream means a

    group of independent computers, each with its own program and data. All distributedsystems are MIMD.

    We divide all MIMD computers into two groups:

    Multiprocessors : MIMD computers which have shared memory, are called as


    Multi-Computers: MIMD computers that dont have shared memory and each

  • 8/7/2019 DIS MATERIAL


    Page 3 of 49

    computer has its own memory are called as multi-computers .

    Each of these categories can be further divided based on the architecture of the

    interconnection network. We describe these two categories as bus and switched .

    Bus Architecture : By bus we mean that there are a number of computers which are

    connected through only a single cable line. Cable television uses a scheme like this: the

    cable company runs a wire down the street, and all the subscribers have taps running to

    it from their television sets.

    Switch Architecture : Switched systems do not have a single wire connection like cable

    television. Instead, there are individual wires from machine to machine, with many

    different wiring in use.

    Draw Diagram HC - 1

    Bus-Based Multiprocessors:

    Bus-based multiprocessors consist of some number of CPUs all connected to a

    common bus, along with a memory module.

    To read a word of memory, a CPU puts the address of the word it wants on the address

    requesting CPU to read it in.

    The problem with this scheme is that with as few as 4 or 5 CPUs, the bus will usuallybe overloaded and performance will drop drastically. The solution is to add a high-

    speed cache memory between the CPU and the bus.

    Draw Diagram HC - 2

    Switched Multiprocessors :

    To build a multiprocessor with more than 64 processors, a different method is needed

    to connect the CPUs with the memory. One possibility is to divide the memory into

    tiny electronic crosspoint switch that can be opened and closed in hardware.

    Draw Diagram HC - 3

    The downside of the crossbar switch is that with n CPUs and n memories, n2

    crosspoint switches are needed. The omega network is one example. This network

    contains four 2x2 switch. In the above diagram, with proper settings of the switches,

  • 8/7/2019 DIS MATERIAL


    Page 4 of 49

    every CPU can access every memory.

    Bus-Based Multicomputer :

    On the other hand, building a multicomputer (i.e., no shared memory) is easy. Each

    CPU has direct connection to its own local memory. It looks topologically similar to

    the bus-based multiprocessor, but since there will be much less traffic over it, it need

    not be a high-speed bus.

    Draw Diagram HC - 4

    Switched Multicomputer :

    Our last category consists of switched multi-computer. In this type of category each

    and every CPU will have its own memory and can directly access that memory.The most two popular topologies, a grid and a hypercube.

    Draw Diagram HC 5

    A hypercube is an n-dimensional cube where each vertex represents a CPU and each

    edge represents the connection between two CPUs.


    Although the hardware is important, the software is even more important. The

    operating system software is responsible for the interaction between the user and the


    Two kinds of Operating systems for multiple CPU systems one is loosely coupled and

    the other is tightly coupled system.

    Loosely Coupled System : This software allows machines and users of a distributed

    system to be independent of each other, but still they can interact with each other

    whenever necessary. For example a group of personal computers, where each computer

    has its own CPU, its own memory, its own hard disk and its own operating system, but

    Tightly Coupled System : This software allows machines to be run by a central

    machine, which controls all the operations of the other machines.

    Network Operating Systems :

  • 8/7/2019 DIS MATERIAL


    Page 5 of 49

    The Network Operating Systems are loosely-coupled software on loosely-coupled

    hardware. An example for Network Operating System is a network of computers or

    workstations connected by LAN.

    In this model, each user has a single computer or workstation allocated to him. It may

    or may not have a hard disk. It definitely has its own operating system. All commands

    are normally run locally, right on the workstation.

    One approach is to provide a shared, global file system accessible from all the

    workstations. . Each incoming request is examined and executed, and the reply

    is sent back.

    Draw Diagram SC 1

    True Distributed Systems :

    A True Distributed System provides tightly-coupled software on the same loosely-

    coupled (i.e., multicomputer) hardware. The goal of such a system is to create the

    illusion in the minds of the users that the entire network of computers is a single

    timesharing system, rather than a collection of different machines.

    In this system, global inter process communication take place so that each process cancommunicate with any other process in the network.

    Process management is the same everywhere i.e. how the processes are created,

    destroyed, started and stopped must be same on every machine.

    Multiprocessor Timesharing Systems :

    Multi-processor Timesharing systems are tightly-coupled software on tightly-coupled

    hardware. The important characteristic of this system is the existence of a single queue

    in memory. .

    Draw Diagram SC - 2

    All five processes are located in the shared memory, and three of them are currently

    executing: process A on CPU 1, process B on CPU 2, and process C on CPU 3. The

    other two processes, D and I , are also in memory, waiting their turn.

  • 8/7/2019 DIS MATERIAL


    Page 6 of 49

    What are the different design issues involved with Distributed Operating


    Transparency :

    A distributed system is made up of independent components, but still the user doesnt

    know about the individual components and he feels that it is a single system. Such type

    of hiding is referred as Transparency.

    ccess Transparency : The users can access resources in his system or on any other

    system by using the same operation. Such transparency is referred as Access


    Location transparency : The user will never know the location of the resources that he

    is accessing.

    Concurrency transparency : The users can share the same resource without any


    Failure transparency : It hides the failures that have occurred from the u