Boost.Interprocess
Boost.Interprocess provides portable inter-process communication (IPC) primitives: shared
Boost.Interprocess provides portable inter-process communication (IPC) primitives: shared
Processes are deliberately isolated from each other — that's the whole point of giving each one its
A queue looks like a data structure and is really a design decision. The structure part is unremarkable — a circular buffer with a head, a tail and two waiting lists. The decision is what makes it worth a page: a FreeRTOS queue copies the item in and copies it out again, and every property people value in queues follows from that one fact.
Queues, semaphores, mutexes and event groups are all objects. Each has its own allocation, its own handle, and its own place in the system's RAM budget, and a sender has to be given that handle before it can say anything. The kernel's own header states the distinction plainly: those four are "intermediary objects" for sending an event, and a task notification "is a method of sending an event directly to a task without the need for such an intermediary object."