Podstawy Informatyki Synchronizacja procesów

Transkrypt

Podstawy Informatyki Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawy Informatyki
Synchronizacja procesów
dr inż. Alina MOMOT
[email protected]
http://zti.polsl.pl/AMomot/pi
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Plan wykładu
1
Synchronizacja procesów
Synchronizacja a komunikacja
Zadanie o producencie i konsumencie
Rozwiązanie problemu producenta i konsumenta
Przykład wzajemnej blokady
2
Analiza stanów systemu
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
3
Uzupełnienie
Klasyfikacja stanów systemu
Metody ochrony przed wzajemną blokadą
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Synchronizacja a komunikacja
Zadanie o producencie i konsumencie
Rozwiązanie problemu producenta i konsumenta
Przykład wzajemnej blokady
Synchronizacja a komunikacja
Synchronizacja
przekazywanie kontroli nad komputerem miedzy procesami
Komunikacja
przekazywanie danych między procesami
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Synchronizacja a komunikacja
Zadanie o producencie i konsumencie
Rozwiązanie problemu producenta i konsumenta
Przykład wzajemnej blokady
Przykład
Wykorzystanie semafora dla synchronizacji procesów.
Założenia:
Dwa procesy korzystają ze wspólnej zmiennej X.
Proces 1 oblicza X, zaś proces 2 korzysta z tej wyliczonej wartości.
Istnieje semafor zmX i zmienna e0 (zmX ) = 0.
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Synchronizacja a komunikacja
Zadanie o producencie i konsumencie
Rozwiązanie problemu producenta i konsumenta
Przykład wzajemnej blokady
Zadanie o producencie i konsumencie
Dwa procesy wymieniają się danymi poprzez wspólny bufor
Producent zapisuje do bufora
Konsument pobiera z bufora
Proces 1 (Producent)
Cyklicznie:
Produkuj
Zapisz do bufora
dr inż. Alina MOMOT
Proces 2 (Konsument)
Cyklicznie:
Pobierz z bufora
Skonsumuj
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Synchronizacja a komunikacja
Zadanie o producencie i konsumencie
Rozwiązanie problemu producenta i konsumenta
Przykład wzajemnej blokady
Synchronizacja w zadaniu o producencie i konsumencie
gdy bufor pełny producent musi wstrzymać produkcję
gdy bufor pusty konsument musi czekać na dane
Proces 1 (Producent)
Cyklicznie:
Produkuj
Sprawdź czy jest miejsce
Zapisz do bufora
dr inż. Alina MOMOT
Proces 2 (Konsument)
Cyklicznie:
Sprawdź czy są dane
Pobierz z bufora
Skonsumuj
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Synchronizacja a komunikacja
Zadanie o producencie i konsumencie
Rozwiązanie problemu producenta i konsumenta
Przykład wzajemnej blokady
Synchronizacja w zadaniu o producencie i konsumencie
gdy bufor pełny producent musi wstrzymać produkcję
gdy bufor pusty konsument musi czekać na dane
Proces 1 (Producent)
Cyklicznie:
Produkuj
Sprawdź czy jest miejsce
Zapisz do bufora
dr inż. Alina MOMOT
Proces 2 (Konsument)
Cyklicznie:
Sprawdź czy są dane
Pobierz z bufora
Skonsumuj
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Synchronizacja a komunikacja
Zadanie o producencie i konsumencie
Rozwiązanie problemu producenta i konsumenta
Przykład wzajemnej blokady
Rozwiązanie problemu producenta i konsumenta
Potrzebne są dwa semafory: dane i miejsce
Proces 1 (Producent)
Cyklicznie:
Produkuj
P(miejsce)
Zapisz do bufora
V(dane)
Proces 2 (Konsument)
Cyklicznie:
P(dane)
Pobierz z bufora
V(miejsce)
Skonsumuj
e0 (dane) = 0
e0 (miejsce) = 1
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Synchronizacja a komunikacja
Zadanie o producencie i konsumencie
Rozwiązanie problemu producenta i konsumenta
Przykład wzajemnej blokady
Rozwiązanie problemu producenta i konsumenta
Gdy pojemność bufora N jest większa od jeden,
dostęp do bufora musi być chroniony!
Proces 1 (Producent)
Cyklicznie:
Produkuj
P(miejsce)
P(bufor)
Zapisz do bufora
V(bufor)
V(dane)
Proces 2 (Konsument)
Cyklicznie:
P(dane)
P(bufor)
Pobierz z bufora
V(bufor)
V(miejsce)
Skonsumuj
e0 (dane) = 0
e0 (miejsce) = N
e0 (bufor) = 1
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Synchronizacja a komunikacja
Zadanie o producencie i konsumencie
Rozwiązanie problemu producenta i konsumenta
Przykład wzajemnej blokady
Przykład wzajemnej blokady
Proces 1 (Producent)
Cyklicznie:
Produkuj
P(bufor)
P(miejsce)
Zapisz do bufora
V(bufor)
V(dane)
Proces 2 (Konsument)
Cyklicznie:
P(dane)
P(bufor)
Pobierz z bufora
V(bufor)
V(miejsce)
Skonsumuj
e0 (dane) = 0
e0 (miejsce) = N
e0 (bufor) = 1
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Synchronizacja a komunikacja
Zadanie o producencie i konsumencie
Rozwiązanie problemu producenta i konsumenta
Przykład wzajemnej blokady
Przykład wzajemnej blokady
Proces 1 (Producent)
Cyklicznie:
Produkuj
P(bufor)
P(miejsce)
Zapisz do bufora
V(bufor)
V(dane)
Proces 2 (Konsument)
Cyklicznie:
P(dane)
P(bufor)
Pobierz z bufora
V(bufor)
V(miejsce)
Skonsumuj
e0 (dane) = 0
e0 (miejsce) = N
e0 (bufor) = 1
Problem wystąpi, gdy proces producenta jest zbyt szybki!
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Synchronizacja a komunikacja
Zadanie o producencie i konsumencie
Rozwiązanie problemu producenta i konsumenta
Przykład wzajemnej blokady
Przykład wzajemnej blokady
Proces 1 (Producent)
Cyklicznie:
Produkuj
P(miejsce)
P(bufor)
Zapisz do bufora
V(bufor)
V(dane)
Proces 2 (Konsument)
Cyklicznie:
P(bufor)
P(dane)
Pobierz z bufora
V(bufor)
V(miejsce)
Skonsumuj
e0 (dane) = 0
e0 (miejsce) = N
e0 (bufor) = 1
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Synchronizacja a komunikacja
Zadanie o producencie i konsumencie
Rozwiązanie problemu producenta i konsumenta
Przykład wzajemnej blokady
Przykład wzajemnej blokady
Proces 1 (Producent)
Cyklicznie:
Produkuj
P(miejsce)
P(bufor)
Zapisz do bufora
V(bufor)
V(dane)
Proces 2 (Konsument)
Cyklicznie:
P(bufor)
P(dane)
Pobierz z bufora
V(bufor)
V(miejsce)
Skonsumuj
e0 (dane) = 0
e0 (miejsce) = N
e0 (bufor) = 1
Problem wystąpi, gdy proces konsumenta jest zbyt szybki!
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Podstawowe pojęcia
Gospodarka zasobami – sposób przydziału zasobów procesom tak, aby:
zminimalizować czas realizacji procesów,
uniknąć wzajemnej blokady.
Wzajemna blokada (ang. deadlock) – sytuacja, gdy co najmniej dwa
różne procesy czekają na siebie nawzajem i żaden z nich nie może się
zakończyć.
Realizację procesów dzieli się na etapy – fragmenty, w których
przydzielone procesowi zasoby są stałe.
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład 1
Dwa procesy korzystają ze wspólnej drukarki.
Proces 1
···
Proces 2
···
Drukuj nagłówek
···
Drukuj dane
Drukuj nagłówek
···
Drukuj dane
···
···
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład 1
Dwa procesy korzystają ze wspólnej drukarki.
Drukarka jest zasobem niepodzielnym, który trzeba chronić.
Wprowadzamy semafor dr, który inicjujemy e0 (dr ) = 1
Proces 1
···
P(dr)
Drukuj nagłówek
···
Drukuj dane
V(dr)
···
Proces 2
···
P(dr)
Drukuj nagłówek
···
Drukuj dane
V(dr)
···
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład 1
Dwa procesy korzystają ze wspólnej drukarki.
Drukarka jest zasobem niepodzielnym, który trzeba chronić.
Wprowadzamy semafor dr, który inicjujemy e0 (dr ) = 1
Proces 1
···
P(dr)
Drukuj nagłówek
···
Drukuj dane
V(dr)
···
faza 1
faza 2
faza 3
dr inż. Alina MOMOT
Proces 2
faza 1
···
P(dr)
Drukuj nagłówek
faza 2
···
Drukuj dane
V(dr)
···
faza 3
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład 2
Dwa procesy korzystają ze wspólnej drukarki oraz plotera.
Proces 1
···
Proces 2
···
Drukuj nagłówek
···
Plotuj 1
···
Plotuj 1
···
Drukuj dane
Drukuj nagłówek
···
Plotuj 2
···
Plotuj 2
···
Drukuj dane
···
···
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład 2
Dwa procesy korzystają ze wspólnej drukarki oraz plotera.
Wprowadzamy semafory dr i pl, który inicjujemy e0 (dr ) = 1, e0 (pl) = 1
Proces 2
···
P(pl)
Plotuj 1
···
P(dr)
Drukuj nagłówek
···
Plotuj 2
V(pl)
···
Drukuj dane
V(dr)
···
Proces 1
···
P(dr)
Drukuj nagłówek
···
P(pl)
Plotuj 1
···
Drukuj dane
V(dr)
···
Plotuj 2
V(pl)
···
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład 2
Dwa procesy korzystają ze wspólnej drukarki oraz plotera.
Wprowadzamy semafory dr i pl, który inicjujemy e0 (dr ) = 1, e0 (pl) = 1
Proces 1
···
P(dr)
Drukuj nagłówek
···
P(pl)
Plotuj 1
···
Drukuj dane
V(dr)
···
Plotuj 2
V(pl)
···
faza 1
faza 2
faza 3
faza 4
faza 5
dr inż. Alina MOMOT
Proces 2
···
P(pl)
Plotuj 1
···
P(dr)
Drukuj nagłówek
···
Plotuj 2
V(pl)
···
Drukuj dane
V(dr)
···
Synchronizacja procesów
faza 1
faza 2
faza 3
faza 4
faza 5
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład 2 c.d.
(0,0)
(1,0)
(1,1)
(0,1)
(0,0)
Proces 1
···
P(dr)
Drukuj nagłówek
···
P(pl)
Plotuj 1
···
Drukuj dane
V(dr)
···
Plotuj 2
V(pl)
···
faza 1
(0,0)
faza 2
(0,1)
faza 3
(1,1)
faza 4
(1,0)
faza 5
(0,0)
dr inż. Alina MOMOT
Proces 2
···
P(pl)
Plotuj 1
···
P(dr)
Drukuj nagłówek
···
Plotuj 2
V(pl)
···
Drukuj dane
V(dr)
···
Synchronizacja procesów
faza 1
faza 2
faza 3
faza 4
faza 5
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład 2 - płaszczyzna fazowa
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład 2 - stany możliwe (drukarka)
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład 2 - stany możliwe (drukarka i ploter)
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład 2 - stan niebezpieczny
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład 2 - możliwa realizacja
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Formalna analiza stanów systemu - wprowadzenie
Dany jest zbiór n programów/procesów P = P1 , P2 , . . . , Pn
Dany jest zbiór m klas zasobów Z = Z1 , Z2 , . . . , Zm
Łączne zasoby systemu określa wektor X (niezmienny w czasie):
X = [x1 , x2 , . . . , xm ]T
Dla każdego procesu Pi na każdym etapie jego realizacji definiuje się
dwa wektory:
Wektor zasobów przydzielonych procesowi
Ai (t) = [ai1 (t), ai2 (t), . . . , aim (t)]T
Wektor zasobów potrzebnych do dokończenia procesu
Bi (t) = [bi1 (t), bi2 (t), . . . , bim (t)]T
Sytuację w systemie w chwili t określa para macierzy:
A(t) = [A1 (t), A2 (t), ..., An (t)]
B(t) = [B1 (t), B2 (t), ..., Bn (t)]
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Formalna analiza stanów systemu - stan możliwy
System znajduje się w chwili t w stanie możliwym, gdy
Bi (t) ¬ X
Ai (t) ¬ Bi (t)
n
X
∀i ∈ {1, 2, . . . , n}
∀i ∈ {1, 2, . . . , n}
Ai (t) ¬ X , czyli rezerwa systemu R = X −
i=1
n
X
i=1
dr inż. Alina MOMOT
Synchronizacja procesów
Ai (t) ­ 0
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Formalna analiza stanów systemu - stan bezpieczny
Stan bezpieczny – stan możliwy, dla którego można znaleźć zdrowy ciąg
procesów.
Zdrowy ciąg procesów – takie uporządkowanie procesów, że możliwe
jest ich sekwencyjne dokończenie, czyli dla dowolnego procesu Pi w
zdrowym ciągu:
Bi (t) ¬ R(t) + Ai (t) +
X
Aj (t),
S(j)<S(i)
gdzie S jest funkcją porządkującą ciąg procesów.
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład - analiza stanu systemu w punkcie 1
X =
A1 =
B1 =
dr inż. Alina MOMOT
Synchronizacja procesów
1
0
1
1
1
1
0
1
1
1
A2 =
B2 =
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład - analiza stanu systemu w punkcie 1
X =
A1 =
B1 =
Czy B1 ¬ X i B2 ¬ X ?
Czy A1 ¬ B1 i A2 ¬ B2 ?
Czy A1 + A2 ¬ X ?
dr inż. Alina MOMOT
Synchronizacja procesów
1
0
1
1
1
1
0
1
1
1
A2 =
B2 =
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład - analiza stanu systemu w punkcie 1
X =
A1 =
B1 =
Czy B1 ¬ X i B2 ¬ X ?
1
1
0
1
1
1
A2 =
B2 =
TAK
Czy A1 ¬ B1 i A2 ¬ B2 ?
Czy A1 + A2 ¬ X ?
1
0
1
1
TAK
TAK, czyli rezerwa R = X − A1 − A2 ­ 0
Wniosek: stan jest możliwy.
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład - analiza stanu systemu w punkcie 1
X =
A1 =
B1 =
Czy ciąg (P1 , P2 ) jest zdrowy?
Czy B1 ¬ R + A1 ?
dr inż. Alina MOMOT
Synchronizacja procesów
1
0
1
1
1
1
0
1
1
1
A2 =
B2 =
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład - analiza stanu systemu w punkcie 1
X =
A1 =
B1 =
Czy
Czy
Czy
Czy
1
0
1
1
1
1
B2 =
ciąg (P1 , P2 ) jest zdrowy?
NIE, gdyż R = [0 0]T – ciąg chory
B1 ¬ R + A1 ?
ciąg (P2 , P1 ) jest zdrowy?
B2 ¬ R + A2 ?
dr inż. Alina MOMOT
Synchronizacja procesów
0
1
1
1
A2 =
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład - analiza stanu systemu w punkcie 1
X =
A1 =
B1 =
Czy
Czy
Czy
Czy
1
0
1
1
1
1
0
1
1
1
A2 =
B2 =
ciąg (P1 , P2 ) jest zdrowy?
NIE, gdyż R = [0 0]T – ciąg chory
B1 ¬ R + A1 ?
ciąg (P2 , P1 ) jest zdrowy?
NIE, gdyż R = [0 0]T – ciąg chory
B2 ¬ R + A2 ?
Wniosek: brak zdrowego ciągu procesów, stan jest niebezpieczny.
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład - analiza stanu systemu w punkcie 2
X =
A1 =
B1 =
dr inż. Alina MOMOT
Synchronizacja procesów
1
1
1
1
1
1
1
1
1
1
A2 =
B2 =
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład - analiza stanu systemu w punkcie 2
X =
A1 =
B1 =
Czy B1 ¬ X i B2 ¬ X ?
Czy A1 ¬ B1 i A2 ¬ B2 ?
Czy A1 + A2 ¬ X ?
dr inż. Alina MOMOT
Synchronizacja procesów
1
1
1
1
1
1
1
1
1
1
A2 =
B2 =
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład - analiza stanu systemu w punkcie 2
X =
A1 =
B1 =
Czy B1 ¬ X i B2 ¬ X ?
1
1
TAK
NIE, gdyż A1 + A2 = [2 2]T
Wniosek: stan jest niemożliwy.
dr inż. Alina MOMOT
Synchronizacja procesów
1
1
1
1
A2 =
TAK
Czy A1 ¬ B1 i A2 ¬ B2 ?
Czy A1 + A2 ¬ X ?
1
1
1
1
B2 =
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład - analiza stanu systemu w punkcie 3
X =
A1 =
B1 =
dr inż. Alina MOMOT
Synchronizacja procesów
0
1
0
1
1
1
1
0
1
0
A2 =
B2 =
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład - analiza stanu systemu w punkcie 3
X =
A1 =
B1 =
Czy B1 ¬ X i B2 ¬ X ?
Czy A1 ¬ B1 i A2 ¬ B2 ?
Czy A1 + A2 ¬ X ?
dr inż. Alina MOMOT
Synchronizacja procesów
0
1
0
1
1
1
1
0
1
0
A2 =
B2 =
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład - analiza stanu systemu w punkcie 3
X =
A1 =
B1 =
Czy B1 ¬ X i B2 ¬ X ?
0
1
1
0
1
0
A2 =
B2 =
TAK
Czy A1 ¬ B1 i A2 ¬ B2 ?
Czy A1 + A2 ¬ X ?
0
1
1
1
TAK
TAK, czyli rezerwa R = X − A1 − A2 ­ 0
Wniosek: stan jest możliwy.
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład - analiza stanu systemu w punkcie 3
X =
A1 =
B1 =
Czy ciąg (P1 , P2 ) jest zdrowy?
Czy B1 ¬ R + A1 ?
dr inż. Alina MOMOT
Synchronizacja procesów
0
1
0
1
1
1
1
0
1
0
A2 =
B2 =
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład - analiza stanu systemu w punkcie 3
X =
A1 =
B1 =
Czy ciąg (P1 , P2 ) jest zdrowy?
TAK
Czy B1 ¬ R + A1 ?
Czy B2 ¬ R + A2 + A1 ?
dr inż. Alina MOMOT
Synchronizacja procesów
0
1
0
1
1
1
1
0
1
0
A2 =
B2 =
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Podstawowe pojęcia
Płaszczyzna fazowa
Formalna analiza stanów systemu
Przykład
Przykład - analiza stanu systemu w punkcie 3
X =
A1 =
B1 =
0
1
0
1
Czy ciąg (P1 , P2 ) jest zdrowy?
TAK
Czy B1 ¬ R + A1 ?
TAK – ciąg zdrowy
Czy B2 ¬ R + A2 + A1 ?
Wniosek: stan jest bezpieczny.
dr inż. Alina MOMOT
Synchronizacja procesów
1
1
1
0
1
0
A2 =
B2 =
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Klasyfikacja stanów systemu
Metody ochrony przed wzajemną blokadą
Analiza stanu systemu - podsumowanie
1
2
3
stan możliwy, niebezpieczny
stan niemożliwy
stan możliwy, bezpieczny, nierealizowalny
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Klasyfikacja stanów systemu
Metody ochrony przed wzajemną blokadą
Klasyfikacja stanów systemu
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Klasyfikacja stanów systemu
Metody ochrony przed wzajemną blokadą
Przykład 3
Stan niebezpieczny nie musi oznaczać blokady wzajemnej
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Klasyfikacja stanów systemu
Metody ochrony przed wzajemną blokadą
Metody ochrony przed wzajemną blokadą
Metody dynamiczne – przed przydzieleniem zasobu następuje
kontrola, czy po jego przydzieleniu system pozostanie w stanie
bezpiecznym.
Metoda bankiera – jeżeli jest proces, który potrzebuje jedynie
zasobów znajdujących się w rezerwie systemu wykonaj go, a
następnie przejdź do wykonywania kolejnego procesu.
Metoda przydziałów globalnych – każdy proces otrzymuje od
razu na starcie wszystkie potrzebne mu zasoby, a jeżeli nie jest to
możliwe musi czekać.
Metoda klas uporządkowanych – zasoby dzielone są na klasy wg
pewnego priorytetu i przydzielane są tylko w kolejności zgodnej z
ustalonym priorytetem.
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Klasyfikacja stanów systemu
Metody ochrony przed wzajemną blokadą
Metoda klas uporządkowanych - przykład
Proces 1
···
P(z1)
korzystanie z zasobu Z1
···
P(z2)
korzystanie z zasobu Z2
···
dr inż. Alina MOMOT
Proces 2
···
P(z2)
korzystanie z zasobu Z2
···
P(z1)
korzystanie z zasobu Z1
···
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Klasyfikacja stanów systemu
Metody ochrony przed wzajemną blokadą
Metoda klas uporządkowanych - przykład
Proces 1
···
P(z1)
korzystanie z zasobu Z1
···
P(z2)
korzystanie z zasobu Z2
···
Proces 2
···
P(z2)
korzystanie z zasobu Z2
···
P(z1)
korzystanie z zasobu Z1
···
Wzajemna blokada
dr inż. Alina MOMOT
Synchronizacja procesów
Plan wykładu
Synchronizacja procesów
Analiza stanów systemu
Uzupełnienie
Klasyfikacja stanów systemu
Metody ochrony przed wzajemną blokadą
Metoda klas uporządkowanych - przykład
Założenie: priorytet(Z1) > priorytet(Z2)
Zasada: nie przydziela się procesowi zasobu klasy niższej, jeżeli nie
posiada a będzie potrzebował zasobu klasy wyższej.
Proces 1
···
P(z1)
korzystanie z zasobu Z1
···
P(z2)
korzystanie z zasobu Z2
···
dr inż. Alina MOMOT
Proces 2
···
P(z1)
P(z2)
korzystanie z zasobu Z2
···
korzystanie z zasobu Z1
···
Synchronizacja procesów

Podobne dokumenty