Sr-7-wyk-2.0-Slajd28
Warunki konieczne zakleszczenia
Aby wystąpiło zakleszczenie muszą być spełnione pewne warunki.
Po pierwsze musi występować wzajemne wykluczanie . Oznacza to, że jeśli w danej chwili zasobu używa jeden proces, to nie może z niego równocześnie korzystać inny.
Kolejnym warunkiem koniecznym do wystąpienia zakleszczenia jest istnienie procesu, który korzysta z jakiegoś zasobu, a jednocześnie sam oczekuje na przydział zasobu blokowanego przez inny proces.
Zakleszczenie warunkuje również brak możliwości wywłaszczania zasobów . Jeżeli proces blokuje zasób, tylko on może go zwolnić po zakończeniu swojej działania.
Ostatnim warunkiem, który nakłada się z dwoma poprzednimi, jest czekanie cykliczne . Polega to na tym, że istnieje ciąg procesów, z których każdy czeka na pewien zasób przetrzymywany przez kolejny proces w ciągu, a dodatkowo ostatni proces w ciągu czeka na zasoby przetrzymywane przez pierwszy proces w ciągu.