5. Reconnaître les quatre conditions nécessaires
Le cours présente quatre conditions nécessaires à l'interblocage considéré :
| Condition | Signification | Présence dans l'exemple des deux sémaphores inversés |
|---|---|---|
| Exclusion mutuelle | Une ressource ne peut être attribuée qu'à un seul processus à la fois | Chaque sémaphore protège une disponibilité unique |
| Détention et attente | Un processus conserve une ressource pendant qu'il en demande une autre | A conserve 1 en attendant 2; B conserve 2 en attendant 1 |
| Absence de réquisition | Un tiers ne retire pas librement la ressource; son détenteur doit la libérer | Les ressources restent détenues tant que les opérations de libération ne sont pas atteintes |
| Attente circulaire | Les dépendances se referment sur un cycle d'au moins deux processus | A attend B et B attend A |
Chaque condition exprime un aspect différent. Une ressource exclusive explique pourquoi le second demandeur peut attendre. La détention pendant l'attente permet de conserver ce dont quelqu'un d'autre a besoin. L'absence de retrait empêche de casser gratuitement cette détention. Le cycle relie enfin ces dépendances entre elles.
La prévention cherchera à empêcher la réunion de ces conditions en en empêchant au moins une. Dans une analyse concrète, la liste des conditions doit être reliée à l'état des processus et des ressources. Elle ne remplace ni la construction du graphe ni l'exécution du détecteur adapté au modèle utilisé.