K>Во, понял, какую книгу я хочу. K>(Сам, конечно, писать такое не возьмусь, ибо далеко не во всех аспектах обладаю достаточным уровнем знаний. Но если бы кто-то такое написал — было бы очень круто.) K>Хочу книгу про IPC в широком смысле.
Начни писать сам — в процессе разберешься и будешь экспертом.
K>Когда взаимодействие сводится только к обмену данными и когда нужна передача управления. K>Когда взаимодействующие процессы/системы находятся на одной машине и когда они удалены друг от друга. K>Синхронные и асинхронные варианты взаимодействия.
... K>Когда есть серьезные требования по транзакционной целостности и когда таких требований нет. K>Когда есть серьезные требования по безопасности и когда таких требований нет. K>и т.п.
Вот видишь, как ты в потребностях хорошо разбираешься.
Возьми какой-нить проект и реализуй, расписывая варианты решений...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
И я хочу. Только не от какого-нибудь зеваки, "ой, я тут посмотрел, на эту тему нет книг, а не написать ли", а от многоопытного "разработчика в законе". Если бы таковую написал Авадис Теванян, папа Mach, экс–специалист NeXT и Apple — купил бы не глядя. Как писал Джонатан Левин во втором томе "*OS Internals" лет 5 назад, "Mach IPC был авангардной концепцией в 80-е, и остаётся таковой до сих пор". Mach/XNU/Darwin можно за многое не любить, но IPC в этом семействе ОС сделано на совесть. Есть и разделяемые между процессами отображения памяти, и разделяемые дескрипторы, и множество специально придуманных протокольных приседаний под разные сценарии инициализации и терминации каналов обмена с учётом привилегий вопрошающего, базирующиеся на строгих аксиоматических построениях (mach ports и правилах их жизненного цикла).
Линуксовый systemd, кстати, практически один в один слизан с маковского launchd в плане запуска-остановки служб, пучков служб, и бессчётного количества комбинаций взаимозависимостей между ними. А вот о повторении Mach IPC я что-то не слышал: все до сих пор сидят на dbus. Хорошо бы его, кстати сравнить с Mach IPC и по пропускной способности, и по латентности, и по стрессоустойчивости.