Professional Documents
Culture Documents
→ Light-weight processes (LPWs) bridge the user level and the kernel level.
→ Each process contains one or more LWP, each of which runs one or more threads.
→ Lightweight Remote Procedure Call is a communication facility designed and optimized
for cross-domain communications in microkernel operating systems.
13. Differentiate between asynchronous and synchronous RPC.
Asynchronous RPC Synchronous RPC
Client continues after issuing the RPC The client will block until a reply is returned
request. from server.
Server immediately sends a reply back to the It allows the construction of client-server
client the moment the RPC request is applications, using a demand/response
received, after which it calls the requested protocol with management of
procedure. transactions.
The reply acts as an acknowledgment to the The client is blocked until a response is
client that the server is going to process the returned from the server, or a user-
RPC. The client will continue without further defined optional timeout occurs.
blocking as soon as it has received the server's
acknowledgment.
The system does not guarantee that the RPC guarantees at-most-once semantics for
message has been deposited at the the delivery of the request. It also guarantees
destination location. that the response received by a client is
definitely that of the server and corresponds
effectively to the request
Fig. Client -server interaction in (b) The interaction using asynchronous RPC.
traditional RPC.
Steps in RPC
1. Client procedure calls client stub in normal way
2. Client stub builds message, calls local OS
3. Client's OS sends message to remote OS
4. Remote OS gives message to server stub
5. Server stub unpacks parameters, calls server
6. Server does work, returns result to the stub
7. Server stub packs it in message, calls local OS
8. Server's OS sends message to client's OS
9. Client's OS gives message to client stub
10. Stub unpacks result, returns to client
6. Write in detail about Remote procedure call, message-oriented communication. (10
marks) OR Explain the basic operations of RPC with a neat diagram. (5 marks)
Message oriented communication
→ 1. 2.
2. Object-based architecture
→ Each object corresponds to components and these components are connected through
Remote Procedure Call.
→ This software architecture matches client server system architecture.
3. Data-centered architecture
→ The idea is that the processes communicate through a common (passive or active)
repository.
→ For example, a wealth of networked applications has been developed that rely on a shared
distributed file system in which virtually all communication takes place through files.
→ 3. 4.
4. Event-based Architecture
→ Processes communicate through propagation of events which also may carry data.
→ The basic idea is that processes publish events after which the middleware ensures that
only those processes that subscribed to those events will receive them.
→ The main advantage of event-based systems is that processes are loosely coupled.
9. Draw centralized system architecture.
→ Centralized systems are systems that use client/server architecture where one or more
client nodes are directly connected to a central server.
→ It is the most commonly used type of system in many organizations where a client sends
a request to a company server and receives the response.
Characteristics of Centralized System
1. Presence of a global clock All client nodes/slave nodes sync up with the global clock
(the clock of the central node/master node.
2. One single central unit serves/coordinates all the other nodes in the system.
3. Dependent failure of components- Central node failure causes the entire system to
fail because when the server is down, no other entity is there to send/receive
responses /requests.
rchitecture of Centralized System
1. Client-Server Architecture
→ Processes in a distributed system are split into two potentially overlapping groups in the
fundamental client-server architecture.
→ A server is a program that provides a particular service, such as a database service or
a file system service.
→ A client is a process that sends a request to a server and then waits for the server to
respond before requesting a service from it.
→ This client-server interaction known as the request-reply behavior is shown in the
figure below-
→ Having each application run on its own virtual computer with associated libraries and
operating systems which in turn run on a common platform, virtualization can help
minimize the diversity of platforms and machines.
→ A high degree of portability and flexibility is offered by virtualization.
Architecture of Virtual Machines
Computer systems offer 4 different types of interfaces at 4 different levels-
1. An interface between hardware and software consisting of machine instructions that can
be invoked by any program
2. An interface between hardware and software consisting of machine instructions that can
be invoked only by privileged programs, such as operating system.
3. An interface consisting of system calls as offered by an operating system.
4. An interface consisting of library calls generally forming an Application Programming
Interface (API).
•
Fig. A process virtual machine with multiple instances of applications or runtime combinations
10. Describe the different alternatives for code migration.