0% found this document useful (0 votes)
5 views

Chapter-1

Uploaded by

mansi.d.matekar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Chapter-1

Uploaded by

mansi.d.matekar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 26

Chapter 1

Basic Distributed System


Concepts
OUTLINE

• Introduction
• Distributed computing models
• Software concepts
• Issues in designing distributed
systems
• Client–server model
What is a Distributed System?
Tanenbaum’s definition of a distributed
system:

“A distributed system is a
collection of independent computers
that appear to the users of the system
as a single coherent system.”

A distributed computing system is a


collection of processors interconnected
by a communication network in which
each processor has its own local
memory and other peripherals, and the
communication between any two
processors of the system takes place by
An Example of a Distributed System
• Nationalized Bank with multiple Branch Offices
Architectures for Distributed Systems
• Shared memory architectures / Tightly coupled
systems/Parallel processing systems
easier to program
single system wide memory

• Distributed memory architectures / Loosely coupled


systems/Distributed computing systems (
offer a superior price performance ratio and are
scalable
 processors do not share memory
Architectures for Distributed Systems
Distributed Computing Models

• Workstation model

• Workstation–server model

• Processor-pool model
Workstation Model
• Consists of network of personal computers
• Each one with its own hard disk and local file system
• Interconnected over the network
Workstation-server Model
• Consists of multiple workstations coupled with powerful
servers with extra hardware to store the file systems and
other software like databases
Processor-pool Model
• Consists of multiple processors: a pool of processors and a
group of workstations
Software Concepts
• Distributed Operating System (DOS) lies between the
hardware and application layer.
Issues in Designing Distributed Systems

• Transparency

• Flexibility

• Reliability

• Performance

• Scalability

• Security
Transparency

• Transparency ensures that the distributed


system should be perceived as a single entity
by the users or the application programmers
rather than a collection of autonomous
systems, which is cooperating.
• The user should be unaware of where the
services are located and the transfer from a
local machine to a remote one should be
transparent.
Transparency
Transparencies required for Distributed Systems:
Flexibility
The most important factor that influences the flexibility of a DOS is
the model used for designing its kernel.
Kernel is central controlling part of an OS that provides basic
system facilities and cannot be replaced or modified by the user.
• Monolithic kernel approach
Most OS services like process
management, memory management, file management, device
management and inter-process communication are provided by
the kernal.
• Microkernel approach
Main goal is to keep the kernal as small as
possible and it provides only the minimal facilities like the inter-
process communication and low level device management
Monolithic Kernel Approach
• Uses the kernel does it all approach with all functionalities
provided by the kernel irrespective whether all machines use
it or not
Microkernel Approach
• Uses the minimalist, modular approach with accessibility to
other services as needed
Monolithic versus Microkernel Approach

• Large size reduces the overall


flexibility
• Not easy to design, implement
and install
•It is not easy to modify the design
or add new services
Reliability
• Availability in case of Hardware failure

• Data recovery in case of Data failure

• Maintain consistency in case of replicated data


Performance
Metrics are

– Response time

– Throughput (no. of jobs per hour)

– System utilization

– Amount of network capacity used


Scalability
• Refers to the capability of a system to adapt to increased service
load.
• Techniques to handle scalability issues
• hide communication latencies
• hide distribution
• hide replication
Security
• Confidentiality means protection against unauthorized access

• Integrity implies protection of data against corruption

• Availability means protection against failure /always


accessible
Client-Server Model
Client-Server Addressing Techniques

• Machine addressing

• Process addressing

• Name server addressing


Client-Server Addressing Techniques
Client-Server Implementation
Messages for client server interaction
– Request, Reply, Acknowledge, Are you Alive, I am Alive

You might also like