previous | start | next

Minix Message Passing Properties

  1. Minix user processes can only send/receive messages to system processes, not to other user processes.

  2. Minix system processes can send messages to other system processes and reply to user process messages subject to certain restrictions.

  3. The following message passing functions are implemented by the kernel:
    • send
    • receive
    • sendrec (send/receive)
    • notify
    • echo

The first three use the rendezvous style message passing. So sendrec in a user process will block the user if the destination system process is currently doing something other than trying to receive an new request message.

The _syscall function used by user level programs actually uses the sendrec (send/receive) function to send a request and receive a reply.

The notify type message does not use the rendezvous. That is, it does not get blocked if the destination is not yet ready to receive the notification.

The echo is used by the kernel process for passing a message from a process to itself.



previous | start | next