SlideShare a Scribd company logo
OPERATING
SYSTEM: CSET209
OUTLINE
 Distributed Systems
 Network vs Distributed OS
 RPC its structure and working
 Sun RPC and XDR
1. DISTRIBUTED OPERATING SYSTEM S
• A distributed operating system is system software over a collection of
independent, networked, communicating, and physically separate
computational nodes.
• The distributed operating system manages a set of independent, networked,
communicating computers and makes them look like an ordinary centralized
operating system. Its main objective is to manage hardware resources.
Few examples of a distributed OS are as follows: AIX
operating system for IBM RS/6000 computers. Solaris
operating system for SUN multiprocessor workstations
DISTRIBUTED OPERATING SYSTEM
S
Advantages of Distributed OS
• The distributed operating system provides sharing of resources.
• This type of system is fault-tolerant.
Disadvantages of Distributed OS
• Protocol overhead can dominate computation cost.
2. NETWORK OPERATING SYSTEM
S
• Network operating systems are server-based operating systems that provide networking-
related functionality. Its primary objective is to give local services to remote users. It's all
nodes can have a different operating system.
Examples of Network Operating System are: Microsoft
Windows Server 2003, Microsoft Windows Server
2008, UNIX, Linux
• It can be used for providing file server, email
server etc. services over the network.
NETWORK OPERATING SYSTEM
S
Advantages of Network OS
• In this type of operating system, network traffic reduces due to the division between
clients and the server.
• This type of system is less expensive to set up and maintain.
Disadvantages of Network OS
• In this type of operating system, the failure of any node in a system affects the whole
system.
• Security and performance are important issues. So trained network administrators are
required for network administration.
S.NO Network Operating System Distributed Operating System
1.
Network Operating System’s main objective is to provide
the local services to remote client.
Distributed Operating System’s main objective is to manage the
hardware resources.
2.
In Network Operating System, Communication takes place
on the basis of files.
In Distributed Operating System, Communication takes place on
the basis of messages and shared memory.
3.
Network Operating System is more scalable than
Distributed Operating System.
Distributed Operating System is less scalable than Network
Operating System.
4. In Network Operating System, fault tolerance is less. While in Distributed Operating System, fault tolerance is high.
5.
Ease of implementation in Network Operating System is
also high.
While in Distributed Operating System Ease of implementation is
less.
6.
In Network Operating System,All nodes can have different
operating system.
While in Distributed Operating System,All nodes have same
operating system.
NETWORKVS DISTRIBUTED OPERATING SYSTEM
NOS VS DOS IN TERMS OF SYSTEM DESIGN AND USER EXPERIENCE.
Feature Network Operating System (NOS)
Distributed Operating System
(DOS)
Architecture
Loosely coupled; each node has its
own OS.
Tightly integrated; appears as one
system.
Resource Management
Each system manages its own
resources independently.
Centralized/global resource
management across nodes.
Communication
Users or applications explicitly
manage communication (e.g., file
sharing, remote login).
Communication is handled
transparently by the system.
Scalability
Easier to scale by adding new
independent systems.
More complex to scale due to
coordination overhead.
Fault Tolerance
Failures affect only the affected
system.
Can provide higher fault tolerance via
redundancy and replication.
System Design
NOS VS DOS IN TERMS OF SYSTEM DESIGN AND USER EXPERIENCE.
User Experience
Feature Network Operating System (NOS)
Distributed Operating System
(DOS)
Transparency
Low; users are aware of multiple
systems (e.g., accessing remote
resources manually).
High; users see the system as a single
cohesive unit.
File System
Separate file systems per machine;
user must specify remote access paths.
Unified file system; files can be
accessed without knowing their
physical location.
Process Management
Users manage processes on individual
systems.
System can schedule and migrate
processes transparently across
machines.
Ease of Use
More effort needed to interact with
remote resources.
Easier, as all resources seem local.
3. REMOTE PROCEDURE CALL (RPC) PROTOCOL IN DISTRIBUTED SYSTEM
 Remote Procedure Call is
a software communication
protocol that one program can use
to request a service from a program
located in another computer on
a network without having to
understand the network's details.
 RPC uses the client-server model.
 NOTE: RPC is especially well
suited for client-server (e.g. query-
response) interaction in which the
flow of control alternates between
the caller and callee.
 Example Applications: Remote
file and database access, remote
monitoring program control,
remote error logging etc.
TYPES OF PARAMETER PASSING IN RPC
• Call-by-Value: A copy of the data is sent to the remote server. Changes made
on the server do not affect the original variable on the client.
• Call-by-Reference: Instead of copying, a reference to the data is passed.
However, true call-by-reference is not feasible across networks, so it’s usually
simulated using handles or additional communication.
• Call-by-Result: Only the output result is returned to the caller.
• Call-by-Value-Result: Combines call-by-value and call-by-result—parameters
are sent and updated values are returned.
IMPORTANCE OF PARAMETER PASSING IN RPC
Transparency:
• Goal: RPC aims to make remote calls as similar to local calls as possible.
• Proper parameter passing ensures interface transparency, hiding the complexities of data
transmission from the developer.
• Issues like data marshalling (converting parameters to a transmittable format) and unmarshalling are
handled by the RPC mechanism to preserve this abstraction.
Correctness:
• Incorrect parameter handling (e.g., not considering differences in data representation or endianness)
can lead to bugs or crashes.
• Ensures that input/output semantics are preserved across different systems.
Efficiency:
• Large or complex parameters can cause performance bottlenecks due to serialization overhead and
network latency.
• Efficient marshalling, minimizing data transfer, and avoiding unnecessary parameter copies are
critical for performance.
Aspect Impact of Parameter Passing
Transparency
Makes the remote procedure call appear like a local one;
poor parameter handling breaks this illusion.
Efficiency
Affects serialization/deserialization cost, network usage,
and processing time on both client and server sides.
Robustness
Impacts error handling and fault tolerance in case of
transmission or format mismatches.
Effects on Transparency and Efficiency
HOW TO MAKE A REMOTE PROCEDURE CALL?
 The following steps take place during a RPC :
1. A client invokes a client stub procedure, passing parameters in the
usual way. The client stub resides within the client’s own address
space.
2. The client stub marshalls(pack) the parameters into a message.
Marshalling includes converting the representation of the parameters
into a standard format, and copying each parameter into the message.
3. The client stub passes the message to the transport layer, which sends it
to the remote server machine.
4. On the server, the transport layer passes the message to a server stub,
which demarshalls(unpack) the parameters and calls the desired
server routine using the regular procedure call mechanism.
5. When the server procedure completes, it returns to the server stub (e.g.,
via a normal procedure call return), which marshalls the return
values into a message. The server stub then hands the message to the
transport layer.
6. The transport layer sends the result message back to the client transport
layer, which hands the message back to the client stub.
7. The client stub demarshalls the return parameters and execution returns
to the caller.
ISSUES AND CHALLENGES IN RPC
 1. RPC Runtime:
RPC run-time system is a library of routines and a set of services that handle the network communications
that underlie the RPC mechanism. In the course of an RPC call, client-side and server-side run-time systems’
code handle binding, establish communications over an appropriate protocol, pass call data between the
client and server, and handle communications errors.
 2. Stub:
The function of the stub is to provide transparency to the programmer-written application code.
• On the client side, the stub handles the interface between the client’s local procedure call and the run-time
system, marshaling and unmarshalling data, invoking the RPC run-time protocol, and if requested, carrying
out some of the binding steps.
• On the server side, the stub provides a similar interface between the run-time system and the local manager
procedures that are executed by the server.
 3. Binding: How does the client know who to call, and where the service resides?
The most flexible solution is to use dynamic binding and find the server at run time when the RPC is first
made.
FEATURES OF RPC
In an operating system, remote procedure call (RPC) has the following
features, such as:
RPC hides the complexity of the message passing process from the user.
RPC only uses specific layers of the OSI model like the transport layer.
Clients can communicate with the server by using higher-level languages.
RPC works well with both local environments and remote environments.
4 SUN RPC AND ROLE OF XDR
• The first popular implementation of RPC on Unix was Sun's RPC (now called ONC
RPC), used as the basis for Network File System (NFS).
• Role of XDR in Sun RPC: RPC package uses XDR (eXternal Data Representation)
to represent data sent between client and server stubs.
• In Sun RPC The XDR (eXternal Data Routines) are responsible for
marshalling/unmarshalling procedure parameters onto/from XDR streams.
THANKYOU
?

More Related Content

PPTX
Communication in Distributed Systems
PPT
Communication in Distributed System.ppt
PPT
Rpc (Distributed computing)
PPTX
CHP-4.pptx
PDF
5. Distributed Operating Systems
PPTX
Remote procedure call
PPT
Chapter 2B-Communication.ppt
PPTX
Chapter 2- distributed system Communication.pptx
Communication in Distributed Systems
Communication in Distributed System.ppt
Rpc (Distributed computing)
CHP-4.pptx
5. Distributed Operating Systems
Remote procedure call
Chapter 2B-Communication.ppt
Chapter 2- distributed system Communication.pptx

Similar to Distributed, Network System and RPC.pptx (20)

PPT
DS-Chapter DDEFR2-Communication_105220.ppt
PPTX
Middleware in Distributed System-RPC,RMI
PDF
Cs556 section3
PDF
Cs556 section3
DOCX
Remote Procedure Call
PDF
Sun RPC (Remote Procedure Call)
PPT
2.communcation in distributed system
PPTX
RPC: Remote procedure call
PDF
CS9222 ADVANCED OPERATING SYSTEMS
PDF
Task communication
PDF
20CS2021-Distributed Computing module 2
PDF
20CS2021 Distributed Computing
DOC
Remote procedure calls
PPTX
Distributed Systems Distributed Systems- COMMUNICATION.pptx
PPTX
Dos(rpc)avishek130650107020
PPTX
Cs 704 d rpc
PDF
18CS3040_Distributed Systems
PDF
18CS3040 Distributed System
PPTX
Message Passing, Remote Procedure Calls and Distributed Shared Memory as Com...
DS-Chapter DDEFR2-Communication_105220.ppt
Middleware in Distributed System-RPC,RMI
Cs556 section3
Cs556 section3
Remote Procedure Call
Sun RPC (Remote Procedure Call)
2.communcation in distributed system
RPC: Remote procedure call
CS9222 ADVANCED OPERATING SYSTEMS
Task communication
20CS2021-Distributed Computing module 2
20CS2021 Distributed Computing
Remote procedure calls
Distributed Systems Distributed Systems- COMMUNICATION.pptx
Dos(rpc)avishek130650107020
Cs 704 d rpc
18CS3040_Distributed Systems
18CS3040 Distributed System
Message Passing, Remote Procedure Calls and Distributed Shared Memory as Com...
Ad

Recently uploaded (20)

PPTX
additive manufacturing of ss316l using mig welding
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
Well-logging-methods_new................
PPTX
Sustainable Sites - Green Building Construction
PPTX
Geodesy 1.pptx...............................................
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
Lesson 3_Tessellation.pptx finite Mathematics
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PDF
PPT on Performance Review to get promotions
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
Construction Project Organization Group 2.pptx
PPTX
web development for engineering and engineering
additive manufacturing of ss316l using mig welding
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
Well-logging-methods_new................
Sustainable Sites - Green Building Construction
Geodesy 1.pptx...............................................
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Lesson 3_Tessellation.pptx finite Mathematics
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Foundation to blockchain - A guide to Blockchain Tech
PPT on Performance Review to get promotions
CYBER-CRIMES AND SECURITY A guide to understanding
Operating System & Kernel Study Guide-1 - converted.pdf
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Construction Project Organization Group 2.pptx
web development for engineering and engineering
Ad

Distributed, Network System and RPC.pptx

  • 2. OUTLINE  Distributed Systems  Network vs Distributed OS  RPC its structure and working  Sun RPC and XDR
  • 3. 1. DISTRIBUTED OPERATING SYSTEM S • A distributed operating system is system software over a collection of independent, networked, communicating, and physically separate computational nodes. • The distributed operating system manages a set of independent, networked, communicating computers and makes them look like an ordinary centralized operating system. Its main objective is to manage hardware resources. Few examples of a distributed OS are as follows: AIX operating system for IBM RS/6000 computers. Solaris operating system for SUN multiprocessor workstations
  • 4. DISTRIBUTED OPERATING SYSTEM S Advantages of Distributed OS • The distributed operating system provides sharing of resources. • This type of system is fault-tolerant. Disadvantages of Distributed OS • Protocol overhead can dominate computation cost.
  • 5. 2. NETWORK OPERATING SYSTEM S • Network operating systems are server-based operating systems that provide networking- related functionality. Its primary objective is to give local services to remote users. It's all nodes can have a different operating system. Examples of Network Operating System are: Microsoft Windows Server 2003, Microsoft Windows Server 2008, UNIX, Linux • It can be used for providing file server, email server etc. services over the network.
  • 6. NETWORK OPERATING SYSTEM S Advantages of Network OS • In this type of operating system, network traffic reduces due to the division between clients and the server. • This type of system is less expensive to set up and maintain. Disadvantages of Network OS • In this type of operating system, the failure of any node in a system affects the whole system. • Security and performance are important issues. So trained network administrators are required for network administration.
  • 7. S.NO Network Operating System Distributed Operating System 1. Network Operating System’s main objective is to provide the local services to remote client. Distributed Operating System’s main objective is to manage the hardware resources. 2. In Network Operating System, Communication takes place on the basis of files. In Distributed Operating System, Communication takes place on the basis of messages and shared memory. 3. Network Operating System is more scalable than Distributed Operating System. Distributed Operating System is less scalable than Network Operating System. 4. In Network Operating System, fault tolerance is less. While in Distributed Operating System, fault tolerance is high. 5. Ease of implementation in Network Operating System is also high. While in Distributed Operating System Ease of implementation is less. 6. In Network Operating System,All nodes can have different operating system. While in Distributed Operating System,All nodes have same operating system. NETWORKVS DISTRIBUTED OPERATING SYSTEM
  • 8. NOS VS DOS IN TERMS OF SYSTEM DESIGN AND USER EXPERIENCE. Feature Network Operating System (NOS) Distributed Operating System (DOS) Architecture Loosely coupled; each node has its own OS. Tightly integrated; appears as one system. Resource Management Each system manages its own resources independently. Centralized/global resource management across nodes. Communication Users or applications explicitly manage communication (e.g., file sharing, remote login). Communication is handled transparently by the system. Scalability Easier to scale by adding new independent systems. More complex to scale due to coordination overhead. Fault Tolerance Failures affect only the affected system. Can provide higher fault tolerance via redundancy and replication. System Design
  • 9. NOS VS DOS IN TERMS OF SYSTEM DESIGN AND USER EXPERIENCE. User Experience Feature Network Operating System (NOS) Distributed Operating System (DOS) Transparency Low; users are aware of multiple systems (e.g., accessing remote resources manually). High; users see the system as a single cohesive unit. File System Separate file systems per machine; user must specify remote access paths. Unified file system; files can be accessed without knowing their physical location. Process Management Users manage processes on individual systems. System can schedule and migrate processes transparently across machines. Ease of Use More effort needed to interact with remote resources. Easier, as all resources seem local.
  • 10. 3. REMOTE PROCEDURE CALL (RPC) PROTOCOL IN DISTRIBUTED SYSTEM  Remote Procedure Call is a software communication protocol that one program can use to request a service from a program located in another computer on a network without having to understand the network's details.  RPC uses the client-server model.  NOTE: RPC is especially well suited for client-server (e.g. query- response) interaction in which the flow of control alternates between the caller and callee.  Example Applications: Remote file and database access, remote monitoring program control, remote error logging etc.
  • 11. TYPES OF PARAMETER PASSING IN RPC • Call-by-Value: A copy of the data is sent to the remote server. Changes made on the server do not affect the original variable on the client. • Call-by-Reference: Instead of copying, a reference to the data is passed. However, true call-by-reference is not feasible across networks, so it’s usually simulated using handles or additional communication. • Call-by-Result: Only the output result is returned to the caller. • Call-by-Value-Result: Combines call-by-value and call-by-result—parameters are sent and updated values are returned.
  • 12. IMPORTANCE OF PARAMETER PASSING IN RPC Transparency: • Goal: RPC aims to make remote calls as similar to local calls as possible. • Proper parameter passing ensures interface transparency, hiding the complexities of data transmission from the developer. • Issues like data marshalling (converting parameters to a transmittable format) and unmarshalling are handled by the RPC mechanism to preserve this abstraction. Correctness: • Incorrect parameter handling (e.g., not considering differences in data representation or endianness) can lead to bugs or crashes. • Ensures that input/output semantics are preserved across different systems. Efficiency: • Large or complex parameters can cause performance bottlenecks due to serialization overhead and network latency. • Efficient marshalling, minimizing data transfer, and avoiding unnecessary parameter copies are critical for performance.
  • 13. Aspect Impact of Parameter Passing Transparency Makes the remote procedure call appear like a local one; poor parameter handling breaks this illusion. Efficiency Affects serialization/deserialization cost, network usage, and processing time on both client and server sides. Robustness Impacts error handling and fault tolerance in case of transmission or format mismatches. Effects on Transparency and Efficiency
  • 14. HOW TO MAKE A REMOTE PROCEDURE CALL?  The following steps take place during a RPC : 1. A client invokes a client stub procedure, passing parameters in the usual way. The client stub resides within the client’s own address space. 2. The client stub marshalls(pack) the parameters into a message. Marshalling includes converting the representation of the parameters into a standard format, and copying each parameter into the message. 3. The client stub passes the message to the transport layer, which sends it to the remote server machine. 4. On the server, the transport layer passes the message to a server stub, which demarshalls(unpack) the parameters and calls the desired server routine using the regular procedure call mechanism. 5. When the server procedure completes, it returns to the server stub (e.g., via a normal procedure call return), which marshalls the return values into a message. The server stub then hands the message to the transport layer. 6. The transport layer sends the result message back to the client transport layer, which hands the message back to the client stub. 7. The client stub demarshalls the return parameters and execution returns to the caller.
  • 15. ISSUES AND CHALLENGES IN RPC  1. RPC Runtime: RPC run-time system is a library of routines and a set of services that handle the network communications that underlie the RPC mechanism. In the course of an RPC call, client-side and server-side run-time systems’ code handle binding, establish communications over an appropriate protocol, pass call data between the client and server, and handle communications errors.  2. Stub: The function of the stub is to provide transparency to the programmer-written application code. • On the client side, the stub handles the interface between the client’s local procedure call and the run-time system, marshaling and unmarshalling data, invoking the RPC run-time protocol, and if requested, carrying out some of the binding steps. • On the server side, the stub provides a similar interface between the run-time system and the local manager procedures that are executed by the server.  3. Binding: How does the client know who to call, and where the service resides? The most flexible solution is to use dynamic binding and find the server at run time when the RPC is first made.
  • 16. FEATURES OF RPC In an operating system, remote procedure call (RPC) has the following features, such as: RPC hides the complexity of the message passing process from the user. RPC only uses specific layers of the OSI model like the transport layer. Clients can communicate with the server by using higher-level languages. RPC works well with both local environments and remote environments.
  • 17. 4 SUN RPC AND ROLE OF XDR • The first popular implementation of RPC on Unix was Sun's RPC (now called ONC RPC), used as the basis for Network File System (NFS). • Role of XDR in Sun RPC: RPC package uses XDR (eXternal Data Representation) to represent data sent between client and server stubs. • In Sun RPC The XDR (eXternal Data Routines) are responsible for marshalling/unmarshalling procedure parameters onto/from XDR streams.