Unix IPC primitives

Message-passing

System V implementation

  • Defines a message queue where messages of diferent types (a positive integer) can be stored.

  • The send operation blocks if space is not available.

  • The receive operation has an argument to specify the type of message to receive: a given type, any type or a range of types.

    • The oldest message of given type(s) is retrieved.

    • Can be blocking or nonblocking.

  • see system calls: msgget, msgsnd, msgrcv, and msgctl

POSIX message queue

  • Defines a priority queue.

  • The send operation blocks if space is not available.

  • The receive operation removes the oldest message with the highest priority.

    • Can be blocking or nonblocking.

Last updated