atomique

Une définition du Jargon Français.
Aller à : Navigation, rechercher

1. adjectif.  [exécution]. Se dit d'un groupe d'un traitements effectué par l'ordinateur sans interruption, donc sans qu'il effectue quoi que ce soit d'autre durant son exécution, en particulier sans allouer de ressource (en particulier de travail d'un processeur) à un autre processus.

Beaucoup d'instructions assembleur du processeur le sont. Le fait d'employer plusieurs instructions afin de tester le contenu d'une variable puis d'écrire le résultat n'est pas forcément atomique, ce qui pose pas mal de problèmes lorsqu'il s'agit de verrouiller quelque chose, en particulier entre processus, car l'ordonnanceur peut, entre le test et l'écriture de son résultat, allouer du temps à un autre processus ou thread auquel rien n'interdit de modifier le contenu de la variable testée, ce qui pourrait fausser le résultat du test. C'est pourquoi de nombreux processeurs offrent une instruction spécialisée, dite test and set, assurant le test et l'écriture de son résultat de façon atomique. Dans certains cas on peut assurer l'atomicité en masquant temporairement les exceptions, mais cela augmente la latence donc réduit la réactivité de la machine (et lui interdit en pratique le temps réel).

Ce terme n'a aucun rapport avec la physique quantique.

Voir atomicité, sémaphore.


2. adjectif  [base de données]. Si un ensemble d'instructions est atomique alors lors de son exécution la moindre erreur annulera totalement tous ses effets (le système retrouvera l'état qui était le sien au début de l'exécution, donc l'ensemble d'instructions considéré n'aura rien modifié, et en théorie il n'y aura aucun effet de bord). Autrement dit toutes les instructions peuvent être complètement honorées, ou bien tout se passe comme si aucune n'avait été exécutée.

Dans le monde des bases de données une transaction réussie est toujours atomique.


Anglais: atomic