2 research outputs found

    An Implementation Model of Rendezvous Communication

    No full text
    This paper describes the low-level primitives necessary to implement a particular flavor or inter-process communication. It is motivated by the design of a communication subsystem for a higher-order functional language [Cardelli 84]. Although we try to abstract somewhat from the special characteristics of that language, the model does not accommodate a wide range of communication schemes. This communication model is intended to be used on (uniprocessor) personal computers. In this model, processes running on the same processor can share the same address space. If the underlying language is safe, a process can affect other processes only by communication, or by affecting data structures which have been explicitly transmitted. This ensures privacy and data protection even in a shared address space. Processes running in the same address space can exchange arbitrarily complex objects very cheaply, just by passing pointers. Processes running on different processors communicate through restricted "flat" channels, e.g. character channels. In this case, complex objects have to be encoded to fit into flat channels, and decoded on the other side; the encoding activity may or may not be automatic. In any case there is a semantic difference between exchange of objects in the same address space, where objects are shared, or in different address spaces, where objects are copied. The basic communication mechanism is rendezvous [Milner 80]: both the sender and the receiver may have to wait until the other side is ready to exchange a message. Both the sender and the receiver may offe

    An implementation model of rendezvous communication

    No full text
    corecore