Wykonanie procesu 1 zostaje wstrzymane.

Algorytm szeregowania systemu operacyjnego wybiera do wykonania proces 2, proces ten zostaje wykonany do końca, gdyż posiada najwyższy priorytet spośród procesów gotowych do wykonania (gotowe do wykonania są procesy 2 i 3).

Dopiero po zakończeniu procesu 2 zostaje ponownie uruchomiony proces 3, który natychmiast po zwolnieniu zasobu zostaje wywłaszczony przez proces 1, który może kontynuować wykonanie.

W powyższym przykładzie proces 1 o wyższym priorytecie jest wykonywany dopiero po zakończeniu procesu 2 o niższym priorytecie – taka sytuacja jest nazywana inwersją priorytetów. Jako środek zaradczy stosuje się dziedziczenie priorytetów. Polega ono na tymczasowym podniesieniu priorytetu procesów wywłaszczonych, które rezerwują zasoby, do najwyższego priorytetu procesu oczekującego na te zasoby. Oryginalna wartość priorytetu zostaje im przywrócona natychmiast po zwolnieniu zasobów.

Kategoria:Budowa systemu operacyjnego