Каковы преимущества этих форм передачи сообщений в IPC?
Прямая или косвенная связь и синхронная или асинхронная связь?
При прямом общении он дает имя процесса, с которым вы общаетесь, например, send (destination-process, message) и receive (source-process, message). Ссылка имеет ровно одну пару взаимодействующих процессов. Между каждой парой существует ровно одна ссылка, которая может быть однонаправленной, но обычно двунаправленной.
Косвенная связь имеет уникальный идентификатор, процессы могут связываться, только если они используют общий почтовый ящик, также известный как порты. Во время связи ссылка устанавливается только в том случае, если процессы имеют общий почтовый ящик. Ссылка может быть связана со многими процессами, и каждая пара процессов может совместно использовать несколько каналов связи, которые могут быть как двунаправленными, так и однонаправленными.
Синхронный считается блокированием. Блокирующий прием имеет блок получателя до тех пор, пока сообщение не станет доступным, а блокирующий отправитель имеет блок отправителя, пока сообщение не будет получено. Для блокирования отправки / получения это называется рандеву.
Асинхронный также называется неблокирующим. Для асинхронной / неблокирующей отправки отправитель должен отправить сообщение и продолжить. Для неблокирующего приема получатель получает действительное сообщение или становится нулевым.