Autor |
Nachricht |
rgerhards
|
|
Titel: Was ist "atomar"? Was "atomare Operation"
Verfasst am: 01.12.2008, 07:51 Uhr
|
|
Anmeldung: 25. Sep 2006
Beiträge: 688
|
|
Sowohl beim Design von Rechenanlagen als auch bei der praktischen Programmierung taucht der Begriff des "atomaren" bzw. der "atomaren Operation" auf.
Der Begriff Atom geht hierbei auf die Naturphilosophie der alten Griechen zurück (ich meine, Demokrit (460-371 v.Chr) hat ihn geprägt). Ein Atom ist demnach ein kleinstes Ding, das nicht mehr weiter unterteilbar ist.
Wir müssen hier mit unserem heutigen naturwissenschaftlichen Verständnis fein Aufpassen. Beispielsweise aus der Chemie kennen wir ja Atome, die aus Elektronen, Protonen und Neutronen bestehen und wenn wir dann in die Quantenphysik gehen, sehen wir, dass diese Dinge aus noch kleineren Elementarteilchen bestehen. Zu den Elementarteilchen haben wir meines Wissens nach heute noch keine weitere Unterteilung beweisen. Der Gebrauch des Wortes "Atom" lehnt dabei an die von Demokrit geprägte Definition an, allerdings aus einer Zeit, als wir das Atom in der Tat noch für unteilbar gehalten haben. Würde man Demokrit in unsere heutige Zeit versetzen, so würde er sicherlich argumentieren, dass die heute bekannten unteilbaren Elementarteilchen Atome in seinen Sinne sind. Denn wichtig ist nicht, wie das Ding benannt ist, sondern das es tatsächlich das kleinstmögliche und nicht weiter teilbare Ding ist. Sollten sich auch die heute bekannten Elementarteilchen als teilbar herausstellen, so sind sie ebenfalls keine Atome im ursprünglichen Sinn des Wortes.
Merke: ein Atom, im ursprünglichen Sinn, ist eine nicht weiter unterteilbare "Einheit".
In diesem Sinne wird der Begriff in der Technik auch im Regelfall verwendet. Ich habe daher "Ding" bewusst durch "Einheit" ersetzt, da dieser Begriff im Kontext besser passt.
In der Technik ist damit eine Einheit gemeint, die aus Sicht der jeweiligen Betrachtungsebene nicht unterteilbar ist.
So ist eine atomare Maschinenoperation eine, die nicht unterbrochen werden kann. Wenn die Ausführung einmal beginnt, so gibt es keine (normale) Möglichkeit, dass die Verarbeitung unterbrochen, vorzeitig beendet oder sonstwie während des Verarbeitungsprozesses verändert wird. Die Funktion ist also ein "Atom", das nicht weiter unterteilt werden kann.
Man beachte allerdings, dass ich "normale" Möglichkeit schreibe. Natürlich kann es externe Möglichkeiten geben, die Abarbeitung zu beeinflussen, z.b. einen Stromausfall. Da hilft alle Atomizität nicht (es gibt allerdings Systeme, z.B. Datenbanken, die auch dann Atomizität sicherstellen, in der Form dass Teilergebnisse rückgängig gemacht werden - "ganz oder gar nicht"). Auch ist die Operation natürlich real nicht automar, z.b. kann man ja klar erkennen, dass innerhalb von Steuer- und Operationswerk in den Schaltnetzen offenbar nicht atomare Ladungstransporte statt finden müssen. Oder anders gesagt: die Operation muss physikalisch eben auch ausgeführt werden. Es wird hier aber nur die logische Ebene aus Sicht zb. des Instruktionssatzes betrachtet.
Und aus dieser Sicht wird eine Instruktion als atomar bezeichnet, wenn sie eben nicht unterbrochen werden kann.
Atomare Operationen sind beispielsweise wichtig, um nebenläufige Prozesse zu synchronisieren. Die dazu erforderlichen Synchronisationsfunktionen bauen auf atomaren Operationen auf. Denn es muss sichergestellt werden, dass die Syncrhonisationsvariablen wirklich nur von einem Prozess zu einer Zeit verändert werden können. Aber das ist schon wieder ein eigenes Thema... |
|
|
|
|
|
|
|
|