Memory sharing: multiple processes access the same segment of memory
Faster but more complex:
Message passing: processes communicate with each other by sending and receiving messages through a communication channel (e.g. pipes, sockets, mq)