title: What are all the differences between pipes and message queues?
body: <p><b>What are all the differences between pipes and message queues?</b></p>
  
  <p>Please explain both from vxworks &amp; unix perspectives.</p>
  
  <p>I think pipes are unidirectional but message queues aren't.</p>
  
  <p><b>But don't pipes internally use message queues, then how come pipes are unidirectional but message queues are not?</b></p>
  
  <p>What are the other differences you can think of (from design or usage or other perspectives)?</p>