Question: what is the difference between message queue and pipe?
Answer: Message Queue is a System VIPC form to store a list of messages. A pipe can be created using pipe() function which returns two file descriptors, one is for reading and another is for writing. A message queue is created using msgget() function which returns a queue identifier. The pipe is unidirectional.