Netzweiter Botschaftenaustausch
摘要
So leistungsfähig auch der bisher vorgestellte Botschaftenaustausch für viele Aufgaben ist, widerspricht dessen Konzept im Grunde dem Begriff der verteilten Programmierung, bei der kein gemeinsamer Speicher vorausgesetzt wird: Die Kommunikation zwischen verschiedenen Prozessen, die – im Unterschied zu Betriebssystemprozessen – Leichtgewichtsprozesse mit gemeinsamem Adressraum sind, läuft in Go über Kanäle, die ja selber bereits gemeinsame Variablen sind. Verteilter Botschaftenaustausch im strengen Sinn ist die Kommunikation zwischen verschiedenen Rechnern oder verschiedenen Betriebssystemprozessen auf einem oder mehreren Rechnern. In diesem Kapitel wird ein Kanalkonzept vorgestellt, indem nach einer kurzen Skizze von Aspekten der Netzkommunikation auf der Grundlage von TCP/IP ein Paket entwickelt wird, das den Austausch von Botschaften in Netzwerken und auf dieser Grundlage die Realisierung verteilter Programme ermöglicht. Als Beispiel für ein verteiltes Programm wird der Algorithmus von Ricart und Agrawala zum dezentralisierten gegenseitigen Ausschluss erläutert.