SO-1st-2.3-w14.tresc-1.0-Slajd21: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 4: | Linia 4: | ||
Z maksymalnego zapotrzebowania oraz bieżącego przydziału wynika, że proces '' | Z maksymalnego zapotrzebowania oraz bieżącego przydziału wynika, że proces ''P<sub>1</sub>'' może zażądać jeszcze 5 jednostek (deklaruje 10, a 5 już ma), proces ''P<sub>2</sub>'' może zażądać jeszcze 2 jednostek, a proces ''P<sub>3</sub>'' jeszcze 7 jednostek. Do rozdysponowania pozostały jeszcze 3 jednostki, gdyż 9 zostało przydzielonych (5+2+2). W wariancie pesymistycznym żądań zasobowych te 3 wolne jednostki wystarczą dla procesu ''P<sub>2</sub>'' . Po zakończeniu ''P<sub>2</sub>'' odzyskane zostaną przydzielone mu jednostki, łącznie będzie więc 5 wolnych jednostek. Taka liczba jednostek będzie wystarczająca dla ''P<sub>1</sub>'' , a po odzyskaniu przydzielonych mu jednostek ich liczba wzrośnie do 10. Oczywiście uwzględniając ograniczenia na wielkość zamówień, uzyskane jednostki muszą być wystarczające dla ''P<sub>3</sub>'' . Ciąg bezpieczny to ''P<sub>2</sub>'' , ''P<sub>1</sub>'' , ''P<sub>3</sub>'' . | ||
Po zrealizowaniu żądania procesu ''P3'' stan systemu jest następujący: | Po zrealizowaniu żądania procesu ''P3'' stan systemu jest następujący: | ||
* '' | * ''P<sub>1</sub>'' ma przydzielone 5 jednostek, może potrzebować jeszcze 5, | ||
* '' | * ''P<sub>2</sub>'' ma przydzielone 2 jednostki, może potrzebować jeszcze 2, | ||
* '' | * ''P<sub>3</sub>'' ma przydzielone 3 jednostki, może potrzebować jeszcze 3. | ||
W systemie pozostały 2 wolne jednostki, którymi można zaspokoić potencjalne potrzeby procesu '' | W systemie pozostały 2 wolne jednostki, którymi można zaspokoić potencjalne potrzeby procesu ''P<sub>2</sub>'' . Po zakończeniu ''P<sub>2</sub>'' liczba jednostek do rozdysponowania zwiększy się do 4, ale może się to okazać niewystarczające zarówno dla ''P<sub>1</sub>'' , jak i dla ''P<sub>3</sub>'' . Gdyby któryś z nich zażądał więcej niż 4 jednostek (co jest zgodne z ich deklaracjami), doszłoby do zakleszczenia. Zrealizowanie żądania procesu ''P<sub>2</sub>'' wprowadza system w stan niebezpieczny. Stan ten nie oznacza jednak jeszcze zakleszczenia — jest to dopiero zagrożenie. Przy sprzyjającym zbiegu okoliczności (sprzyjającej sekwencji żądań) zakleszczenia można uniknąć. | ||
[[SO-1st-2.3-w14.tresc-1.0-Slajd20 | << Poprzedni slajd]] | [[SO-1st-2.3-w14.tresc-1.0-toc|Spis treści ]] | [[SO-1st-2.3-w14.tresc-1.0-Slajd22 | Następny slajd >>]] | [[SO-1st-2.3-w14.tresc-1.0-Slajd20 | << Poprzedni slajd]] | [[SO-1st-2.3-w14.tresc-1.0-toc|Spis treści ]] | [[SO-1st-2.3-w14.tresc-1.0-Slajd22 | Następny slajd >>]] |
Aktualna wersja na dzień 08:57, 25 wrz 2006
Przykład stanu i ciągu bezpiecznego
Z maksymalnego zapotrzebowania oraz bieżącego przydziału wynika, że proces P1 może zażądać jeszcze 5 jednostek (deklaruje 10, a 5 już ma), proces P2 może zażądać jeszcze 2 jednostek, a proces P3 jeszcze 7 jednostek. Do rozdysponowania pozostały jeszcze 3 jednostki, gdyż 9 zostało przydzielonych (5+2+2). W wariancie pesymistycznym żądań zasobowych te 3 wolne jednostki wystarczą dla procesu P2 . Po zakończeniu P2 odzyskane zostaną przydzielone mu jednostki, łącznie będzie więc 5 wolnych jednostek. Taka liczba jednostek będzie wystarczająca dla P1 , a po odzyskaniu przydzielonych mu jednostek ich liczba wzrośnie do 10. Oczywiście uwzględniając ograniczenia na wielkość zamówień, uzyskane jednostki muszą być wystarczające dla P3 . Ciąg bezpieczny to P2 , P1 , P3 .
Po zrealizowaniu żądania procesu P3 stan systemu jest następujący:
- P1 ma przydzielone 5 jednostek, może potrzebować jeszcze 5,
- P2 ma przydzielone 2 jednostki, może potrzebować jeszcze 2,
- P3 ma przydzielone 3 jednostki, może potrzebować jeszcze 3.
W systemie pozostały 2 wolne jednostki, którymi można zaspokoić potencjalne potrzeby procesu P2 . Po zakończeniu P2 liczba jednostek do rozdysponowania zwiększy się do 4, ale może się to okazać niewystarczające zarówno dla P1 , jak i dla P3 . Gdyby któryś z nich zażądał więcej niż 4 jednostek (co jest zgodne z ich deklaracjami), doszłoby do zakleszczenia. Zrealizowanie żądania procesu P2 wprowadza system w stan niebezpieczny. Stan ten nie oznacza jednak jeszcze zakleszczenia — jest to dopiero zagrożenie. Przy sprzyjającym zbiegu okoliczności (sprzyjającej sekwencji żądań) zakleszczenia można uniknąć.