0% found this document useful (0 votes)
8 views5 pages

Distributed Systems Question Bank

Uploaded by

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

Distributed Systems Question Bank

Uploaded by

hi9605085355
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Question Bank for Distributed Systems (Simplified)

Chapter 1: Characterization of Distributed Systems

Q1. Explain the characteristics of distributed systems with suitable examples.

Characteristics:
- Concurrency: Explain how multiple programs run simultaneously.
- No Global Clock: Describe the absence of a unified system clock and how events are
coordinated.
- Independent Failures: Discuss the ability of the system to continue functioning even when
some components fail.
Examples: Mention systems like the Internet, cell phone networks, or corporate networks.

Q2. Discuss the key challenges faced in distributed systems and explain how they are
addressed.

Challenges:
- Heterogeneity: Different types of hardware and software coexist within the system.
- Security: Ensuring confidentiality, integrity, and availability.
- Scalability: Managing growth in the number of users or resources.
Approaches to Address Challenges: Highlight the use of middleware for heterogeneity,
encryption for security, and hierarchical structures for scalability.

Q3. Describe the concept of resource sharing in distributed systems with different patterns
of sharing.

Definition of Resource Sharing: Explain how various types of resources (hardware, data,
functionality) are shared.
Patterns of Sharing: Broad sharing (e.g., web search engines) and narrow sharing (e.g.,
CSCW).
Examples of Resource Sharing: Provide examples like file services, printing services, etc.

Q4. Explain the concept of transparency in distributed systems and its types.

Definition of Transparency: Define transparency in the context of distributed systems.


Types of Transparency:
- Access: Local and remote resources accessed similarly.
- Location: Access resources without knowing their location.
- Concurrency: Multiple users sharing resources without interference.
- Replication: Handling multiple resource copies.
- Failure: Concealing faults from users.

Q5. Discuss the concept of client-server computing and its role in distributed systems.

Definition and Roles: Define client-server architecture and describe the roles of the client
and server.
Examples: Provide real-life examples like the World Wide Web or email systems.
Key Characteristics: Mention active clients and passive servers.

Chapter 2: Remote Invocation

Q1. Explain the concept of Remote Procedure Call (RPC) and its significance in distributed
systems.

Definition and Overview: Define RPC as an extension of local procedure calls to distributed
environments. Mention how it allows a calling process to execute a procedure in a remote
node as if it were local.
Transparency in RPC: Discuss transparency in hiding the complexities of communication.
Significance: Highlight benefits such as simplified programming, enhanced modularity, and
ease of development in distributed systems.

Q2. Discuss the Request-Reply protocol and its role in client-server communication.

Overview of Request-Reply Protocol: Define the protocol and explain its synchronous
nature in a typical client-server setup.
Communication Mechanism: Describe the trio of communication primitives (doOperation,
getRequest, sendReply) and their roles.
Examples: Provide examples of situations where synchronous and reliable communication
is crucial, like remote data retrieval or file services.

Q3. Compare and contrast Remote Procedure Call (RPC) and Remote Method Invocation
(RMI).

Definition of RPC and RMI: Briefly describe both concepts and their purposes.
Key Differences: Explain differences such as RPC’s focus on procedure calls, while RMI
extends the concept to object-oriented programming with remote objects.
Commonalities: Mention the use of request-reply protocols and their ability to provide
similar call semantics.

Q4. Describe the different styles of exchange protocols used in remote invocation.

Introduction to Exchange Protocols: Introduce the need for different protocols based on
reliability requirements.
Three Types of Protocols: Explain R (request), RR (request-reply), and RRA (request-reply-
acknowledge reply) protocols, focusing on their behavior in the presence of communication
failures.

Q5. Explain how remote method invocation achieves transparency and fault tolerance.

Transparency in RMI: Discuss how RMI hides the complexities of remote communication,
allowing local and remote calls to have the same syntax.
Fault Tolerance Mechanisms: Describe techniques like retransmission, duplicate filtering,
and at-least-once or at-most-once semantics.
Chapter 3: Distributed File Systems

Q1. Explain the architecture of a distributed file system and describe its main components.

Introduction to Distributed File Systems: Define a distributed file system and its purpose in
allowing remote file access similar to local file systems.
Main Components:
- Client Module: Emulates the conventional file system interface for application programs.
- Flat File Service: Handles operations on the contents of files, uniquely identifying files
using UFIDs.
- Directory Service: Maps text names to UFIDs, supports hierarchical naming, and maintains
consistency across directories.

Q2. Discuss the transparency requirements in distributed file systems and how they are
achieved.

Overview of Transparency: Define transparency in the context of distributed file systems


and its importance.
Types of Transparency:
- Access Transparency: Explain the uniformity in file access operations for local and remote
files.
- Location Transparency: Describe how the file name space remains consistent across all
client computers.
- Mobility Transparency: Explain the ability to move files without impacting client
programs.
- Performance Transparency: Highlight the goal of maintaining consistent file access speed
regardless of varying load conditions.
- Scaling Transparency: Discuss the system’s ability to expand to accommodate increasing
loads and network sizes.

Q3. Explain the file service architecture model and compare it to traditional file systems.

File Service Architecture: Explain the three-component model (client module, flat file
service, directory service) and the interaction between them.
Comparison with Traditional File Systems: Discuss key differences in handling file IDs,
naming, and storage, focusing on the introduction of UFIDs and hierarchical naming.

Q4. Describe the Sun Network File System (NFS) and its role in achieving access
transparency.

Introduction to NFS: Provide a brief overview of NFS and its purpose in distributed systems.
Access Transparency Mechanisms: Discuss how NFS provides seamless access to remote
files using a virtual file system, supporting UNIX system calls, and achieving compatibility
with different operating systems.
Q5. Explain the concept of consistency in distributed file systems and discuss how caching
impacts consistency.

Definition of Consistency: Define consistency in the context of distributed systems and why
it is crucial.
Caching and Its Impact on Consistency: Describe caching techniques in NFS and the Andrew
File System (AFS), highlighting how they maintain an approximation to strict consistency
while allowing client-side caching.

Chapter 4: Name Services

Q1. Explain the basic design and functions of a name service in a distributed system.

Introduction to Name Services: Define name services and explain their role in storing and
resolving names to attributes in a distributed system.
Basic Functions:
- Name Resolution: Discuss the process of translating names into corresponding attributes
or addresses.
- Creating and Deleting Bindings: Explain the operations for adding, deleting, and managing
name bindings.
- Listing Bound Names: Mention the ability to retrieve all names under a specific domain or
context.

Q2. Discuss the importance and implementation of the Domain Name System (DNS).

Introduction to DNS: Define DNS and its role in resolving domain names to IP addresses.
DNS Implementation:
- Hierarchical Name Space: Explain how the DNS organizes domain names in a hierarchical
fashion.
- Zone Management: Discuss the partitioning of the naming database into zones and their
replication.
- Caching: Highlight the role of caching in reducing the load on DNS servers and improving
performance.

Q3. Explain the concept of name resolution and the different methods used for resolving
names.

Definition of Name Resolution: Describe the process of translating a name into data
attributes.
Methods of Name Resolution:
- Iterative Navigation: Explain the step-by-step resolution process where a client contacts
each name server.
- Recursive Navigation: Describe the resolution process where a name server resolves the
entire name and returns the result to the client.

Q4. Compare name services and directory services, highlighting their main differences.
Definition of Name and Directory Services: Define name services and directory services and
their primary functions.
Main Differences: Discuss key differences such as:
- Lookup Criteria: Names in name services vs. attributes in directory services.
- Purpose: Simplifying access to named resources vs. finding resources based on attributes.

Q5. Describe the X.500 Directory Service and its key features.

Overview of X.500 Directory Service: Define X.500 and explain its role in distributed
directory services.
Key Features:
- Hierarchical Naming: Describe the organization of X.500’s naming structure.
- LDAP Support: Highlight the Lightweight Directory Access Protocol (LDAP) as a simplified
version of X.500.
- Attribute-Based Searches: Discuss the capability of looking up objects based on their
attributes.

You might also like