Compare and analyze any two major variations of message passing systems

Operating SystemHardwareSoftware & Coding

<p>Let us discuss about the below two types of message passing systems, which are as follows &minus;</p><h2>Client Server Message Passing</h2><p>Consider an application that you are trying to read data from the filesystem. That means here the application is a client requesting the data from a server. This client or server model introduces many process states that are associated with message passing.</p><p>Initially, the server has to wait for a message to arrive from another system which is present somewhere else. At this point, the server is said to be receive-blocked.</p><p>When a message is received, the server enters into the READY state, and it is capable of running. Suppose, if it is the highest-priority READY process, it gets the CPU and can perform some processing. Since it is a server, it looks at the message received and decides what to do about it.</p><p>At some point, the server will complete whatever job the message told it to do, and then give a reply to the client.</p><p><img src=" of server.jpg" class="fr-fic fr-dib" width="206" height="127"></p><p>Now let us switch to the client-side. Starting the client is running along, and consuming CPU, till it decides to send a message. The client changed from READY to send blocked or reply-blocked, based on the state of the server that it sent a message to.</p><p><img src=" of client.jpg" class="fr-fic fr-dib" width="211" height="201"></p><p>Generally, we will see the reply-blocked state is more often than the send-blocked state. Because the reply-blocked state means &minus;</p><p>The server has received the message and is now processing it. At a point, the server completes processing and will reply to the client. The client is blocked waiting for this reply.</p><p>Contrast that with the send-blocked state.</p><p>The server did not receive the message, because it was busy handling other messages first. When the server gets receiving a client message, then we will go from the send blocked state to the reply-blocked state.</p><h2>Network-distributed Message passing</h2><p>Let us inherit the characteristics of a network: they can become network-distributed with far less work than on other systems. But the benefit that we find most useful is that they let you test software in a nice, modular manner.</p><p>We are probably working on large projects where many people have to provide different pieces of software. Of course, some of these people are done sooner or later than others.</p><p>Generally, it has problems at two stages, which are as follows &minus;</p><ul class="list"><li><p>Starting from the concept at definition time, it&#39;s hard to decide where one person&#39;s development effort ends and another person begins.</p></li><li><p>Then at testing or integration time, it is not possible to do full systems integration testing because all the pieces are not available.</p></li></ul><p>The individual components of a concept can be decoupled easily, leading to a very simple design and reasonably simple testing.</p><p>If we want to think about this in terms of existing paradigms, it is similar to the concept that is used in Object-Oriented Programming (OOP).</p>
Updated on 01-Dec-2021 11:41:59