You are on page 1of 6

Assignment 1

Distributed Database Systems

Submitted By : Numan Saeed


Sap Id: 70067317
Section: T
Distributed Database System
Assignment # 1

Q) 1 What is the reason for developing distributed shared memory systems?


Point out the difficulties to build a distributed shared memory system.
4

Reasons:
 The main reason of a distributed shared memory system is to make inter-process
communications transparent to end-users.
 it is cheaper to have a single high-end reliable storage facility be shared then having to
buy and maintain storage for each user separately.
 An important goal of a distributed system is to make it easy for users (and applications)
to access and share remote resources.
Difficulties :
 question processing deals with designing algorithms that examine queries and convert
them into a series of statistics manipulation operations. The hassle is how to determine
on a strategy for executing every question over the network inside the most value-
effective manner, but fee is described.
 information blocks migrate between nodes on demand.
 records block of the nearby reminiscence ought to get replaced by way of a brand-new
records block.
 To share statistics in a DSM device, it has to be viable to discover and retrieve the
records accesses by way of a person process.

Q) 2 Explain what is meant by transparency in a distributed system, and give


examples of differenttypes of transparency.

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.

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.
 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.
 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.

 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.
 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.
 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.
 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? Find one network operating
system and one middleware-based distributed operating system and describe
their features.

The main difference between these two operating systems (Network Operating System and
Distributed Operating System) is that in network operating system each node or system can
have its own operating system on the other hand in distribute operating system each node or
system have same operating system which is opposite to the network operating system.
The difference Between Network Operating System and Distributed Operating System are given
below:
Network Operating System Distributed Operating System

Network Operating System’s main Distributed Operating System’s main


1 objective is to provide the local objective is to manage the hardware
. services to remote client. resources.

In Network Operating System, In Distributed Operating System,


2 Communication takes place on the Communication takes place on the basis of
. basis of files. messages and shared memory.

Network Operating System is more


3 scalable than Distributed Operating Distributed Operating System is less
. System. scalable than Network Operating System.

4 In Network Operating System, fault While in Distributed Operating System,


. tolerance is less. fault tolerance is high.

5 Rate of autonomy in Network While The rate of autonomy in Distributed


. Operating System is high. Operating System is less.

6 Ease of implementation in Network While in Distributed Operating System


. Operating System is also high. Ease of implementation is less.

In Network Operating System, All


7 nodes can have different operating While in Distributed Operating System, All
. system. nodes have same operating system.

Network Operating Sysytem: (UNIX / Linux)


UNIX, created originally by Bell Labs (under AT and T), is a powerful server operating system
that can be used in peer-to-peer or client/server networks. UNIX was the first operating system
written in the C programming language. Due to an antitrust ruling forbidding AT and T from
releasing operating systems commercially, AT and T released UNIX upon its completion in 1974
to universities, mostly, enabling people to go in and actually view the source code to the
system, which enabled coders to reconstruct the basic functions of the original UNIX operating
system. From this practice, called reverse engineering, came Linux, which was first developed in
the late 1980s by a young student at the University of Helsinki in Finland named Linus Torvalds.

Features:
 Fully protected multitasking: This means that UNIX can easily switch between tasks
without the operating system crashing, because all UNIX processes are separate from
those of the operating system. Even if an application crashes, unless it somehow
manages to take down the X Windows system with it (which does happen), the
operating system just keeps right on humming.
 High performance and stability : Many servers running UNIX or Linux have run for
years without crashing once. The multitasking capabilities of UNIX, along with the rapid
rate at which the operating system matures (especially with Linux, which is free and can
be changed by anyone), make UNIX or Linux a powerful solution, especially for server
systems.
 Multiuser capabilities : True multiuser systems enable different users to be logged in to
the same system simultaneously. In UNIX and Linux, not only can a user log in to the
same system at the same time as other users, that user can log in multiple times on the
same system as the same user without the operating system batting an eyelash (such
things are often necessary when administrating a network, particularly when managing
users).
 Tons of high-quality software : From Apache Server (a Web server that’s used on a
whopping 6 in 10 major Web servers on the Internet) to the long-awaited Mozilla.org
Mozilla 1.0 open source Web browser/e-mail software (Mozilla is an open source
version of the venerated Netscape Communicator) to the powerful free Gimp graphics
manipulation software, Linux is packed with tons of free, high-quality software. The trick
is that, with UNIX/Linux, you give up compatibility with commercial software that’s
available only for Windows and/or Macintosh, currently.
 Easy customization : While other operating systems seem to offer less and less choice
to the user about which applications to install with the operating system (Windows XP is
this way), UNIX and especially Linux are the exact counterpoint to that model. With
UNIX or Linux, you can actually customize your operating system kernel, stripping it
down to just drivers and networking or installing everything possible.
 Modular architecture : The modular architecture of UNIX (and especially Linux) is
directly responsible for how customizable UNIX is. Modular really means just what it
sounds like: The operating system is built with a kernel that attaches modules to itself
based on what the user needs.
 POSIX compliance: With a free operating system like UNIX, the different distributions
(or flavors) of UNIX quickly became difficult to manage. Currently, hundreds of different
implementations of UNIX are available. To enable programmers to have some idea of
how to code their software such that it would run on any version of UNIX, the Institute
of Electrical and Electronics Engineers, Inc. (IEEE) defined the Portable Operating System
Interface (POSIX).
 Use of TCP/IP as the standard protocol stack: UNIX overwhelmingly uses TCP/IP as
the protocol stack of choice. If you consider that the vast majority of the servers that
help make up the Internet are UNIX computers of one form or another, you start to get
the idea why TCP/IP is so popular.
 A shell interface: All versions of UNIX (at least those you care about for the exam)
include a shell interface of some sort. If you have ever seen your computer use a
completely black screen with white words written on it, that’s a shell interface. You
simply type in commands at the prompt and hit Enter to execute those commands. The
hard part in using these interfaces is simply the effort it takes to learn all of those rather
cryptic commands. Making life even more difficult, UNIX is ultimately customizable and
can use different shells. The bash shell (likely the most popular shell in use today) and
the tcsh shell, for example, have different commands for the same action.

Middleware Based Distributed Os: (Locus)


LOCUS is a distributed operating system which supports transparent access to data through a
network wide filesystem, permits automatic replication of storage, supports transparent
distributed process execution, supplies a number of high reliability functions such as nested
transactions, and is upward compatible with Unix. Partitioned operation of subnet's and their
dynamic merge is also supported. The system has been operational for about two years at UCLA
and extensive experience in its use has been obtained.

Key characteristics:
 
 network transparency
 make a distributed group of machines appear as one
 high reliablility
 file replication (OS fault-tolerant to network partitions)+ nested transactions
 UNIX compatible
 
File system:
 name transparency .entire directory tree is same for all nodes, and cant tell where a
file/directory is located based on its name
 file interface transparency, system calls to operate on local files and directories are
exactly the same that can be used to operate on remote files and directories
 
Advantages of distributed replicated filesystem:

 Increased availability , can still get a file even if the regular server is down
 Increased performance , can get a file from the closest server
 Increased performance , directories are naturally well suited for replication; root
directory is most frequently accessed, and should be replicated to improve
performance; directories lower in the tree should not be replicated as much as they will
not be accessed as frequently.

You might also like