Department of Software Engineering

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Department of Software Engineering

M Waqas (70069395)
Submitted to: sir naveed husain
Subject: DDMS
Section: S
Date: 30-03-2021

QNO1:What is the reason for developing distributed shared memory systems?


Ans:
A distributed shared memory is a mechanism allowing end-users' processes to access
shared data without using inter-process communications. In other words, the goal of a DSM
system is to make inter-process communications transparent to end-users.
Point out the difficulties to build a distributed shared memory system.
Ans:
I) Generally slower to access than non-distributed shared memory
II) Must provide additional protection against simultaneous accesses to shared data
III) May incur a performance penalty
IV) Little programmer control over actual messages being generated
V) Programmers need to understand consistency models, to write correct programs
VI) DSM implementations use asynchronous message-passing, and hence cannot be
more efficient than message-passing implementations
QNO2: Explain what is meant by transparency in a distributed system, and give examples
of different types of transparency
Ans:
In a distributed systems there are some features of the system which are hidden from the
users this is called transparency. The end users are not aware of certain mechanisms which do not
appear on the distributed applications because transparency confines it in the layer below the one
user interacts with. The distributed transparency gives the idea to the user that they are using a
single system even though it’s spread across collection of devices.
examples of different types of transparency:
There are several types of transparencies which are available to be implemented on distributed
systems such as access transparency, location transparency, concurrency transparency, replication
transparency, failure transparency, scaling transparency etc.

I)Access transparency is where a user is accessing a remote resource but the users get the idea
that they accessing data locally. Also access transparency allows you to access local and remote
resource by using identical operations.
II)Location transparency the users are able access any resource without knowing the exact
physical location of that resource. The location of the resources in the distributed system would
well spread across a vast area but it is not shown the user and in some cases not shown to the
programmers as well.
Both these access transparency and location transparency combined forms network transparency.

III)Concurrency transparency is when even though there are multiple processes are able to
simultaneously operate with local and remote resource without interference between each other.
So the basic idea is that distributed applications where many users are active at the same time
they are able to access same resources at the same time without interference.
IV)Replication transparency is when in a distributed application there is a certain resource which
needs to be accessed by many users at the same time for several times. To overcome this issue
the distributed application has several replicas of the resources which are more frequently used.
These replicas are created so that it increases the reliability and performance. But as for the
concept of transparency here again the users are certainly not aware that they are using a replica
of the original resource.
V)Failure transparency is when there are faults or errors in the distributed applications but it is
being hidden from the users. It allows the users to complete their tasks despite the faults in
software or hardware.
VI)Scaling transparency allows the distributed application to expand without affecting any of the
application algorithms. The application should have the ability of horizontal and vertical
expandability. Also it should also be able to adapt to different instances such scaling down to fit
into clients requirements.
Q) 3 What is the difference between a network operating system and middleware-based
distributed operating system?
Ans:
A network operating system is made up of software and associated protocols that allow a
set of computer network to be used together.
middleware-based distributed operating system
A distributed operating system is an ordinary centralized operating system but runs on multiple
independent CPUs. Environment users are aware of multiplicity of machines.
Network Operating System (NOS)
A network operating system (NOS) is a computer operating system that is designed primarily to
support workstation, personal computer, and, in some instances,older terminal that are connected
on a local area network.
Environment users are aware of the existence of multiple machines being used concurrently.
They are not fault tolerant. Sometimes the Performance is badly affected if certain part of the
hardware starts malfunctioning.
Remote resources are accessed by either logging into the desired remote machine or transferring
data from the remote machine to user's own machines.
Examples : Windows NT, 2000, XP, Sun Solaris, Novell's Netware
middleware-based distributed operating system
A distributed operating system is an ordinary centralized operating system but runs on multiple
independent CPUs. Each computer runs as the part of global distributed OS.
Users are not aware of multiplicity of machines. The operating system provides a single system
image to its users.
It is more reliable or fault tolerant i.e distributed operating system performs even in the partial
failures.
Users access remote resources in the same manner as they access local resources
Examples : Amoeba, UNIX, V, AEGIS

You might also like