Aller au contenu principal

Processus et threads

#Processus et threads

Création, ordonnancement, synchronisation; problèmes classiques (interblocage, famine).

#Processus vs threads

  • Processus: espace mémoire séparé, isolation plus forte.
  • Threads: partagent l’espace mémoire du processus, plus légers.

#Ordonnancement

  • Préemptif vs coopératif; politiques RR, priorité, multi‑niveau.

#Synchronisation

  • Mutex, sémaphores, barrières; sections critiques et invariants.

Exemple (pseudo‑code) section critique protégée par mutex:

cc
1mutex m;2int compteur = 0;3 4void travail() {5  lock(m);6  // section critique7  compteur += 1;8  unlock(m);9}
Pièges de concurrence

Interblocage (deadlock) si deux verrous sont acquis dans des ordres différents; inversion de priorité; ABA avec structures lock‑free.

#Pièges

  • Deadlocks (attente circulaire), conditions de course, inversion de priorité.

#Quiz

Laquelle n’est PAS une condition nécessaire à un interblocage (Coffman) ?