Distributed System Bank
Distributed System Bank
1] Introduction
Q-1] What is Distributed Computing System?
Q-2] Distributed computing system models.
Q-3] Why distributed computing system gaining popularity.
Q-4] What is distributed operating system.
Q-5] Explain Distributed Computing Environment?
Q-6] Explain Message Passing System and its features.
Q-7] Explain:
1] Synchronization 2] Buffering
Q-8] Explain Process Addressing.
1] Introduction
3] Workstation-Server Model:
1] The workstation model is a network of personal
workstations.
2] A distributed computing system based on the
workstation server model consists of a few
minicomputers and several workstations
interconnected by a communication network.
3] Each minicomputer as a server machine.
4] The V-System is based on the workstation-server
model.
4] Processor-Pool Model:
1] Processor-pool model consist of large number of
minicomputers.
2] In this model, run server and file server interconnected to
communication network.
5] Hybrid Model:
1] Hybrid model is combined of workstation-server and processor
pool model.
2] The processors in the pool can be allotted dynamically.
3] Hybrid model gives granted response to interactive jobs.
4] Hybrid model is more expensive to implement.
DCE Components:
1] Threads Package
2] Remote Procedure Call
3] Name Services
4] Security Services
5] Distribute file service
6] Distribute time service
1] Local communication
2] remote communication
3] Efficiency:
1] Efficiency is critical issues for message passing.
2] Message passing system is not efficient.
4] Correctness:
1] Correctness is feature related to IPC protocols for Group communication.
2] Issues related to correctness as follows:
1] Atomicity
2] Ordered delivery
5] Security:
A good message system capable of providing a secure end to end communication.
6] Portability:
The Message-passing system should itself by portable.
1] Address:
1] It contains character that uniquely identify the sending and receiving processes
in the network.
2] It has 2 parts:
1] Sending process address
2] Receiving process address
2] Sequence number:
It is useful for identifying lost message and duplicate message.
3] Structural information:
1] This element has two parts.
2] Element specifies length of variable size data.
In design of IPC protocol for message passing system, the following issues need to be
considered:
1] Who is the sender?
2] Who is the receiver?
3] Is there one receiver or many receivers?
These issues are addressed by message-oriented IPC protocol.
Q-7] Explain:
1] Synchronization:
1] A central issue in the communication structure is the synchronization
imposed on the communicating processes by the communication primitives.
2] The semantics used for synchronization may be broadly classified as
blocking and non-blocking types.
2] Buffering:
1] Messages can be transmitted from one
process to another by copying the body of the
message from the address space of the sending
process to the address space of the receiving
process.
2] In inter process communication, the
message-buffering strategy is strongly related to
synchronization strategy.
These Three types of buffering strategies are:
1] No buffering
2] Single message buffer
3] Multiple message buffer
With the two basic types of process addressing used in communication primitives.
2] Remote Procedure Calls
Types of RPC:
• Call-back RPC
• Broadcast RPC
• Batch-mode RPC
1] The caller sends a call message to the callee and waits for a reply message.
2] The request message contains the remote procedure's parameters.
3] The server process executes the procedure and then returns the result of procedure
execution in a reply message to the client process.
4] Once the reply message is received, the result of procedure execution is extracted, and
the caller's execution is resumed.
Transparency of RPC:
A transparent RPC mechanism is one in which local procedures and remote procedures
are indistinguishable to programmers.
This requires the following two types of transparencies:
1. Syntactic transparency
2. Semantic transparency
1] Client:
The client is a user process that initiates a remote procedure call. To make a remote
procedure call, the client makes a perfectly normal local call that invokes a corresponding
procedure in the client stub.
2] Client Stub:
The client stub is responsible for carrying out the following two tasks:
1] On receipt of a call request from the client
2] On receipt of the result of procedure execution
3] RPC Runtime:
The RPC Runtime handles transmission of messages across the network between
client and server machines. It is responsible for retransmissions, packet routing, and
encryption.
4] Server Stub:
The job of the server stub is very similar to the client stub
5] Server:
On receiving a call request from the server stub, the server executes the appropriate
procedure and returns the result to the server stub.
2] Reply Message:
When the server of an RPC receives a call message from a client, it could be faced
with one condition.
Q-4] Explain parameter passing semantics.
1] The choice of parameter-passing semantics is crucial to the design of an RPC
mechanism.
2] The two choices are call-by-value and call-by-reference.
1] Call by value:
In call by value method, all parameters are copied into a message that is transmitted
from the client to the server through the intervening network.
This poses no problems for simple compact types such as integers, counters, small
arrays, and so on.
Therefore, this method is not suitable for passing parameters involving voluminous
data.
2] Call by reference
Most RPC mechanisms use the call-by-value semantics for parameter passing.
The call-by-reference semantics is known as call-by-object-reference.
3] Mutual exclusion:
An algorithm for implementing mutual exclusion satisfy the following requirements:
1. Mutual exclusion: Given a shared resource accessed by multiple concurrent
processes, at any time only one process should access the resource.
2. No starvation: If every process that is granted the resource eventually releases it,
every request must be eventually granted.
4] Deadlock:
The sequence of events required to use a resource by a process is as follows:
1. Request: The process first makes a request for the resource.
2. Allocate: The system allocates the resource to the requesting process as soon as
possible.
3. Release: After the process has finished using the allocated resource, it releases the
resource to the system.
5] Election algorithm:
Election algorithms are based on the following assumptions:
1. Each process in the system has a unique priority number.
2. Whenever an election is held, the process having the highest priority number
among the currently active processes is elected as the coordinator.
3. On recovery, a failed process can take appropriate actions to re-join the set of
active processes.
5] Distributed File System
Q-1] What is distributed file system and Features of a good distributed file system.
1] A file system is a subsystem of an operating system that performs file management
activities such as organization, storing, retrieval, sharing, and protection of files.
2] A file system provides an abstraction of a storage device.
A distributed file system supports the following:
1] Remote information sharing
2] User mobility
3] Availability
2] User mobility:
In a distributed system, a user should not be forced to work on a specific node but
should have the flexibility to work on different nodes at different times.
3] Performance:
The performance of a file system is usually measured as the average amount of time
needed to satisfy client requests.
4] Simplicity:
Several issues influence the simplicity and ease of use of a distributed file system.
The most important issue is that the semantics of the distributed file system.
5] Scalability:
A good distributed file system should be designed to easily cope with the growth of
nodes and users in the system.
6] High availability:
A distributed file system should continue to function even when failure of one or
more components.
Q-2] Explain file models.
Different file systems use different conceptual models of a file.
The two most commonly used criteria for file modelling are structure and
modifiability.
1] Unstructured and Structured Files:
1] A file is an unstructured sequence of data.
2] In this model, there is no substructure known to the file server and the contents
of each file of the file system appears to the file server as an uninterpreted
sequence of bytes.
3] The operating system is not interested in the information stored in the files.
4] UNIX and MS-DOS use this file model.
5] Another file model that is rarely used nowadays is the structured file model. In
this model, a file appears to the file server as an ordered sequence of records.
6] Records of different files of the same file system can be of different size.
7] Therefore, many types of files exist in a file system, each having different
properties.
2] Mutable and Immutable Files:
1] Files According to the modifiability criteria, files are of two types-mutable and
immutable.
2] Most existing operating systems use the mutable file model.
3] In this model, an update performed on a file overwrites on its old contents to
produce the new contents.
4] A file is represented as a single stored sequence that is altered by each update
operation.
4] Resource Management
Q-3] Explain:
1] Task Assignment Approach:
1] In this approach, a process is considered to be composed of multiple tasks
and the goal is to find an optimal assignment policy for the tasks of an individual
process.
Typical assumptions found in task assignment work are as follows:
• A process has already been split into pieces called tasks.
• The amount of computation required by each task and the speed of each processor
are known.
• The cost of processing each task on every node of the system is known.
• The inter process communication costs between every pair of tasks is known.
2] Load Balancing Approach:
1] The scheduling algorithms using this
approach are known as load-balancing
algorithms.
2] These algorithms are also known as
load-levelling algorithm.
A Taxonomy of load-Balancing Algorithms:
1] Static versus Dynamic
2] Deterministic versus