Zakleszczenie
Zakleszczenie występuje, gdy każdy komputer czeka na zasób przechowywany przez inny proces. Należy zapobiegać zakleszczeniu, zanim do niego dojdzie. Harmonogram zasobów może wykryć wystąpienie zakleszczenia, co pomaga systemowi operacyjnemu śledzić zasoby przydzielone do różnych procesów. Zakleszczenie może wystąpić, jeśli spełnione są jednocześnie następujące cztery warunki:
•Brak działania zapobiegawczego – zasób może zostać zwolniony tylko dobrowolnie przez proces, który go przechowuje, po zakończeniu zadania przez ten proces.
•Wzajemne wykluczanie – specjalny typ semafora binarnego używany do kontroli dostępu do zasobu współdzielonego. Umożliwia blokowanie bieżących zadań o wyższym priorytecie przez możliwie najkrótszy czas.
•Wstrzymaj i poczekaj – w tym stanie procesy muszą zostać zatrzymane przed przechowywaniem jednego lub wielu zasobów, jednocześnie czekając na jeden lub więcej innych.
•Oczekiwanie cykliczne – wymusza całkowite uporządkowanie wszystkich typów zasobów. Oczekiwanie cykliczne wymaga również, aby każdy proces żądał zasobów w rosnącej kolejności wyliczenia.
Istnieją trzy sposoby radzenia sobie z zakleszczeniem:
•Nie pozwól, aby system znalazł się w stanie zakleszczenia.
•Pozwól na wystąpienie zakleszczenia, a następnie spróbuj mu zapobiec, gdy już wystąpi.
•Jeśli wystąpi zakleszczenie, uruchom ponownie system.