Areva

498 mots 2 pages
Cours 3: Synchronisation entre processus : suite de l’étude des outils

Batterie d’algorithmes et outils de synchronisation : 2 catégories
(Masquer les interruptions -> plus de concurrence -> plus de pbms !)

Attente active : quelque chose qui représente la condition, plus un algorithme qui met en place le test et l’attente (semi-)active (« spinlock », « verrou tournant »)
Des variables partagées (« solution purement logicielle ») pour exprimer la condition Solutions impliquant le matériel : instruction assembleur: Test-and-set Instruction assembleur: swap

Attente passive (plus haut niveau d’abstraction) :
Sémaphore (IPC Unix semop, Java 1.5+ ) Moniteur avec variable(s) conditionnelle(s) (Concurrent Pascal, Java) Verrou conditionnel cad mutex+var. condition (POSIX pthread, Java 1.5+ )
2

1

Outil de synchronisation Sémaphore (Dyjsktra 1965)
Structure de données et des méthodes
Entier File d’attente de processus/threads Opérations pour
Initialiser l’entier : nombre de jetons Prendre un “jeton”, ou s’endormir si pas de disponible : P(sem) Réveiller un processus qui attend le jeton, en le lui passant, sinon, le deposer : V(sem)

Outil général, comme moniteur, pour le problème de l’exclusion mutuelle : 1 jeton initial Exclusion mutuelle sur N exemplaires équivalents d’une même ressource : N jetons N’importe quelle forme de synchronisation conditionnelle : en jouant sur la valeur du jeton et sur les appels P ou V
3

Détail des opérations sur sémaphore : une variante possible structure de données :
Val : entier File : file de (contexte de) processus ou threads Opération Init(s:semaphore, int init) Opé Init(s:semaphore, init) s.Val = init ; creer s.File, vide s.File,

Opération P(s:semaphore) Opé P(s:semaphore) Si (s.Val FIFO order in the queue public void release() // Releases a permit, returning it to the semaphore. public boolean tryAcquire() // Acquires a permit from this semaphore, only if one is available at the time of invocation. … }

en relation

  • Azeaz
    1058 mots | 5 pages
  • Azert
    563 mots | 3 pages
  • Azea
    297 mots | 2 pages
  • Ásatrú
    3562 mots | 15 pages
  • Diagnostic diesel
    762 mots | 4 pages
  • Alésia
    1092 mots | 5 pages
  • Avis
    1828 mots | 8 pages
  • Avare
    696 mots | 3 pages
  • Ares
    1458 mots | 6 pages
  • Avis
    2360 mots | 10 pages
  • Istra
    323 mots | 2 pages
  • Avis
    511 mots | 3 pages
  • Areva
    320 mots | 2 pages
  • Avis
    449 mots | 2 pages
  • Alévis
    3159 mots | 13 pages