Sémaphore à héritage de priorité
From Wikipedia, the free encyclopedia
Le sémaphore à héritage de priorité est une variable utilisée en informatique destinée à éviter l'inversion de priorité.
Soient trois tâches :
- Th : tâche avec une haute priorité
- Tm : tâche avec une priorité moyenne
- Tl : tâche avec une priorité faible
Une tâche Th sur le point d’entrer dans une section critique se bloque lorsque :
- Une autre tâche Tl a déjà verrouillé cette section critique (Tl héritera de la priorité de Th).
- Une tâche plus prioritaire est lancée.
Une tâche Tl entre dans une section critique :
- Elle bloque le sémaphore.
- Elle se bloque lorsqu’une tâche plus prioritaire est lancée.
Lorsqu’une tâche sort d’une section critique :
- Elle reprend sa priorité de départ.
- Elle libère le verrou sur le sémaphore.
- S’il y a des tâches bloquées sur ce sémaphore, la plus prioritaire se lancera.
On peut définir le plafond de priorité (priority ceiling) comme étant la priorité maximale des tâches pouvant prendre le sémaphore.
