SOP wyk nr 15-Slajd31: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Dwa (dyskusja | edycje)
Nie podano opisu zmian
 
Dwa (dyskusja | edycje)
uzupełnienie
 
(Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika)
Linia 4: Linia 4:




Analiza graf przydziału zasobów nieodzyskiwalnych jest trudniejsze, niż w przypadku zasobów odzyskiwalnych. Chociaż można wskazać pewne własności, które umożliwiałyby wykrycie np. stanu zakleszczenia, dotyczą one szczególnych przypadków. Trudno np. rozważać system z zasobami pojedynczymi. Jedyną sensowną metodą jest redukcja grafu przydziału, co zostanie przedstawione w następnym module. Ale i takie podejście nie zawsze gwarantuje precyzyjne określenia rzeczywistego stanu.
Analiza graf przydziału zasobów nieodzyskiwalnych jest trudniejsza, niż w przypadku zasobów odzyskiwalnych. Chociaż można wskazać pewne własności, które umożliwiałyby wykrycie np. stanu zakleszczenia, dotyczą one szczególnych przypadków. Trudno np. rozważać system z zasobami pojedynczymi. Jedyną sensowną metodą jest redukcja grafu przydziału, co zostanie przedstawione w następnym module. Ale i takie podejście nie zawsze gwarantuje precyzyjne określenia rzeczywistego stanu.
 
W przedstawionym przykładzie procesy ''P''<sub>3</sub> i ''P''<sub>4</sub> są zablokowane ze względu na niedostępność jednostek odpowiednio zasobu ''Z''<sub>3</sub> i ''Z''<sub>4</sub>. Jednostki tych zasobów mogą zostać wyprodukowane odpowiednio przez procesy ''P''<sub>1</sub> i ''P''<sub>2</sub> pod warunkiem odblokowania tych procesów. Dalszy przebieg przetwarzania zależy od kolejności zdarzeń w systemie lub decyzji zarządcy zasobów. Przydzielając jednostkę zasobu ''Z''<sub>1</sub> procesowi ''P''<sub>1</sub> a jednostkę zasobu ''Z''<sub>2</sub> procesowi ''P''<sub>2</sub> (lub odwrotnie), system wchodzi w stan zakleszczenia, niezależnie od tego czy zasoby ''Z''<sub>1</sub> i ''Z''<sub>2</sub> są odzyskiwalne, czy nie. Przydzielenie jednostek obu zasobów jednemu z procesów doprowadzi do zakleszczenia drugiego. Na przykład, jeśli ''P''<sub>1</sub> uzyska jednostki obu zasobów wyprodukuje ''Z''<sub>3</sub>, co odblokuje ''P''<sub>3</sub>, a dalej umożliwi wyprodukowanie jednostki zasobu ''Z''<sub>1</sub>. Dla ''P''<sub>2</sub> zabraknie jednak jednostki zasobu ''Z''<sub>2</sub>. W przypadku zasobów odzyskiwalnych, odpowiednie jednostki zostałyby po prostu zwolnione po zakończeniu procesów — jednostka zasobu ''Z''<sub>2</sub> wróciłaby wówczas do systemu. Zgodnie z definicją zakleszczenia, każdy z procesów da się odblokować (nie ma więc zakleszczenia), ale odblokowanie ''P''<sub>1</sub> powoduje zakleszczenie ''P''<sub>2</sub> i ''P''<sub>4</sub>, a odblokowanie ''P''<sub>2</sub> powoduje zakleszczenie ''P''<sub>1</sub> i ''P''<sub>3</sub>. 


W przedstawionym przykładzie procesy ''P3'' i ''P4'' są zablokowane ze względu na niedostępność jednostek odpowiednio zasobu ''Z3'' i ''Z4'' . Jednostki tych zasobów mogą zostać wyprodukowane odpowiednio przez procesy ''P1'' i ''P2'' pod warunkiem odblokowania tych procesów. Dalszy przebieg przetwarzania zależy od kolejności zdarzeń w systemie lub decyzji zarządcy zasobów. Przydzielając jednostkę zasobu ''Z1'' procesowi ''P1'' a jednostkę zasobu ''Z2'' procesowi ''P2'' (lub odwrotnie) system wchodzi w stan zakleszczenia, niezależnie od tego czy zasoby ''Z1'' i ''Z2'' są odzyskiwalne, czy nie. Przydzielenie jednostek obu zasobów jednemu z procesów doprowadzi do zakleszczenia drugiego. Na przykład, jeśli ''P1'' uzyska jednostki obu zasobów wyprodukuje ''Z3'' , co odblokuje ''P3'' , a dalej umożliwi wyprodukowanie jednostki zasobu ''Z1'' . Dla ''P2'' zabraknie jednak jednostki zasobu ''Z2'' . W przypadku zasobów odzyskiwalnych, odpowiednie jednostki zostałyby po prostu zwolnione po zakończeniu procesów — jednostka zasobu ''Z2'' wróciłaby wówczas do systemu. Zgodnie z definicją zakleszczenie, każdy z procesów da się odblokować (nie ma więc zakleszczenia), ale odblokowanie ''P1'' powoduje zakleszczenie ''P2'' i ''P4'' , a odblokowanie ''P2'' powoduje zakleszczenie ''P1'' i ''P3'' . 




[[SOP_wyk_nr_15-Slajd30 | << Poprzedni slajd]] | [[SOP_wyk_nr_15-toc|Spis treści ]] | [[SOP_wyk_nr_15-Slajd32 | Następny slajd >>]]
[[SOP_wyk_nr_15-Slajd30 | << Poprzedni slajd]] | [[SOP_wyk_nr_15-toc|Spis treści ]] | [[SOP_wyk_nr_15-Slajd32 | Następny slajd >>]]

Aktualna wersja na dzień 14:54, 8 wrz 2006

Przykład analizy grafu przydziału zasobów nieodzyskiwalnych

Przykład analizy grafu przydziału zasobów nieodzyskiwalnych


Analiza graf przydziału zasobów nieodzyskiwalnych jest trudniejsza, niż w przypadku zasobów odzyskiwalnych. Chociaż można wskazać pewne własności, które umożliwiałyby wykrycie np. stanu zakleszczenia, dotyczą one szczególnych przypadków. Trudno np. rozważać system z zasobami pojedynczymi. Jedyną sensowną metodą jest redukcja grafu przydziału, co zostanie przedstawione w następnym module. Ale i takie podejście nie zawsze gwarantuje precyzyjne określenia rzeczywistego stanu.

W przedstawionym przykładzie procesy P3 i P4 są zablokowane ze względu na niedostępność jednostek odpowiednio zasobu Z3 i Z4. Jednostki tych zasobów mogą zostać wyprodukowane odpowiednio przez procesy P1 i P2 pod warunkiem odblokowania tych procesów. Dalszy przebieg przetwarzania zależy od kolejności zdarzeń w systemie lub decyzji zarządcy zasobów. Przydzielając jednostkę zasobu Z1 procesowi P1 a jednostkę zasobu Z2 procesowi P2 (lub odwrotnie), system wchodzi w stan zakleszczenia, niezależnie od tego czy zasoby Z1 i Z2 są odzyskiwalne, czy nie. Przydzielenie jednostek obu zasobów jednemu z procesów doprowadzi do zakleszczenia drugiego. Na przykład, jeśli P1 uzyska jednostki obu zasobów wyprodukuje Z3, co odblokuje P3, a dalej umożliwi wyprodukowanie jednostki zasobu Z1. Dla P2 zabraknie jednak jednostki zasobu Z2. W przypadku zasobów odzyskiwalnych, odpowiednie jednostki zostałyby po prostu zwolnione po zakończeniu procesów — jednostka zasobu Z2 wróciłaby wówczas do systemu. Zgodnie z definicją zakleszczenia, każdy z procesów da się odblokować (nie ma więc zakleszczenia), ale odblokowanie P1 powoduje zakleszczenie P2 i P4, a odblokowanie P2 powoduje zakleszczenie P1 i P3.


<< Poprzedni slajd | Spis treści | Następny slajd >>