Onyest dossier - Concept d’atomicité Ajouter à mes favoris
Sommaire
Systèmes parallèles
Cours
Atomicité et processus
Concept d’atomicité
Concept de processus
Synchronisation
Aperçu sur les noyaux de synchronisation
Exclusion mutuelle
Les sémaphores
Approche "langage"
TDs
TPs
Probabilités appliquées aux systèmes
Théorie des langages et compilation
VHDL
Suite : Concept de processus

Concept d’atomicité

B := A[I]

équivaut à

Load R1, I
Load R2 A,R1
Store R2, B

Une instruction load est atomique, elle est exécutée en une seule fois par la machine. On appelle état la valeur des variables à un moment donné (A, B, Compteur Ordinal, …).

La sémantique d’une instruction est la suivante :
{ prédicat pré-assertion } Instruction { prédicat post-assertion }

Exemple :
{ x = a , y = b } x := y + x { x = a + b , y = b }
{ n >= 0 } x := fact(n) { x = n * n-1 * n-2 * … * 2 * 1 }

On dit qu’une opération est atomique si et seulement si elle a l’invisibilité (c’est à dire, si les états intermédiaires sont invisibles pour un observateur donné. Il ne connaît donc pas l’implémentation) et la sérialisabilité (si deux opérations atomiques sont exécutées simultanément, l’effet est le même que si elles sont exécutées séquentiellement, quel que soit l’ordre choisit). On a une abstraction par rapport, d’une part à l’espace (qui concerne la mémoire) et d’autre part au temps. Le principe de sérialisabilité permet d’assimiler une instruction à une opération instantanée.

Exemple :

Y := 0 (a)
X := 0 (b)

X := y + z (c)

Y := 1 (d)
Z := 2 (e)

Au cours du temps, on 4 cas différents peuvent se produire :

on obtient x=0, y=1 et z=2, ce cas équivaut à effet(cde).
on obtient x=1, y=1 et z=2, ce cas équivaut à effet(dce).
on obtient x=2, y=1 et z=2, ce cas équivaut à effet(c1 d e c2). Si l’effet(c // de) donne x=2 alors, l’opération n’est pas atomique. On évitera ce type d’opération (on a un cycle, on ne peut pas transformer en séquence).
on obtient x=3, y=1 et z=2, ce cas équivaut à effet(dec).

Donc, si effet(c // de) = effet (cde) ou effet(dec) ou effet(dce) alors on a une opération atomique.

La problématique est de savoir construire des opérations atomiques et de synchroniser et faire coopérer ces opérations.

Suite : Concept de processus
Onyest dossier - cours ingénieur informatique et électronique : SPAR, PAS, TLC, VHDL - http://www.onyest.free.fr/dossier/cours - webmaster : novis@chez.com

-