UNIT I
1. What do you mean by Distributed Systems?
A
distributed System is a collection of independent computers that appears to its
users as a single coherent system.
Distributed
system is one in which the hardware and software components located at networked
computers can communicate and coordinate their actions only by passing
messages.
2. Write the examples of Distributed Systems
Three
examples:
- The Internet
- An Intranet
- Mobile and Ubiquitous computing
3. Define Backbone
A backbone is a network link with a high
transmission capacity, employing satellite connections, fiber optic cables and
other high-bandwidth circuits.
4. Write about the role of firewall in intranet.
The role of
firewall is to protect an intranet by preventing unauthorized messages leaving
or entering. A firewall is implemented by filtering incoming and outgoing
messages, for example according to their source or destination.
5.What is meant by mobile computing?
Mobile computing is the performance of computing tasks while
the user is on the move, or visiting places other than their usual environment.
6. What is meant by ubiquitous computing?
Ubiquitous computing is connecting many small, cheap
computational devices that are present in users’ physical environments,
including the home, office and even natural settings. The term ‘ubiquitous’ is
intended to suggest that small computing devices will eventually become so
pervasive in everyday objects that they are scarcely noticed.
7. Define
mobile code.
The term
mobile code is used to refer to program code that can be transferred from one
computer to another and run at the destination – Java applets are an example
8. Write
about Middleware.
The term
Middleware applies to a software layer that provides a programming abstraction
as well as masking the heterogeneity of the underlying networks, hardware,
operating systems and programming
languages.
Example :
Common Object Request Broker Architecture (CORBA).
9. Write about the challenges in the design of scalable
distributed systems.
The design
of scalable distributed system have the following challenges:
Ø
Controlling the cost of physical resources
Ø
Controlling the performance loss
Ø
Preventing software resources running out
Ø
Avoiding performance bottle necks
10. How the failures get tolerated in distributed systems?
It is not
possible to detect and hide all the failures that might occur in large network.
Their clients can be designed to tolerate failures, which generally involve the
users tolerating them as well. Services can be made to tolerate failures by the
use of redundant components.
11. Define network
transparency.
There are
two important transparencies available. They are access and location
transparency; their presence or absence most strongly affects the utilization
of distributed resources. They are referred together as network
transparency.
12. What are the limitations of spontaneous networking?
v Internet addressing and routing
algorithms are difficult to implement
v Limited connectivity - users are
not always connected as they more around (eg. through tunnels)
v Security and Privacy
13. Define Marshalling.
Marshalling
is the process of taking a collection of data items and assembling them into a
form suitable for transmission in a message.
14. Define UnMarshalling.
Unmarshalling
is the process of disassembling them on arrival to produce an equivalent
collection of data items at the destination.
15. What are communication primitives in request reply
protocol?
The request
– reply protocol is based on a communication primitives, doOperation,
getRequest and sendReply.
UNIT II
1. What is meant by remote object reference?
A remote
object reference is an identifier that can be used throughout a distributed
system to refer to a particular unique remote object.
2. What is the role of communication module?
The
communication modules are responsible for providing specified invocation
semantics, e.g., at-most-once. The communication module in the server selects
the dispatcher for the class of the object to be invoked, passing on its local
reference, which it gets from the remote reference module.
3. What is the role of Proxy?
The role of
a proxy is to make remote method invocation transparent to clients by behaving
like a local object to the invoker: but instead executing an invocation, it
forwards it in a message to a remote object.
4. What is
the role of stub?
The role of
a stub procedure is similar to that of a proxy. It marshals procedure
identifier and the arguments into a request message, which it sends via
communication module to the server. When the reply message arrives, it
unmarshals the results.
5. Define
publish-subscribe paradigm.
In publish-subscribe
paradigm, an object that generates events publishes the type of events
that it will make available for observation by other objects. Objects that want
to receive notifications from an object that has published its events subscribe
to the types of events that are of interest to them.
6. What are
the two main characteristics of Distributed event based system?
Heterogeneous
Asynchronous
7. Write about callback object.
The client
creates a remote object that implements an interface that contains a method for
the server to call. We refer to this as a callback object.
8. Mention the core OS components.
Ø Process manager
Ø Thread manager
Ø Communication manager
Ø Memory manager
Ø
Supervisor
9. Write about supervisor mode and user mode.
A kernel
process executes with the processor in
supervisor (privileged) mode; the kernel arranges that other processor
execute in user (unprivileged) mode.
10. Differentiate between process and threads.
A process
consists of an execution environment together with one or more threads. A
thread is the operating system abstraction of an activity
11. What are the disadvantages of work pool architecture?
Ø
Inflexibility in the number of worker threads
Ø
High level of switching between the I/O and
worker threads as they manipulate the shared queue.
12. Write about preemptive scheduling and non-preemptive scheduling.
ü In preemptive scheduling, a thread
may be suspended at any point to make way for another thread.
ü In non-preemptive scheduling, a
thread runs until it makes a call to the threading system, when the system may
de-schedule it and schedules another thread to run
UNIT III
1. What is meant by Distributed File system?
Distributed
file system support the sharing of information in the form of files and
hardware resources in the form of persistent storage throughout an intranet.
Distributed File systems allow sharing of data over a long period in a secure
and reliable way.
2. What is meant by metadata?
Meta
data refers to all
of the extra information stored by a file system that is needed for the
management of files.
3. What are
the file system modules?
Directory
module: relates file
mines to file IDs
|
File
module :
relates file ID to particular files
|
Access
Control Module: Checks permission
for file requested
|
File
access module : reads or writes
file data
|
Block
module : accesses
and allocates disk blocked
|
Device
module : disk I/O and
buffering
|
4. What are
the three components of file service?
The file
service can be structured as three components: a flat file service, a directory
service and a client module.
5. What is
meant by binding?
A name is
resolved when it is translated into data about the named resource or object,
often in order to invoke an action upon it . The association between a name and
an object is c a l l e d binding.
6. What is meant by URN and URC?
The other
main type of URI is Uniform Resource Name (URN). URNs are intended to sole the
dangling link problem and to provide richer model of finding resources on the
web. Uniform Resource Characteristics (URC) is a subset of URNs. A URC is a
description of a web resource consisting of attributes of the resource. URCs
are for describing web resources and for looking up web resources that match
their attribute specification
7. What are
the goals of Global name service?
ü To handle an essentially arbitrary
number of names and to serve an arbitrary number of administrative
organizations.
ü a long lifetime
ü high availability
ü fault isolation
ü tolerance of mistrust
8. Define
navigation.
The process
of locating naming data from among more than one name server in order to
resolve a name is called navigation.
9. Write
about iterative and multicast navigation.
Iterative
navigation: To resolve a name, a client presents the name to
the local name server, which attempts to resolve it. If the local name server
has the name, it returns the result immediately.
multicast
navigation: client multicasts the name to be resolved and the required object
type to the group of name servers. Only the server that holds the named
attributes responds to the request.
10. What are the advantages of GNS?
GNS
addresses the needs for scalability and re-configurability.
The
solution adopted for merging & moving directory trees has a lot of
overload.
11. What is
an alias? What is the role of alias in DNS?
An alias
allows a convenient name to be substituted for a more complicated one. The DNS
allows aliases in which one domain name is defined to stand for another. The
reason for having aliases is to provide for transparency.
12. Write
about GNS.
A Global
Name Service (GNS) was designed and implemented by Lampson and colleagues at the DEC Systems Research Center
to provide facilities for resource
location, mail addressing and authentication.
The GNS
manages a naming database that is composed of a tree of directories holding
names and values.
UNIT IV
1. Define clock.
Each computer contains their own physical clock. These
clocks are electronic devices that counts oscillations occurring in a crystal
al a definite frequency, and that typically divide this count and store the
result in a counter register.
2. Define clock skew.
The instantaneous difference between the readings of any two
clocks is called clock skew.
3. Define clock drift.
The crystal-based clocks may be subject to clock drift, which means that they
count time at different rates, and so diverge. The underlying oscillators are
subject to physical variations with the consequence that their frequencies of
oscillation differ.
4. What is meant by clock drift rate?
A clock's drift rate is the range in the offset between the
clock and a nominal perfect reference clock per unit of time measured by the
reference clock.
5. Define UTC.
It means Coordinated Universal Time. It is an international
standard for timekeeping. It is based on atomic time. UTC signals are
synchronized and broadcast regularly from land based radio stations and
satellites covering many parts of the world.
6. Write about Logical clock.
Lamport invented a simple mechanism, by which the
happened-before ordering can be captured numerically, called a logical clock. A lamport logical clock
is a monotonically increasing software counter.
7. What is meant by failure detector?
A failure detector is a service that processes
queries about whether a particular process has failed. It is often implemented
by an object local to each process (on the same computer) that runs a
failure-detection algorithm in conjunction with its counterparts at other
processes.
8. Write the essential requirements for mutual exclusion.
Our
essential requirements for mutual exclusion are as follows.
ME 1:
(safety) - At most one process may execute in the Critical Section (CS) at
a time
ME 2:
(liveness) - Requests to enter and exit the CS eventually succeed.
ME 3:
(ordering) - If one request to enter the CS happened-before another, then entry
to the CS is granted in that order.
9. What are the three messages occur in bully algorithm?
There are three types of message in this algorithm:
Ø
an election message is sent to announce
an election;
Ø
an answer message is sent in response to
an election message
Ø
and a coordinator message is sent to
announce the identity of the elected process – the new ‘coordinator’.
10. Compare Virtual ring and Bully algorithm.
Election
algorithm
|
Number of messages
|
Problems
|
Virtual ring
|
2N to 3N-1
|
Don’t tolerate faults
|
Bully
|
N-2 to O(N2)
|
System must be synchronous
|
11. What is meant by
negative acknowledgement?
Processes send a separate response message only when they
detect that they have missed a message. A response indicating the absence of an
expected message is known as a negative acknowledgement.
12. What are the
requirements for interactive consistency?
The requirements for interactive consistency are:
Termination: Eventually each correct process sets its
decision variable.
Agreement: The decision vector of all correct
processes is the same.
Integrity: If pi is correct, then all correct
processes decide on vi as the ith component of their vector.
13. Define Election.
In general, all processes in the distributed system are
equally suitable for the role. Election algorithms are designed to choose a
coordinator. Afterwards, if the process that plays the role of server wishes to
retire then another election is required to choose a replacement.
UNIT V
1. What is meant by DSM?
Distributed
shared memory (DSM), is an abstraction used for sharing data between processes
in computers that do not share physical memory. DSM is primarily a tool for
parallel applications or for any distributed application or group of
applications in which individual shared
data items can be accessed directly
2.
Differentiate between DSM and message passing.
DSM
|
Message passing
|
Variables
are shared directly
|
Variables
have to be marshalled yourself
|
Processes
can cause error to one another by altering data
|
Processes
are protected from one another by having private address spaces
|
Processes
may execute with non-overlapping lifetimes
|
Processes
must execute at the same time
|
Invisibility
of communication’s cost
|
Cost of
communication is obvious
|
3. What is the main aim of release consistency?
The idea of
release consistency is to reduce DSM overheads by exploiting the fact that
programmers use synchronization objects such as semaphores, locks and barriers.
4. What are
the types of memory access?
- Competing accesses
- Non-competing or ordinary
accesses
5. What are the requirements for release consistency?
Release-consistent
memory is designed to satisfy these requirements.
- Before any ordinary read or write access
to shared data may be performed, all previous acquires done by the
process must have completed successfully.
- Before a release operation may be
performed, all previous ordinary reads and writes done by the process must
have been performed.
- Acquire and release operations must be
performed in "processor
consistency" order.
6. Write the steps needs to apply for munin’s implementation
of release consistency.
Ø Munin sends upadte or invalidation
information as soon as lock is released.
Ø programmers can take annotations
that associate a lock with particular data items.
7. What is meant by uniform models and hybrid models?
Models of
memory consistency can be divided into uniform models, which do not
distinguish between types of memory access, and hybrid models, which do
distinguish between ordinary and synchronization accesses.
8. What is meant by processor consistency?
The memory
is both coherent and adheres to the pipelined RAM model. The simplest way to
think of processor consistency is that the memory is coherent and that all
processes agree on the ordering of any two write accesses made by the same
process – that is, they agree with its program order.
9. What is
meant by scope consistency?
In scope
consistency, variables are associated with synchronization objects largely
automatically instead of relying on the programmer to associate locks with
variables explicitly. For example, the system can monitor which variables are
updated in a critical section.
10. What is meant by weak consistency?
Weak
consistency does not distinguish between acquire and release synchronization
accesses. One of its guarantees is that all previous ordinary accesses complete
before either type of synchronization access completes