Message passing is the interaction of exchanging messages between at least two processors. The cycle which is sending the message to one more process is known as the sender and the process which is getting the message is known as the receiver.
In a message-passing system, we can send the message by utilizing send function and we can receive the message by utilizing receive function. Following are the general syntaxes for send function and receive function.
Send (receiver, message)
Message passing is possible at whatever point the processors are in communication. The communication of a message can be established in distributed in two ways.
- Interprocess communication(IPC)
- Remote methodology call(RPC)
1. Inter-process communication: Inter-process communication is a process of trading information between two independent processes in a distributed environment. Inter-process communication can be achieved using two strategies or approaches.
- Original sharing (or) shared data approach.
- Copy sharing (or) Message passing approach.
2. Remote Procedure Call: A remote procedure call is a strong procedure for building distributed client server-based applications.
- In RPC there is a compelling reason need to change every one of the processors in an equivalent memory area or address space.
- RPC is utilized fully to communicate the processors at whatever point they are in the various memory area. In the same system or in a different system in the distributed system.
- RPC is generally helpful for developing client server-based applications.
- The process which needs to access the service is known as the client cycle or “caller”. The process which provides the services is known as the server process, or “callee”.
Features of Good Message Passing System:
Following are some of the features of a good message passing System.
- Uniform semantics
Simplicity: A message-passing system should be straightforward, simple, and easy to use. It should be straightforward to build the applications and to speak with existing applications &new applications by utilizing primitives provided by the message passing system. It should also be feasible for a developer to assign various modules of the distributed application and to send and receive the message between them in a way as simple as possible without the need to stress over the system and are network aspects.
Uniform Semantics: In a distributed system the message can be passed in two ways.
- Local communication
- Remote communication
Whenever we are utilizing the remote procedure call system we ought to utilize 2 semantics one is at:
- Client machine
- Server machine both the semantics ought to be like get good communication among the process.
Efficiency: Efficiency is a critical task in the distributed message-passing system. If the event that the passing system is inter-process communication. The whole message passing system is collapsed.
Reliability: The message passing system ought to be reliable. This feature can be accomplished when the message passing system is following the right convention. Generally, the communication link failures may interrupt the communication cycle. A reliable IPC protocol can manage failure issues and guarantee of delivery of a message.
Correctness: A message-passing system ought to confirm the clients regardless of whether they are the right clients.If the right client isn’t found delivery of the message will become celled and again send the status to the sender.
Flexibility: The message passing system should be flexible for the different services like general SMS, file transfer, audio, and video sharing, and so on.
Security: A good message passing system must also be capable to provide secure end-to-end communication. to provide the security we ought to utilize the following:
- Authentication system
- Encryption system
- Decryption system
Portability: The message passing system ought to be portable itself.
Unlock the Power of Placement Preparation!
Feeling lost in OS, DBMS, CN, SQL, and DSA chaos? Our Complete Interview Preparation
Course is the ultimate guide to conquer placements. Trusted by over 100,000+ geeks, this course is your roadmap to interview triumph.
Ready to dive in? Explore our Free Demo Content and join our Complete Interview Preparation