Interblocage (Deadlock)
Attente circulaire où les processus se bloquent mutuellement.
Un interblocage est une situation où des processus sont bloqués indéfiniment car chacun détient une ressource et attend une autre ressource détenue par un autre processus.
Les 4 conditions de Coffman : Exclusion mutuelle, Rétention et attente, Pas de préemption, Attente circulaire.
graph LR
Center["Interblocage (Deadlock)"]:::main
Pre_process["process"]:::pre --> Center
click Pre_process "/terms/process"
Pre_mutex["mutex"]:::pre --> Center
click Pre_mutex "/terms/mutex"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Explique-moi comme si j'avais 5 ans
Imagine quatre voitures à un carrefour se bloquant mutuellement. Aucune ne peut avancer tant qu'une autre ne bouge pas. Elles sont coincées pour toujours.
🤓 Expert Deep Dive
La détection utilise des graphes d'attente. L'algorithme du banquier permet d'éviter les interblocages en garantissant un état sûr.
📚 Sources
1. Deadlock
6. medium.com