0% found this document useful (0 votes)
3 views4 pages

Module 8

A Distributed Operating System (DOS) manages multiple independent computers to appear as a single system, focusing on goals like transparency, resource sharing, scalability, fault tolerance, and security. It utilizes Remote Procedure Calls (RPC) for communication, allowing remote execution of procedures, while name resolution and clock synchronization are essential for efficient operation and consistency in distributed environments. Key mechanisms include DNS for name resolution and protocols like NTP for clock synchronization, ensuring reliable and secure interactions across the network.
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)
3 views4 pages

Module 8

A Distributed Operating System (DOS) manages multiple independent computers to appear as a single system, focusing on goals like transparency, resource sharing, scalability, fault tolerance, and security. It utilizes Remote Procedure Calls (RPC) for communication, allowing remote execution of procedures, while name resolution and clock synchronization are essential for efficient operation and consistency in distributed environments. Key mechanisms include DNS for name resolution and protocols like NTP for clock synchronization, ensuring reliable and secure interactions across the network.
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
You are on page 1/ 4

MODULE 8: DISTRIBUTED OPERATING SYSTEM

1. Introduction to Distributed Operating System

A Distributed Operating System (DOS) is an OS that manages multiple independent


computers and makes them appear as a single system to users. It enables resource sharing,
parallel processing, and improved fault tolerance.

1.1 Goals of a Distributed Operating System

The primary objectives of a Distributed OS are:

1. Transparency:

o Access Transparency: Users can access resources without knowing their


physical location.

o Location Transparency: Users do not need to know where a resource is stored.

o Replication Transparency: The system hides the fact that multiple copies of a
resource exist.

o Concurrency Transparency: Multiple processes can access shared resources


without conflicts.

o Failure Transparency: The system should continue functioning even if some


nodes fail.

2. Resource Sharing:

o Distributed OS enables sharing of hardware resources (CPU, memory,


storage) and software resources (files, databases, applications) across
multiple systems.

3. Scalability:

o The system should handle an increasing number of nodes without performance


degradation.

4. Fault Tolerance & Reliability:

o If one node fails, another node should take over, ensuring system reliability.

5. Security:

o A distributed OS must provide secure authentication, encryption, and access


control mechanisms.

2. Remote Procedure Call (RPC)

2.1 What is Remote Procedure Call?

• Remote Procedure Call (RPC) is a communication method that allows a program to


execute a procedure (function) on a remote system as if it were a local procedure.
• The caller does not need to worry about network communication, as the system
handles data transmission.

2.2 Working of RPC

1. Client Process: Calls the remote procedure.

2. Stub (Client-side): Converts the procedure call into a network request.

3. Network Transmission: The request is sent to the server.

4. Stub (Server-side): Receives the request, processes it, and calls the actual procedure.

5. Procedure Execution: The server executes the requested function.

6. Response Transmission: The result is sent back to the client.

7. Client Stub Receives the Response: Converts it back into a format the client
understands.

2.3 Advantages of RPC

• Simplicity: Makes remote calls look like local function calls.

• Encapsulation: Hides the details of network communication.

• Interoperability: Allows different systems to communicate (e.g., Windows calling a


Linux service).

2.4 Disadvantages of RPC

• Network Latency: Delays due to network transmission.

• Failures: If the network or remote server fails, the RPC call cannot be completed.

• Security Concerns: Data transfer over networks can be intercepted.

3. Name Resolution

3.1 What is Name Resolution?

• In a distributed system, each machine has a unique name or address for


communication.

• Name resolution is the process of mapping human-readable names (e.g.,


www.google.com) to system-recognized addresses (e.g., 142.250.180.14).

3.2 Types of Name Resolution

1. Host-based Name Resolution:

o Uses a local file (/etc/hosts) for name-to-address mapping.

2. Domain Name System (DNS):

o A hierarchical, distributed naming system that resolves domain names to IP


addresses.
3. Directory Services (LDAP, Active Directory):

o Used in enterprise networks for name-to-address mapping of users, devices,


and services.

3.3 Importance of Name Resolution

• Simplifies communication: Users can access systems using names instead of numeric
addresses.

• Ensures scalability: Large networks use DNS for efficient name resolution.

• Enhances security: Authentication and access control can be linked to name


resolution.

4. Clock Synchronization

4.1 Why is Clock Synchronization Needed?

• In a distributed system, each machine has its own clock, leading to time differences
due to drift.

• Applications like distributed databases, logging, and event ordering require


synchronized clocks to function correctly.

4.2 Types of Clock Synchronization

1. External Synchronization:

o All machines synchronize their clocks to an external time source (e.g., Network
Time Protocol (NTP)).

2. Internal Synchronization:

o Machines synchronize their clocks relative to each other to maintain a


consistent time across the system.

4.3 Clock Synchronization Algorithms

A. Cristian’s Algorithm (Client-Server Model)

• A client requests the current time from a time server.

• The server sends its clock value.

• The client adjusts its time considering network delays.

• Works well when network delay is small and predictable.

B. Berkeley’s Algorithm (Master-Slave Model)

• Used when there is no external time source.

• One machine (Master) periodically polls all nodes and calculates the average time.

• The master instructs all machines to adjust their clocks accordingly.


C. Network Time Protocol (NTP)

• A widely used protocol for clock synchronization over the Internet.

• Uses a hierarchy of time servers (Stratum 1, Stratum 2, etc.).

• Adjusts for network delays to provide high-accuracy synchronization.

4.4 Importance of Clock Synchronization

• Ensures consistency in distributed transactions.

• Prevents data corruption due to incorrect timestamps.

• Enables accurate logging and debugging.

• Supports security mechanisms, such as time-based authentication.

You might also like