2/15/26, 12:11 AM Distributed Systems Overview
Definition (Distributed Operating System):
A Distributed Operating System (DOS) is an operating system that manages multiple
independent computers connected through a network and makes them appear to users as
a single unified system.
Definition (Centralized System):
A Centralized System is a computing system where all processing and resource
management are handled by a single computer.
Differences
Feature Distributed OS Centralized System
Number of Machines Many computers Single computer
Resource Sharing Across network Within same machine
Fault Tolerance Higher Lower
Scalability Easy to expand Limited
User View Single system image Single machine only
(b) Show the taxonomy of load-balancing algorithms. Discuss the process
transfer policies of load-balancing algorithms.
Answer:
Taxonomy of Load Balancing Algorithms
sql
Load Balancing
├── Static
└── Dynamic
├── Centralized
├── Distributed
├── Sender Initiated
└── Receiver Initiated
[Link] 29/40
2/15/26, 12:11 AM Distributed Systems Overview
Copy code
Static: Decisions made before execution
Dynamic: Decisions made during runtime
Centralized: One node controls balancing
Distributed: All nodes participate
Sender initiated: Overloaded node sends tasks
Receiver initiated: Idle node requests tasks
Process Transfer Policies
Defines when and how processes are moved between nodes.
Threshold-based decision making
Transfer when load exceeds limit
Select suitable process to migrate
Choose destination node with low load
Avoid excessive migration overhead
Question 2:
(a) "Despite the increased complexity and difficulty of building distributed
computing systems, the installation and use of distributed computing systems
are rapidly increasing." Give your opinion regarding this statement and also
point out the specific reasons for your opinion.
Answer:
Opinion:
I agree with the statement.
Reasons
Cost-effective resource sharing
High performance through parallel execution
Scalability for future expansion
Reliability through redundancy
Cloud computing dependency
[Link] 30/40
2/15/26, 12:11 AM Distributed Systems Overview
Supports big data and AI
Remote collaboration capability
(b) Classify the operating systems commonly used for distributed computing
systems. Differentiate between them using the three most important features.
Answer:
Classification
1. Network Operating System (NOS)
2. Distributed Operating System (DOS)
Differences
Feature NOS DOS
User View Multiple systems visible Single system image
Resource Management Local Global
Transparency Low High
(c) Give definition of distributed operating system covering most of the
features mentioned in question 2(b).
Answer:
A Distributed Operating System is an OS that coordinates multiple networked computers
and provides users with a unified system view, managing resources globally and ensuring
transparent access.
Features Covered
Single system image
Global resource scheduling
Transparency
Communication support
Fault tolerance
[Link] 31/40
2/15/26, 12:11 AM Distributed Systems Overview
Question 3:
(a) Briefly describe the two types of system failures depending on the manner
in which a failed system behaves. Which one is more difficult to deal with?
Answer:
1. Fail-stop Failure
System stops completely
Detectable easily
2. Byzantine Failure
System behaves incorrectly
Sends wrong outputs
More difficult: Byzantine failure due to unpredictability.
(b) Distinguish between the Monolithic kernel model and microkernel model.
Answer:
Feature Monolithic Microkernel
Size Large Small
Services Inside kernel Outside kernel
Speed Faster Slower
Reliability Lower Higher
(c) Depict some design principles considered useful for better performance of
a distributed operating system.
Answer:
Transparency
Scalability
[Link] 32/40
2/15/26, 12:11 AM Distributed Systems Overview
Modularity
Fault tolerance
Efficient communication
Load balancing
Reliability
Question 4:
(a) Mention some desirable characteristics of a medium-access control (MAC)
protocol. Elaborately describe the CSMA/CD protocol.
Answer:
Desirable Characteristics
Fairness
Efficiency
Low delay
Stability
Collision resolution
CSMA/CD Protocol
1. Listen before transmitting
2. Send if channel idle
3. Detect collision
4. Stop transmission
5. Wait random time
6. Retry
Used in Ethernet networks.
(b) Discuss about the two basic methods of interprocess communication (IPC).
Answer:
1. Shared Memory
[Link] 33/40
2/15/26, 12:11 AM Distributed Systems Overview
Common memory region
Fast communication
2. Message Passing
Data exchanged via messages
Suitable for distributed systems
Question 5:
(a) What are the desirable features of a good message passing system? Draw
the figure of a typical message structure.
Answer:
Features
Reliability
Security
Synchronization
Efficiency
Flexibility
Message Structure
pgsql
+-----------+-----------+-----------+
| Header | Payload | Control |
+-----------+-----------+-----------+
Copy code
(b) What do you understand by blocking and nonblocking primitives?
Answer:
Blocking: Process waits until communication completes
Nonblocking: Process continues execution immediately
[Link] 34/40
2/15/26, 12:11 AM Distributed Systems Overview
(c) Shortly describe explicit addressing and implicit addressing.
Answer:
Explicit Addressing: Sender specifies receiver ID
Implicit Addressing: Communication via mailbox/port
Question 6:
(a) "The remote procedure call (RPC) has become a widely accepted IPC
mechanism in distributed systems." Why?
Answer:
Simple programming model
Hides networking details
Location transparency
Modularity
Code reuse
(b) Discuss about transparency issue in the design of an RPC facility. Can
semantic transparency ever be achieved? Why?
Answer:
Issues
Network delay
Failures
Data conversion
Partial execution
Semantic Transparency:
Not fully achievable because remote calls differ from local calls.
[Link] 35/40
2/15/26, 12:11 AM Distributed Systems Overview
(c) What is the concept of stub? Draw the figure of implementation of RPC
mechanism.
Answer:
Stub Concept:
A stub is a proxy program that converts procedure calls into network messages.
Diagram
arduino
Client → Client Stub → Network → Server Stub → Server
Copy code
Question 7:
(a) Define stateful servers and stateless servers. Which have advantage &
how?
Answer:
Stateful Server: Maintains client session state
Stateless Server: No session memory
Advantage
Stateless → simpler recovery, scalable
Stateful → efficient interaction
(b) Briefly describe the Request/Reply/Acknowledge-Reply (RRA) protocol
used in RPC. Draw the necessary diagram.
Answer:
Steps
1. Client sends request
2. Server replies
[Link] 36/40
2/15/26, 12:11 AM Distributed Systems Overview
3. Client acknowledges
Diagram
arduino
Client → Request → Server
Client ← Reply ← Server
Client → ACK → Server
Copy code
(c) Give an example of callback deadlock.
Answer:
If:
Client calls server
Server calls client back
Both wait for each other
Deadlock occurs.
Question 8:
(a) Discuss about the general architecture of distributed shared memory
(DSM) system. Draw the necessary figure.
Answer:
Architecture
Multiple nodes share logical memory
Communication via network
Memory manager synchronizes data
Diagram
lua
[Link] 37/40
2/15/26, 12:11 AM Distributed Systems Overview
Node1 ---\
Node2 ---- Network ---- Shared Memory View
Node3 ---/
Copy code
(b) Define consistency model. Mention the main consistency models.
Answer:
Definition:
A consistency model defines rules for visibility of shared data updates.
Main Models
Strict
Sequential
Causal
Weak
Entry
Release
(c) Briefly describe the nonreplicated, migrating blocks (NRMBs) protocol for
implementing the sequential consistency model.
Answer:
Only one copy of block exists
Block migrates to requesting node
Ensures operation order
Maintains sequential consistency
Question 9:
[Link] 38/40
2/15/26, 12:11 AM Distributed Systems Overview
(a) If in a system there are 100 processors and only 10% of the works
processed sequentially. Calculate the speed-up factor and system efficiency.
What change will be made if the number of processor is doubled?
Answer:
Using Amdahl’s Law:
Sequential = 0.1
Parallel = 0.9
Processors = 100
Speedup:
makefile
S = 1 / (0.1 + 0.9/100)
S = 1 / (0.1 + 0.009)
S = 1 / 0.109
S ≈ 9.17
Copy code
Efficiency:
ini
E = S / N
E = 9.17 / 100
E = 0.0917 ≈ 9.17%
Copy code
If processors doubled (200):
makefile
S = 1/(0.1 + 0.9/200)
S = 1/(0.1 + 0.0045)
S ≈ 9.57
Copy code
Small improvement — shows diminishing return.
[Link] 39/40
2/15/26, 12:11 AM Distributed Systems Overview
(b) Considering different features compare and contrast between DOS, NOS
and Middleware.
Answer:
Feature DOS NOS Middleware
System View Single image Multiple systems Integration layer
Resource Mgmt Global Local Partial
Transparency High Low Moderate
Control OS Level Network Level Application Level
Example Role Full management Connectivity Communication support
✅ Done — same format, same style, full questions + clear answers.
If you want next step:
I can turn BOTH sets (previous + this one) into:
✔ Ultra-short revision sheet
✔ Diagram-heavy study notes
✔ Printable exam-ready PDF layout
Just tell me 🙂
[Link] 40/40