Leksykon IT › Programowanie › Protokół pułapu priorytetów (priority ceiling protocol)

Protokół pułapu priorytetów (priority ceiling protocol)

Programowanie Svenska → Zaktualizowano: 2026-11-03

Reguła blokowania dla systemów czasu rzeczywistego, która nadaje każdemu zasobowi pułap priorytetu, tak by inwersja priorytetów i zakleszczenie nie mogły w ogóle wystąpić.

Każdemu mutexowi z góry przypisuje się pułap: najwyższy priorytet spośród zadań, które kiedykolwiek go zajmą. W najprostszej postaci, protokole natychmiastowego pułapu (ang. „highest locker”), zadanie zajmujące blokadę jest od razu podnoszone do pułapu i spada z powrotem dopiero po jej zwolnieniu. Żadne inne zadanie chcące tego samego zasobu nie może w tym czasie nawet stać się gotowe do uruchomienia.

Opisali go Sha, Rajkumar i Lehoczky w 1990 roku, w tym samym artykule, który wprowadził dziedziczenie priorytetów. Dziedziczenie reaguje, gdy konflikt już zaszedł; pułap mu zapobiega. Zysk jest dowodliwy: zadanie blokuje się najwyżej raz, na czas najwyżej jednej sekcji krytycznej, a cykliczne oczekiwanie jest niemożliwe. Koszt: trzeba z góry wiedzieć, kto czego używa — a tego i tak wymagają systemy certyfikowane pod kątem bezpieczeństwa. Ada nazywa to Ceiling_Locking, POSIX — PTHREAD_PRIO_PROTECT, a OSEK/AUTOSAR opiera na tym swój model zasobów.

← Wróć do leksykonu