Aufgabe V8 sendSyn mit Referenzablage: - Nachricht zu groß? ⇒ Abbruch mit Fehler - ZP enthält Element? ja: - Tupel (Zielreferenz, Prozess) aus ZP nehmen - Nachricht in Zielbereich kopieren - Prozess deblockieren nein: - Aufrufer blockieren - (Nachrichtenreferenz, Aufrufer) in NP legen receiveTry: - NP enthält Element? ja: - Tupel (Nachrichtenref., Prozess) aus NP nehmen - Nachricht in Zielbereich kopieren - Prozess deblockieren, falls nicht null - Nachricht aus PS löschen, falls von dort - Erfolg melden nein: - Misserfolg melden a) receiveSyn: - NP enthält Element? ja: - Tupel (Nachrichtenref., Prozess) aus NP nehmen - Nachricht in Zielbereich kopieren - Prozess deblockieren, falls nicht null - Nachricht aus PS löschen, falls von dort nein: - Aufrufer blockieren - Tupel (Zielreferenz, Aufrufer) in ZP legen b) sendAsyn mit Wertablage: - Nachricht zu groß? ⇒ Abbruch mit Fehler - ZP enthält Element? ja: - Tupel (Zielreferenz, Prozess) aus ZP nehmen - Nachricht in Zielbereich kopieren - Prozess deblockieren nein: - genug Platz in PS? Nein ⇒ Abbruch mit Fehler - Nachricht in PS kopieren - (Kopiereferenz, null) in NP legen