Opération atomique

Définition - Que signifie l'opération atomique?

Les opérations atomiques dans la programmation simultanée sont des opérations de programme qui s'exécutent complètement indépendamment de tout autre processus.

Les opérations atomiques sont utilisées dans de nombreux systèmes d'exploitation modernes et systèmes de traitement parallèles.

Definir Tech explique le fonctionnement atomique

Les opérations atomiques sont souvent utilisées dans le noyau, le composant principal de la plupart des systèmes d'exploitation. Cependant, la plupart du matériel informatique, des compilateurs et des bibliothèques fournissent également différents niveaux d'opérations atomiques.

Lors du chargement et du stockage, le matériel informatique effectue l'écriture et la lecture dans une mémoire de la taille d'un mot. Pour extraire, ajouter ou soustraire, l'augmentation de la valeur s'effectue via des opérations atomiques. Lors d'une opération atomique, un processeur peut lire et écrire un emplacement lors de la même transmission de données. De cette manière, un autre mécanisme ou processeur d'entrée / sortie ne peut pas effectuer des tâches de lecture ou d'écriture de mémoire tant que l'opération atomique n'est pas terminée.

Lorsque les données sont utilisées par une opération atomique qui est également utilisée par d'autres opérations atomiques ou non atomiques, elles ne peuvent exister que dans des environnements de traitement séquentiel ou des mécanismes de verrouillage doivent être utilisés pour éviter les erreurs de données. Compare and swap est une autre méthode mais ne garantit pas l'intégrité des données pour les résultats d'opérations atomiques.

Le problème survient lorsque deux opérations exécutées en parallèle (opérations simultanées) utilisent les mêmes données et qu'une disparité entre les résultats des opérations se produit. Le verrouillage verrouille les données variables et force le fonctionnement séquentiel des processus atomiques qui utilisent les mêmes données ou les affectent d'une manière ou d'une autre.