maisvendoo писал(а):
Сами сообщения - как я мыслю - это обмен данными между процессами через какую-то определенную область памяти? Так или иначе, как бы механизм IPC не назывался, сокетом там или именованым каналом - технически всё равно через память, которую видят все взаимодействующие процессы?
Нет, участвующие процессы совсем не обязаны видеть эту область памяти _одновременно_, хуже того, они её могут вообще не видеть напрямую (пример - pipe/fifo в линухе, ну и сокеты, да).
Таки я бы не смешивал в кучу обмен через shared memory, приколы типа передачи страниц (страница отцепляется от ВАП одного процесса и прицепляется к ВАП другого, соотв. ничего не нужно никуда копировать, можно устроить гарантию что эта область не будет модифицирована
внезапно для работающего с ней процесса) и вещи когда сами процессы к буферу вообще доступа прямого не имеют (а подчас может и буфера не быть) - типа pipe/fifo/сокетов/сообщений.
Это разные вещи с т.з. организации доступа и соотв-но того что и как с помощью них можно делать (например, shared memory через сеть - очень плохая идея, а сокеты - норм, но сокеты локально - уже не слишком круто, ибо double-copy, хотя с shared-memory тоже может возникать необходимость double-copy и порой задумываешься о передаче страниц, такое во встроенке не редкость, да и в микроядрах, вроде).