As trocas de mensagens são um artifício provido pelo Sistema Operacional como forma de viabilizar a comunicação entre processos sem a necessidade do uso de variáveis compartilhadas.
Esta capacidade surge como um artifício capaz de sanar a dificuldade de se prover a exclusão mútua e o sincronismo em sistemas distribuídos, ou seja, computadores geograficamente espalhados e que, por conseguinte, não tem acesso a um espaço de memória compartilhado.
Este método provê ao menos duas operações, uma para enviar e outra para receber as mensagens. Além disso, se dois processos desejam manter uma comunicação através de troca de mensagens, uma ligação deve ser estabelecida, podendo a comunicação ser síncrona ou assíncrona, direta ou indireta.