next up previous contents
Next: Das Speichermodell einer Hochsprache Up: Das Speichermodell Previous: Sequential Consistency   Inhalt

Speichermodell und Synchronisierung

Das nebenläufige Lesen und Schreiben gemeinsamer Daten muß -- unabhängig vom Speichermodell -- synchronisiert werden. Es liegt daher nahe, das Speichermodell an Synchronisierungsoperationen zu knüpfen. Das heißt, nur wenn alle Zugriffe auf gemeinsame Objekte durch Synchronisierung geschützt werden, ist auch garantiert, daß die Threads den gleichen Speicherzustand ,,sehen``.

Diese Überlegungen liegen dem POSIX Thread-Standard [POSIX, 1996] zugrunde. Um Speicherkonsistenz zu garantieren, muß der Schreiber eine Sperre aufgeben und der Leser diese Sperre erwerben. Beide Operationen haben neben der Synchronisation somit den Charakter einer portablen memory barrier. Somit ist garantiert, daß erstens alle Schreiboperationen tatsächlich stattgefunden haben, wenn die Sperre freigegeben wird, und zweitens, daß die Leseoperationen erst vollzogen werden, nachdem die Sperre erworben werden konnte.




2001-02-28