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) ?