Definition und Bedeutung:
Eine atomare Operation ist eine Operation oder ein Satz von Operationen, die als eine einzige, unteilbare Einheit ausgeführt werden. Das bedeutet, dass sie entweder vollständig abgeschlossen wird oder im Falle einer Störung (z.B. Stromausfall, Systemabsturz) überhaupt nicht. Es gibt keinen Zwischenzustand, in dem nur ein Teil der Operation ausgeführt wurde. Atomare Operationen sind grundlegend für die Integrität von Daten und die Zuverlässigkeit von Systemen, insbesondere in Multitasking-Umgebungen oder bei parallelem Zugriff auf gemeinsam genutzte Ressourcen.
Der Begriff „atomar“ leitet sich vom griechischen Wort „atomos“ ab, was „unteilbar“ bedeutet.
Relevanz in der Automatisierungstechnik:
In der Automatisierungstechnik, wo oft mehrere Prozesse gleichzeitig ablaufen und auf gemeinsame Daten oder Hardware zugreifen, ist die Atomarität von Operationen entscheidend, um Datenkorruption, Inkonsistenzen oder unerwartetes Verhalten zu verhindern:
- SPS-Programmierung: Beim Schreiben von Daten in Variablen oder beim Zugriff auf E/A-Module muss sichergestellt sein, dass diese Operationen atomar sind. Wenn beispielsweise ein 16-Bit-Wert in zwei Schritten (erst das niedrige Byte, dann das hohe Byte) geschrieben wird und das Programm zwischen diesen Schritten unterbrochen wird, könnte der Wert inkonsistent sein. Atomare Schreib-/Lesezugriffe stellen sicher, dass der gesamte Wert korrekt geschrieben oder gelesen wird.
- Multitasking-Systeme: In Echtzeitbetriebssystemen oder bei SPSen mit mehreren Tasks, die parallel laufen, verhindern atomare Operationen, dass eine Task Daten liest oder schreibt, während eine andere Task gerade dabei ist, dieselben Daten zu modifizieren. Dies ist wichtig für die Synchronisation und den Schutz gemeinsam genutzter Ressourcen.
- Datenbanken und Historian-Systeme: Transaktionen in Datenbanken sind atomar (ACID-Eigenschaft: Atomicity, Consistency, Isolation, Durability), um sicherzustellen, dass Datenintegrität auch bei Fehlern gewährleistet ist.
- Kommunikationsprotokolle: Bestimmte Kommunikationsbefehle oder Telegramme sind so konzipiert, dass ihre Übertragung und Verarbeitung atomar ist, um die Konsistenz der Daten zwischen Kommunikationspartnern sicherzustellen.
Die Implementierung atomarer Operationen erfolgt oft auf Hardware-Ebene (z.B. durch spezielle CPU-Befehle wie „Test-and-Set“) oder durch Betriebssystem- oder Programmiersprachen-Mechanismen, die den Zugriff auf kritische Abschnitte schützen (z.B. Mutexe, Semaphore).
→ Siehe auch: CPU (Central Processing Unit), SPS, Multitasking, Datenintegrität, Transaktion, Synchronisation

