Hardware software concepts


Hardware concepts :-

Hardware in Distributed Systems can be organized in several different ways:

  • Shared Memory (Multiprocessors , which have a single address space).
  • Private Memory (Multicomputers, each CPU has a direct connection to its local memory).

Multiprocessors – Bus Based

  • Have limited scalability
  • Cache Memory help avoid bus overloading.

Multiprocessors – Switch Based

  • Different CPUs can access different memories simultaneously
  • The number of switches limits the number of CPUs that can access memory simultaneously

          a) A crossbar switch
          b) An omega switching network

Multicomputers :-


  • All CPUs and memory are identical;
  • Connected through a broadcast shared multi access network (like Ethernet) in bus based systems;
  • Messages routed through an interconnectionn network in switch-based multicomputers (e.g., grids, hipercubes…).


  • The most usual topology;
  • Computers may vary widely with respect to processor type, memory size, I/O bandwidth;
  • Connections are also diverse (a single multicomputer can simultaneously use LANs, Wide Area ATM, and frame relay networks);
  • Sophisticated software is needed to build applications due to the inherent heterogeneity;
  • Examples: SETI@home, WWW…

Software Concepts :-

Uniprocessor Operating Systems

  • An OS acts as a resource manager or an arbitrator : Manages CPU, I/O devices, memory
  • OS provides a virtual interface that is easier to use than hardware
  • Structure of uniprocessor operating systems: Monolithic (e.g., MS-DOS, early UNIX)
  • One large kernel that handles everything: Layered design
  • Functionality is decomposed into N layers
  • Each layer uses services of layer N-1 and implements new service(s) for layer N+1