Kluczowa różnica: Zakleszczenie dotyczy sytuacji, w której procesy utknęły w okólniku, czekając na zasoby. Z drugiej strony, głodzenie występuje, gdy proces oczekuje na zasoby w nieskończoność. Impas implikuje głód, ale głód nie oznacza impasu.
Prostym przykładem tego jest system z dwoma napędami taśmowymi, a dwa procesy zajmują jeden napęd taśmowy i czekają na drugi jako wymaganie dalszego postępowania.
Ważne jest, aby wspomnieć o sytuacji impasu, jeśli te cztery warunki są prawdziwe jednocześnie.
- Wzajemne wykluczenie - zasób może być używany tylko przez proces na raz
- Przytrzymaj i czekaj - proces, który zajmuje co najmniej jeden zasób, wymaga pozyskania dodatkowego zasobu zajętego przez inny proces, dlatego proces ten czeka na zwolnienie tego zasobu
- Bez prawa pierwszeństwa - zasób zostaje uwolniony tylko przez proces, który go zajął, po zakończeniu jego zadania.
- Circular wait - wszystkie procesy w zestawach czekają na zasób przechowywany przez inne procesy, które obejmują nawet ostatni proces w zestawie.
Zdarza się to jako proces o gorszym priorytecie. Nevers otrzymuje zasób ze względu na ciągły przepływ procesów o lepszym priorytecie niż on, a zatem proces może czekać na zawsze. Rozwiązaniem problemu radzenia sobie z głodem jest upewnienie się, że niezależny menedżer powinien zarządzać przydziałami zasobów, upewniając się, że każdy proces otrzymuje zasób w pewnym momencie. Należy unikać przypadkowych i niekontrolowanych selekcji lub konkurencji, aby zapobiec głodowi. Impas implikuje głód, ale głód nie implikuje impasu.
Dlatego impas i głód różnią się od siebie. Zakleszczenie występuje, gdy żaden z procesów w zestawie nie jest w stanie iść do przodu z powodu obłożenia wymaganych zasobów przez jakiś inny proces. Z drugiej strony, głodzenie występuje, gdy proces czeka na czas nieokreślony, aby uzyskać wymagany zasób.
Porównanie impasu i głodu:
Impas | Głód | |
Definicja | Zakleszczenie występuje, gdy żaden z procesów w zestawie nie jest w stanie iść do przodu z powodu obłożenia wymaganych zasobów przez jakiś inny proces | Głód występuje, gdy proces czeka na czas nieokreślony, aby uzyskać wymagany zasób. |
Inna nazwa | Okrągłe czekanie | Lived lock |
Warunki powstawania | Te cztery warunki powstające jednocześnie - wzajemne wykluczenie, wstrzymanie i oczekiwanie, brak wyprzedzenia i okrągła inteligencja | Niekontrolowane zarządzanie zasobami Priorytety procesów są ściśle egzekwowane Niedobór zasobów |
Techniki unikania / zapobiegania |
|
|
Postęp | Żaden proces nie może poczynić postępów | Oprócz procesu ofiary inne procesy mogą się rozwijać lub kontynuować |
Kończący się | Wymaga interwencji zewnętrznej | Może lub nie może wymagać interwencji zewnętrznej |