In domains like automotive, robotics or gaming, a huge amount of data must be transferred between different parts of the system. If these parts are actually different processes on a POSIX based operating system like Linux, this huge amount of data has to be transferred via an inter-process-communication (IPC) mechanism.
The mechanisms provided by the operating system, like message queues, normally require to copy the data and are subject to context switches between user and kernel space. In fact, it is often not only one but many copies of the transferred data between the sender and the receiver. If it comes to GBytes/s data exchange rates, avoiding these copies becomes a crucial factor.
iceoryx is a middleware with a zero-copy shared memory approach which is optimized for the huge data inter-process-communication.