16.10. Critique of synchronous invocation

We argued in Section 16.6 that a blocking primitive is more manageable than a non-blocking one for implementing remote operation invocation. Two such primitives, RPC and RMI, were discussed in detail. We saw how to implement an RPC and an RMI, both of which are synchronous, blocking calls.

An implementation issue is the number of calls (RPCs or RMIs) that can be in progress at any time from different threads of a given process. It is important that a number of processes on a machine should be able to initiate calls and, in particular, that several threads of the same process should be able to initiate calls to the same destination. Figure 16.26 shows a common scenario which illustrates this issue. Server ...

Get Operating Systems: Concurrent and Distributed Software Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.