<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Atomare_Operation</id>
	<title>Atomare Operation - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Atomare_Operation"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Atomare_Operation&amp;action=history"/>
	<updated>2026-05-30T08:15:05Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Atomare_Operation&amp;diff=111521&amp;oldid=prev</id>
		<title>77.182.145.227: Grammatik :D</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Atomare_Operation&amp;diff=111521&amp;oldid=prev"/>
		<updated>2023-04-07T10:02:20Z</updated>

		<summary type="html">&lt;p&gt;Grammatik :D&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Eine &amp;#039;&amp;#039;&amp;#039;atomare Operation&amp;#039;&amp;#039;&amp;#039; (von {{elS|άτομο}} &amp;#039;&amp;#039;átomo&amp;#039;&amp;#039; ‚unteilbar‘) bezeichnet in der [[Informatik]] einen Verbund von Einzeloperationen, der als logische Einheit betrachtet wird, nur als Ganzes erfolgreich abläuft oder fehlschlägt und nicht durch andere Operationen unterbrochen werden kann.&lt;br /&gt;
&lt;br /&gt;
Dabei können die Einzeloperationen wiederum aus kleineren atomaren Operationen bestehen, bei deren Fehlschlag die höherrangige Operation in ihrer Ganzheit als fehlgeschlagen anzusehen ist. Dabei ist das Ziel, auf jeder Ebene den Überblick über die vielen möglichen fehlerhaften Zwischenzustände zu erleichtern und bei jedem Fehlschlag die Operation auf den aus ihrer Sicht [[Konsistenz (Datenspeicherung)|konsistenten]] Zustand zurücksetzen zu können.&lt;br /&gt;
&lt;br /&gt;
Der Begriff wird vor allem in der [[Datenbank]]theorie und auf bestimmte [[Maschinensprache|CPU-Befehle]] angewendet.&lt;br /&gt;
&lt;br /&gt;
== Atomare Operationen auf CPU-Ebene ==&lt;br /&gt;
Atomare Operationen werden vor allem zur Implementierung von [[Lock|Sperrmechanismen (&amp;#039;&amp;#039;locking&amp;#039;&amp;#039;)]] 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 überflüssig wird.&lt;br /&gt;
&lt;br /&gt;
Typische [[Maschinensprache|CPU-Befehle]] zur Implementierung von atomaren Operationen auf aktuellen [[Prozessor|Prozessoren]] sind z.&amp;amp;nbsp;B. [[Compare-and-swap]]- bzw. [[Load-Link/Store-Conditional]]-Befehlspaare auf [[RISC]]-Architekturen.&lt;br /&gt;
&lt;br /&gt;
Bei [[interrupt]]&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;unterstützenden [[Prozessor]]en muss dabei während der Ausführung der atomaren Befehlsfolge die Möglichkeit bestehen, Interrupts zu unterdrücken. Dies ist zum Beispiel für die Implementierung von [[Semaphor (Informatik)|Semaphoren]] notwendig. Das Verändern der Semaphorvariablen darf nicht unterbrochen werden und wird als atomare Befehlsfolge ausgeführt. Das Unterbrechen dieses Codes kann etwa eine Mehrfachbelegung einer Ressource und damit möglicherweise einen Fehler zur Folge haben.&lt;br /&gt;
&lt;br /&gt;
== Atomare Datenbank-Operationen ==&lt;br /&gt;
Eine Reihe von Änderungen an einer Datenbank kann zu einer [[Transaktion (Informatik)|Transaktion]] zusammengefasst werden, die entweder als Ganzes erfolgreich verläuft ([[Commit]]), oder durch einen [[Rollback]] rückgängig gemacht werden kann. Andere, neben der Atomarität erwünschte Eigenschaften von Transaktionen werden zumeist unter dem [[Akronym]] [[ACID]] zusammengefasst.&lt;br /&gt;
&lt;br /&gt;
== Atomare Operationen in Programmiersprachen ==&lt;br /&gt;
Einige Programmiersprachen beinhalten Konzepte zur Unterstützung atomarer Operationen. So gibt es beispielsweise in [[Java (Programmiersprache)|Java]] das Paket &amp;lt;code&amp;gt;java.util.concurrent.atomic&amp;lt;/code&amp;gt; mit Klassen, die atomares Vergleichen oder Tauschen unterstützen. Auch in [[Go (Programmiersprache)|Go]] gibt es native Unterstützung im &amp;lt;code&amp;gt;sync/atomic&amp;lt;/code&amp;gt;-Paket.&lt;br /&gt;
&lt;br /&gt;
Generell ist die Festlegung atomarer Befehle immer dann wichtig, wenn Prozesse parallelisiert werden sollen. So bietet beispielsweise die stark auf Parallelisierung ausgelegte Programmiersprache [[Fortress (Programmiersprache)|Fortress]] die Möglichkeit, Anweisungsblöcke als &amp;#039;&amp;#039;&amp;#039;atomic&amp;#039;&amp;#039;&amp;#039; zu kennzeichnen, um Konflikte zu vermeiden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Parallelverarbeitung]]&lt;br /&gt;
[[Kategorie:Betriebssystemtheorie]]&lt;br /&gt;
[[Kategorie:Datenbanktheorie]]&lt;/div&gt;</summary>
		<author><name>77.182.145.227</name></author>
	</entry>
</feed>