Onyest dossier - Synchronisation 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 : Aperçu sur les noyaux de synchronisation

Synchronisation

Exemple d’un compteur accédé par 2 processus :

P1
R1 = cpt (a)
R1 = R1 +1 (b)
cpt = R1 (c)

cpt = 0

P2
R1’ = cpt (a’)
R1’ = R1’ +1 (b’)
cpt = R1’ (c’)

a, a’, b, b’, c, c’ è cpt = 1
a, b, c, a’, b’, c’ è cpt =2
Dans ce cas on a un partage de ressource en coopération. On peut aussi avoir un partage de ressource en compétition.

Exemple de lecture écriture sur un disque :

positionner(20)
lire

positionner(80)
ecrire(v)

Chaque ligne est atomique mais pas l’ensemble. On a partage car, évidemment, dans le cas séquentiel, le problème de l’atomicité ne se pose pas !

Exemple type de coopération, problème du producteur/consommateur : file d’attente avec buffer.

produire(v)

17

04

02

00

00

00

consommer(v)

tampon

Pour éviter les erreurs, il faut que produire et consommer soient atomiques (cf DIIC TP ARC2).

De manière générale, les mises en œuvres de système doivent vérifier 2 propriétés :

  • SURETE (Safety) " bad things will not happen " INVARIANT
  • VIVACITE (Liveness) " Something will happen "
Suite : Aperçu sur les noyaux de synchronisation
Onyest dossier - cours ingénieur informatique et électronique : SPAR, PAS, TLC, VHDL - http://www.onyest.free.fr/dossier/cours - webmaster : novis@chez.com

-