jest scharakteryzowane przez: wektor maksymalnych żądań (ang. claims), T oznaczający maksymalne żądanie zasobowe zadania P j

Podobne dokumenty
MODYFIKACJA KOSZTOWA ALGORYTMU JOHNSONA DO SZEREGOWANIA ZADAŃ BUDOWLANYCH

Uwaga 1.1 Jeśli R jest relacją w zbiorze X X, to mówimy, że R jest relacją w zbiorze X. Rozważmy relację R X X. Relację R nazywamy zwrotną, gdy:

Grupowanie sekwencji czasowych

Porządek dostępu do zasobu: procesory obszary pamięci cykle procesora pliki urządzenia we/wy

Wzajemne wykluczanie i zakleszczenie

Colloquium 3, Grupa A

P k k (n k) = k {O O O} = ; {O O R} =

σ-ciało zdarzeń Niech Ω będzie niepustym zbiorem zdarzeń elementarnych, a zbiór F rodziną podzbiorów zbioru Ω spełniającą warunki: jeśli A F, to A F;

Matematyka dyskretna. Wykład 2: Kombinatoryka. Gniewomir Sarbicki

CYKLICZNY PROBLEM PRZEPŁYWOWY Z PRZEZBROJENIAMI MASZYN

Indukcja matematyczna

wtedy i tylko wtedy, gdy rozwiązanie i jest nie gorsze od j względem k-tego kryterium. 2) Macierz części wspólnej Utwórz macierz

Optymalizacja harmonogramów budowlanych - problem szeregowania zadań

Ćwiczenie 4 Badanie wpływu asymetrii obciążenia na pracę sieci

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Bilansowanie hierarchicznej struktury zasobów w planowaniu przedsięwzięć inżynieryjno-budowlanych

Detekcja zakleszczenia (1)

J. Ułasiewicz Programowanie aplikacji współbieżnych 1

DSP-MATLAB, Ćwiczenie 5, P.Korohoda, KE AGH. Ćwiczenie 5. Przemysław Korohoda, KE, AGH

Systemy operacyjne. wykład 11- Zakleszczenia. dr Marcin Ziółkowski. Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie

Podstawy rachunku prawdopodobieństwa (przypomnienie)

ANALIZA WIELOKRYTERIALNA

Optymalizacja harmonogramów budowlanych - problem szeregowania zadań

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ALGORYTM MRÓWKOWY (ANT SYSTEM) ALGORYTM MRÓWKOWY. Algorytm mrówkowy

1 Przestrzeń zdarzeń elementarnych

ZARYS METODY OPISU KSZTAŁTOWANIA SKUTECZNOŚCI W SYSTEMIE EKSPLOATACJI WOJSKOWYCH STATKÓW POWIETRZNYCH

Metody optymalizacji nieliniowej (metody programowania nieliniowego) Ewa Niewiadomska-Szynkiewicz Instytut Automatyki i Informatyki Stosowanej

A. Cel ćwiczenia. B. Część teoretyczna

ładunek do przewiezienia dwie możliwości transportu

koszt kapitału D/S L dźwignia finansowa σ EBIT zysku operacyjnego EBIT firmy. Firmy Modele struktury kapitału Rys Krzywa kosztów kapitału.

UZUPEŁNIENIA DO WYKŁADÓW A-C

(U.3) Podstawy formalizmu mechaniki kwantowej

UNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH

Algebra liniowa z geometrią analityczną

jednoznacznie wyznaczają wymiary wszystkich reprezentacji grup punktowych, a związki ortogonalności jednoznacznie wyznaczają ich charaktery

Badanie stacjonarności szeregów czasowych w programie GRETL

TEORIA OBWODÓW I SYGNAŁÓW LABORATORIUM

Algorytm wyznaczania krotności diagnostycznej struktury opiniowania diagnostycznego typu PMC 1

A i A j lub A j A i. Operator γ : 2 X 2 X jest ciągły gdy

Modelowanie przez zjawiska przybliżone. Modelowanie poprzez zjawiska uproszczone. Modelowanie przez analogie. Modelowanie matematyczne

Optymalizacja. Przeszukiwanie lokalne

4.15 Badanie dyfrakcji światła laserowego na krysztale koloidalnym(o19)

KONCEPCJA SYSTEMU BONIFIKAT DLA ODBIORCÓW ZA NIEDOTRZYMANIE PRZEZ DOSTAWCĘ WYMAGANEGO POZIOMU JAKOŚCI NAPIĘCIA

ROZDZIAŁ 10 METODA KOMPONOWANIA ZESPOŁU CZYNNIKI EFEKTYWNOŚCI SKŁADU ZESPOŁU

WSPOMAGANIE DECYZJI W OBSZARZE WYZNACZANIA TRAS POJAZDÓW

PROGRAM NAUCZANIA PRZEDMIOTU OBOWIĄZKOWEGO NA WYDZIALE LEKARSKIM I ROK AKADEMICKI 2017/2018 PRZEWODNIK DYDAKTYCZNY dla STUDENTÓW II ROKU STUDIÓW

Waga szalkowa i uogólniony problem fałszywej monety

Możliwości arbitrażu na Giełdzie Papierów Wartościowych w Warszawie z wykorzystaniem kontraktów terminowych

J. Ułasiewicz Programowanie aplikacji współbieżnych 1

Sterowanie Ciągłe. Używając Simulink a w pakiecie MATLAB, zasymulować układ z rysunku 7.1. Rys.7.1. Schemat blokowy układu regulacji.

Podstawowe własności grafów. Wykład 3. Własności grafów

Przetwarzanie rozproszone

Przetwarzanie rozproszone

Sortowanie topologiczne skierowanych grafów acyklicznych

Uchwała Nr 42/2015 Komitetu Monitorującego Regionalny Program Operacyjny Województwa Podlaskiego na lata z dnia 29 października 2015 r.

WYKŁAD 5 METODY OPTYMALIZACJI NIELINIOWEJ BEZ OGRANICZEŃ

DOBÓR PRZEKROJU PRZEWODÓW OBCIĄŻONYCH PRĄDEM ZAWIERAJĄCYM WYŻSZE HARMONICZNE

Przetwarzanie rozproszone

Matematyka Dyskretna - zagadnienia

Kody Huffmana oraz entropia przestrzeni produktowej. Zuzanna Kalicińska. 1 maja 2004

B jest globalnym pokryciem zbioru {d} wtedy i tylko wtedy, gdy {d} zależy od B i nie istnieje B T takie, że {d} zależy od B ;

, to niepewność sumy x

( ) + ( ) T ( ) + E IE E E. Obliczanie gradientu błędu metodą układu dołączonego

HIERARCHICZNY SYSTEM ZARZĄDZANIA RUCHEM LOTNICZYM - ASPEKTY OCENY BEZPIECZEŃSTWA

Wpływ zamiany typów elektrowni wiatrowych o porównywalnych parametrach na współpracę z węzłem sieciowym

ELQ SPÓŁKA AKCYJNA. Raport roczny za rok obrotowy maja 2017 r.

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Wykład 21: Studnie i bariery cz.1.

A4: Filtry aktywne rzędu II i IV

PROGRAM NAUCZANIA PRZEDMIOTU OBOWIĄZKOWEGO NA WYDZIALE LEKARSKIM I ROK AKADEMICKI 2017/2018 PRZEWODNIK DYDAKTYCZNY dla STUDENTÓW II ROKU STUDIÓW

SYSTEM Z CIĄGŁYMI ZAPYTANIAMI O knn ZŁĄCZEŃ W PRZESTRZENNEJ HURTOWNI DANYCH REALIZATION OF CONTINUOUS KNN JOIN QUERIES IN SPATIAL DATA WAREHOUSE

UKŁAD OPTYMALNEJ REGULACJI MOCY FARM WIATROWYCH

Eksploracja Drzew. Jakub Łopuszański Instytut Informatyki Uniwersytetu Wrocławskiego. 20 czerwca 2007

Wykład 4. Zmienne losowe i ich rozkłady

Metoda rozwiązywania układu równań liniowych z symetryczną, nieokreśloną macierzą współczynników ( 0 )

10. PODSTAWOWY MODEL POTOKU RUCHU PORÓWNANIE RÓŻNYCH MODELI (wg Ashton, 1966)

Programowanie dynamiczne

Programowanie wielocelowe lub wielokryterialne

Matematyka Dyskretna Zadania

P(T) = P(T M) = P(T A) = P(T L) = P(T S) = P(T L M) = P(T L A) = P(T S M) = P(T S A) =

Wstęp do programowania. Listy. Piotr Chrząstowski-Wachtel

Algorytmy zarządzania współbieżnym wykonywaniem transakcji część I

ALOKACJA ZASOBU W WARUNKACH NIEPEWNOŚCI: MODELE DECYZYJNE I PROCEDURY OBLICZENIOWE

Wyznaczanie długości fali świetlnej za pomocą spektrometru siatkowego

dr Bartłomiej Rokicki Katedra Makroekonomii i Teorii Handlu Zagranicznego Wydział Nauk Ekonomicznych UW

DWUPOZIOMOWA METODA WIELOKRYTERIALNEGO STEROWANIA PRZEPŁYWEM PRODUKTÓW

Wykład 9. Fizyka 1 (Informatyka - EEIiA 2006/07)

020 Liczby rzeczywiste

Problem zakleszczenia

Przykład budowania macierzy sztywności.

POTRZEBY A B C D E P P P P P

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

Programowanie wielocelowe lub wielokryterialne

Sztuczna Inteligencja Projekt

Stanisław Cichocki. Natalia Nehrebecka. Wykład 10

Analiza B. Paweł Głowacki

DRGANIA MECHANICZNE. materiały uzupełniające do ćwiczeń. Wydział Samochodów i Maszyn Roboczych studia inżynierskie

Pomiary napięć przemiennych

REFERAT PRACY MAGISTERSKIEJ Symulacja estymacji stanu zanieczyszczeń rzeki z wykorzystaniem sztucznych sieci neuronowych.

Wojciech Kordecki. Matematyka dyskretna. dla informatyków

Transkrypt:

Systemy operacyjne Zaleszczenie Zaleszczenie Rozważmy system sładający się z n procesów (zadań) P 1,P 2,...,P n współdzielący s zasobów nieprzywłaszczalnych tzn. zasobów, tórych zwolnienie może nastąpić jedynie z inicjatywy zadania dysponującego zasobem. Każdy zasób słada się z m jednoste dla =1,2,...,s. Jednosti zasobów tego samego typu są równoważne. Każda jednosta w ażdej chwili może być przydzielona tylo do jednego zadania, czyli dostęp do nich jest wyłączny. W ażdej chwili zadanie P j jest scharateryzowane przez: wetor masymalnych żądań (ang. claims), C T ) = [ C1 ), C2( Pj ),, Cs )] oznaczający masymalne żądanie zasobowe zadania P j w dowolnej chwili czasu wetor atualnego przydziału (ang. current allocations), T A ) = [ A1 ), A2 ),, As )] wetor rang zdefiniowany jao różnica między wetorami C i A, H P ) = C( P ) A( P ) ( j j j (c) Załad Systemów Informatycznych Slajd 3

Zaleszczenie (2) Załadamy, że jeżeli żądania zadania przydziału zasobów są spełnione w sończonym czasie, to zadanie to zaończy się w sończonym czasie i zwolni wszystie przydzielone mu zasoby. Na podstawie liczby zasobów w systemie oraz wetorów atualnego przydziału można wyznaczyć wetor zasobów wolnych f, gdzie T f = f, f,, f ] [ 1 2 s gdzie n f = m A ) = 1,2,, s j= 1 (c) Załad Systemów Informatycznych Slajd 4 Typy żądań Wyróżniamy dwa typy żądań, tóre mogą być wygenerowane przez ażde zadanie P j żądanie przydziału dodatowych zasobów (ang. request for resource allocation), a a a a T ρ ) = [ ρ1 ), ρ 2 ),, ρ s )] gdzie a ρ ) jest liczbą jednoste zasobu R żądanych dodatowo przez P j żądanie zwolnienia zasobu (ang. request for resource release), r r r r T ρ ) = [ ρ1 ), ρ 2 ),, ρ s )] gdzie r ρ ( P j ) jest liczbą jednoste zasobu R zwalnianych przez P j (c) Załad Systemów Informatycznych Slajd 5

Łatwo wyazać: a ρ ) H ) j ρ r P ) A ( P ) j Zadanie przebywające w systemie ( j j Oczywiście żądanie przydziału dodatowego zasobu może być spełnione tylo wówczas gdy: a ρ ) f j = 1,2,, s Przez zadanie przebywające w systemie rozumiemy zadanie, tóremu przydzielono co najmniej jedną jednostę zasobu. Stan systemu jest zdefiniowany przez stan przydziału zasobu wszystim zadaniom. Mówimy, że stan jest realizowalny jeżeli jest spełniona następująca zależność: n j= 1 A ) m = 1,2,, s (c) Załad Systemów Informatycznych Slajd 6 Stan bezpieczny Stan systemu nazywamy stanem bezpiecznym (ang. safe) ze względu na zaleszczenie, jeżeli istnieje sewencja wyonywania zadań przebywających w systemie oznaczona {P 1,P 2,...,P n } i nazywana sewencją bezpieczną, spełniającą następującą zależność: j 1 j i H ( P ) f + A ( P ) i= 1 = 1,2, s j = 1,2,, n W przeciwnym razie, tzn. jeżeli sewencja taa nie istnieje, stan jest nazywany stanem niebezpiecznym. Innymi słowy, stan jest bezpieczny jeżeli istnieje taie uporządowanie wyonywania zadań, że wszystie zadania przebywające w systemie zostaną zaończone. Powiemy, że tranzycja stanu systemu wyniająca z aloacji zasobów jest bezpieczna, jeżeli stan ońcowy jest stanem bezpiecznym. (c) Załad Systemów Informatycznych Slajd 7

Zaleszczenie defninicja Przez zaleszczenie (ang. deadloc) rozumieć będziemy formalnie stan systemu, w tórym spełniany jest następujący warune: Ω Φ j Ω ρ > f + A ( P ) i Ω gdzie Ω jest zbiorem indesów (lub zbiorem zadań) a Mówimy, że system jest w stanie zaleszczenia (w systemie wystąpił stan zaleszczenia), jeżeli istnieje niepusty zbiór Ω zadań, tóre żądają przydziału dodatowych zasobów nieprzywłaszczalnych będących atualnie w dyspozycji innych zadań tego zbioru. Innymi słowy, system jest w stanie zaleszczenia, jeżeli istnieje niepusty zbiór Ω zadań, tórych żądania przydziału dodatowych zasobów nieprzywłaszczalnych nie mogą być spełnione nawet jeśli wszystie zadania nie należące do Ω zwolnią wszystie zajmowane zasoby. i Jeżeli Ω Φ, to zbiór ten nazywamy zbiorem zadań zaleszczonych. (c) Załad Systemów Informatycznych Slajd 8 Graf aloacji zasobów P 1 R 2 R 1 R 3 P 2 P 3 Legenda: P i R j proces P i zasób R j posiadający 3 jednosti w systemie P i R j proces P i posiadający jednostę zasobu R j P i R j proces P i żądający jednosti zasobu R j (c) Załad Systemów Informatycznych Slajd 9

Grafy oczeiwania Z grafu aloacji zasobów można uzysać graf uproszczony przez usunięcie węzłów zasobowych i złączenie odpowiednich rawędzi. To uproszczenie wynia z obserwacji, że zasób może być jednoznacznie identyfiowany przez bieżącego właściciela. Ten uproszczony graf jest nazywany grafem oczeiwania (ang. wait-for-graph). P 1 P 1 R 2 R 1 uproszczenie P 3 P 2 P 3 P 2 (c) Załad Systemów Informatycznych Slajd 10 Waruni onieczne wystąpienia zaleszczenia Warunami oniecznymi wystąpienia zaleszczenia są: 1. Wzajemne wyluczanie (ang. mutual exclusion condition), W ażdej chwili zasób może być przydzielony co najwyżej jednemu zadaniu. 2. Zachowywanie zasobu (ang. wait for condition), Proces oczeujący na przydzielenie dodatowych zasobów nie zwalnia zasobów będących atualnie w jego dyspozycji. 3. Nieprzywłaszczalność (ang. non preemption condition), Zasoby są nieprzywłaszczalne tzn. ich zwolnienie może być zainicjowane jedynie przez proces dysponujący w danej chwili zasobem. 4. Istnienie cylu oczeiwań (ang. circular wait condition), Występuje pewien cyl procesów z tórych ażdy ubiega się o przydział dodatowych zasobów będących w dyspozycji olejnego procesu w cylu. (c) Załad Systemów Informatycznych Slajd 11

Przeciwdziałanie zaleszczeniom Konstrucje systemów immanentnie wolnych od zaleszczenia (ang. construction of deadloc free systems) Podejście to polega w ogólności na wyposażeniu systemu w taą liczbę zasobów, aby wszystie możliwe żądania zasobowe były możliwe do zrealizowania. Przyładowo, uzysuje się to, gdy liczba zasobów ażdego rodzaju jest nie mniejsza od sumy wszystich masymalnych i możliwych jednocześnie żądań. Detecja zaleszczenia i odtwarzanie stanu wolnego od zaleszczenia (ang. detection and recovery). W podejściu detecji i odtwarzania, stan systemu jest periodycznie sprawdzany i jeśli wyryty zostanie stan zaleszczenia, system podejmuje specjalne acje w celu odtworzenia stanu wolnego do zaleszczenia. Unianie zaleszczenia (ang. avoidance). W podejściu tym załada się znajomość masymalnych żądań zasobowych. Każda potencjalna tranzycja stanu jest sprawdzana i jeśli jej wyonanie prowadziłoby do stanu niebezpiecznego, to żądanie zasobowe nie jest w danej chwili realizowane. Zapobieganie zaleszczeniu (ang. prevention) W ogólności podejście to polega na wyeliminowaniu możliwości zajścia jednego z warunów oniecznych zaleszczenia (c) Załad Systemów Informatycznych Slajd 12 Algorytm Habermana Detecja zaleszczenia 1. Zainicjuj D := {1, 2,...,n} i f; 2. Szuaj zadania o indesie j D taiego, że ρ α (P j ) f 3. Jeżeli zadanie taie nie istnieje, to zbiór zadań odpowiadający zbiorowi D jest zbiorem zadań zaleszczonych. Zaończ wyonywanie algorytmu. 4. W przeciwnym razie, podstaw: D := D {j}; f := f + A(P j ) 5. Jeżeli D =, to zaończ wyonywanie algorytmu. W przeciwnym razie przejdź do rou 2. (c) Załad Systemów Informatycznych Slajd 13

Algorytm Holt'a: 1. begin 2. initialize:i =1, =1,2,...,s; c i =s,i=1,2,...,n; c 0 =n; 3. LS: Y:=False; 4. for = 1 step 1 until s do 5. begin 6. while E 1,,I f I n do 7. begin 8. c E2,,I :=c E2,,I -1; 9. I :=I -1; 10. if c E2,,I =0 then 11. begin 12. c 0 :=c 0-1; 13. Y:=True; 14. for i = 1 step 1 until s do 15. f i :=f i +A i (P E2,,I ); 16. end; 17. end; 18. end; 19. if Y = true c 0 > 0 then go to LS; 20. if Y = true then answer "no" 21. else answer "yes"; Odtwarzanie stanu Spośród zadań zaleszczonych wybierz zadanie (zadania), tórego usunięcie spowoduje osiągnięcie stanu wolnego od zaleszczenia najmniejszym osztem. 22. end. (c) Załad Systemów Informatycznych Slajd 14 Wady i zalety podejścia detecji do odtwarzania stanu Narzut wyniający z opóźnionego wyrycia stanu zaleszczenia Narzut czasowy algorytmu detecji i odtwarzania stanu Utrata efetów dotychczasowego przetwarzania odrzuconego zadania. Bra ograniczeń na współbieżność wyonywania zadań Wysoi stopień wyorzystania zasobów Podejście uniania (c) Załad Systemów Informatycznych Slajd 15

Algorytm podejścia uniania 1. Za ażdym razem, gdy wystąpi żądanie przydziału dodatowego zasobu, sprawdź bezpieczeństwo tranzycji stanu odpowiadającej realizacji tego żądania. Jeśli tranzycja ta jest bezpieczna, to przydziel żądany zasób i ontynuuj wyonywanie zadania. W przeciwnym razie zawieś wyonywanie zadania. 2. Za ażdym razem, gdy wystąpi żądanie zwolnienia zasobu, zrealizuj to żądanie i przejrzyj zbiór zadań zawieszonych w celu znalezienia zadania, tórego tranzycja z nowego stanu odpowiadałaby tranzycji bezpiecznej. Jeśli taie zadanie istnieje, zrealizuj jego żądanie przydziału zasobów (c) Załad Systemów Informatycznych Slajd 16 Wady i zalety podejścia uniania Duży narzut czasowy wyniający z onieczności wyonywania algorytmu uniania przy ażdym żądaniu przydziału dodatowego zasobu i przy ażdym żądaniu zwolnienia zasobu. Mało realistyczne założenie o znajomości masymalnych żądań zasobów. Założenie, że liczba zasobów w systemie nie może maleć Potencjalnie wyższy stopień wyorzystania zasobów niż w podejściu zapobiegania. (c) Załad Systemów Informatycznych Slajd 17

Podejście zapobiegania Rozwiązania wyluczające możliwość wystąpienia cylu żądań. Algorytm wstępnego przydziału 1. Przydziel w chwili początowej wszystie wymagane do realizacji zadania zasoby lub nie przydzielaj żadnego z nich. Algorytm przydziału zasobów uporządowanych 1. Uporząduj jednoznacznie zbiór zasobów. 2. Narzuć zadaniom ograniczenie na żądania przydziału zasobów, polegające na możliwości żądania zasobów tylo zgodnie z uporządowaniem zasobów Przyładowo, proces może żądać olejno zasobów 1, 2, 3, 6,..., natomiast nie może żądać zasobu 3 a później 2. Jeśli więc z ontestu programu wynia olejność żądań inna niż narzucony porząde, to proces musi zażądać wstępnej aloacji zasobów, generując na przyład żądanie przydział zasobów 2 i 3. (c) Załad Systemów Informatycznych Slajd 18 Alogrytmy Wait-Die i Wound-Wait Algorytm Wait-Die Rozwiązanie negujące zachowywanie zasobów (ang. wait for condition) 1. Uporząduj jednoznacznie zbiór zadań według etyiet czasowych. 2. Jeżeli zadanie P 1, będące w onflicie z zadaniem P 2, jest starsze (ma mniejszą etyietę czasową), to P 1 czea (wait) na zwolnienie zasobu przez P 2. W przeciwnym razie zadania P 1 jest w całości odrzucane (abort) i zwalnia wszystie posiadane zasoby. Algorytm Wound-Wait Rozwiązanie dopuszczające przywłaszczalność 1. Uporząduj jednoznacznie zbiór zadań według etyiet czasowych. 2. Jeżeli zadanie P 1, będące w onflicie z zadaniem P 2, jest starsze (ma mniejszą etyietę czasową), to zadanie P 2 odrzucane (abort) i zwalnia wszystie posiadane zasoby. W przeciwnym razie P 1 czea (wait) na zwolnienie zasobu przez P 2. (c) Załad Systemów Informatycznych Slajd 19

Wady i zalety podejścia zapobiegania Ograniczony stopień wyorzystania zasobów. Prostota i mały narzut czasowy. (c) Załad Systemów Informatycznych Slajd 20