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