Was ist eine Race Condition?
Leserfrage: Was passiert bei einer Race Condition? Wie kommt es dazu und was kann dabei passieren? Wie lässt sich dieser Zustand umgehen?
Antwort Doc Storage:
In der Informatik ist eine Wettlaufsituation (engl. race condition) ein Zustand, in dem das Ergebnis bestimmter Vorgänge von der Reihenfolge des Auftretens bestimmter Zustände bzw. Operationen abhängt. Im Studium wird den angehenden Informatikern bereits beigebracht, solche Situationen nach Möglichkeit zu vermeiden.
Im Speicherumfeld sind hiermit Zustände gemeint, in denen ein Gerät oder ein gesamtes System zwei oder mehr Operationen vorzunehmen versucht, diese allerdings in einer bestimmten Reihenfolge ablaufen müssen, um ein korrektes Ergebnis zu erhalten. Meistens treten diese Probleme auf, wenn gleichzeitig von mehreren Quellen in denselben Datenbestand geschrieben und aus diesem gelesen werden soll. Während die eine Maschine noch liest, versucht die andere bereits, denselben Datenbestand an einer Stelle oder in Gänze zu ändern oder gar zu löschen. Das mögliche Ergebnis kann sich jeder selbst ausmalen. Im harmlosesten Fall bricht die Operation für einen oder mehrere Rechner ab oder führt gar zu einem Absturz des anfragenden Programmes. Im schlimmsten Falle allerdings liest ein Rechner Daten weiterhin aus, ohne zu merken, dass der Zustand des zu lesenden Datensatzes am Ende ein anderer war als zu Beginn der Operation.
In Speicherumgebungen werden diese Zustände dadurch vermieden, dass Schreib- und Leseoperationen logisch zusammenhängend abgearbeitet werden, bevor der Zugriff auf denselben Datenbestand durch einen anderen Rechner zugelassen wird. Die diesem Zugriff zugrundeliegenden Kommandosätze öffnen einen Datenbestand zum Lesen bzw. Schreiben durch einen Kanal (=einen Rechner), führen alle hierzu benötigten Operationen hintereinander durch und geben den Datenbestand erst dann für weitere Zugriffe frei.
Natürlich gibt es in speziellen Shared-Storage-Umgebungen mit mehreren gleichzeitig schreibenden und lesenden Systemen weitere Punkte, auf die geachtet werden muss. Wenn Sie mir mehr über Ihre Speicherumgebung und die dort laufenden Betriebssysteme und Anwendungen sowie den genauen Anlass Ihrer Frage mitteilen, werde ich gern genauer auf eben diese Konfiguration eingehen.
Gruß
Doc Storage