www.wikidata.de-de.nina.az
Eine atomare Operation von griechisch atomo atomo unteilbar bezeichnet in der Informatik einen Verbund von Einzeloperationen der als logische Einheit betrachtet wird nur als Ganzes erfolgreich ablauft oder fehlschlagt und nicht durch andere Operationen unterbrochen werden kann Dabei konnen die Einzeloperationen wiederum aus kleineren atomaren Operationen bestehen bei deren Fehlschlag die hoherrangige Operation in ihrer Ganzheit als fehlgeschlagen anzusehen ist Dabei ist das Ziel auf jeder Ebene den Uberblick uber die vielen moglichen fehlerhaften Zwischenzustande zu erleichtern und bei jedem Fehlschlag die Operation auf den aus ihrer Sicht konsistenten Zustand zurucksetzen zu konnen Der Begriff wird vor allem in der Datenbanktheorie und auf bestimmte CPU Befehle angewendet Atomare Operationen auf CPU Ebene BearbeitenAtomare Operationen werden vor allem zur Implementierung von Sperrmechanismen locking verwendet die in der Synchronisation von Daten und Prozessen siehe Prozesssynchronisation verwendet werden Eine andere Variante ist die nicht blockierende Synchronisation von Datenstrukturen wobei Objekte nur durch atomare Operationen modifiziert werden und das explizite Sperren der Objekte dadurch uberflussig wird Typische CPU Befehle zur Implementierung von atomaren Operationen auf aktuellen Prozessoren sind z B Compare and swap bzw Load Link Store Conditional Befehlspaare auf RISC Architekturen Bei interruptunterstutzenden Prozessoren muss dabei wahrend der Ausfuhrung der atomaren Befehlsfolge die Moglichkeit bestehen Interrupts zu unterdrucken Dies ist zum Beispiel fur die Implementierung von Semaphoren notwendig Das Verandern der Semaphorvariablen darf nicht unterbrochen werden und wird als atomare Befehlsfolge ausgefuhrt Das Unterbrechen dieses Codes kann etwa eine Mehrfachbelegung einer Ressource und damit moglicherweise einen Fehler zur Folge haben Atomare Datenbank Operationen BearbeitenEine Reihe von Anderungen an einer Datenbank kann zu einer Transaktion zusammengefasst werden die entweder als Ganzes erfolgreich verlauft Commit oder durch einen Rollback ruckgangig gemacht werden kann Andere neben der Atomaritat erwunschte Eigenschaften von Transaktionen werden zumeist unter dem Akronym ACID zusammengefasst Atomare Operationen in Programmiersprachen BearbeitenEinige Programmiersprachen beinhalten Konzepte zur Unterstutzung atomarer Operationen So gibt es beispielsweise in Java das Paket java util concurrent atomic mit Klassen die atomares Vergleichen oder Tauschen unterstutzen Auch in Go gibt es native Unterstutzung im sync atomic Paket Generell ist die Festlegung atomarer Befehle immer dann wichtig wenn Prozesse parallelisiert werden sollen So bietet beispielsweise die stark auf Parallelisierung ausgelegte Programmiersprache Fortress die Moglichkeit Anweisungsblocke als atomic zu kennzeichnen um Konflikte zu vermeiden Abgerufen von https de wikipedia org w index php title Atomare Operation amp oldid 232565909