Detekcja zakleszczenia (1)
|
|
- Patryk Laskowski
- 8 lat temu
- Przeglądów:
Transkrypt
1 Detekcja zakleszczenia (1) Wykład prowadzą: Jerzy Brzeziński Jacek Kobusiński Plan wykładu Procesy aktywne i pasywne Definicja zakleszczenia Problem detekcji wystąpienia zakleszczenia Detekcja zakleszczenia dla modelu OR Detekcja zakleszczenia dla modelu AND Detekcja zakleszczenia w środowisku synchronicznym dla modelu k spośród r Detekcja zakleszczenia 1 (2) Wprowadzenie Nieformalna definicja problemu Procesy tworzące przetwarzanie rozproszone komunikują się ze sobą za pomocą mechanizmu wymiany wiadomości, realizując wspólny cel przetwarzania. Jedne procesy wysyłają komunikaty zawierające żądania przydziału pewnych zasobów, inne w odpowiedzi przesyłają ewentualnie komunikaty potwierdzające przydział żądanych zasobów. W przetwarzaniu rozproszonym może w ogólności wystąpić sytuacja, w której wszystkie procesy pewnego niepustego zbioru procesów oczekują na wiadomości (potwierdzające na przykład przydział zasobów) od innych procesów tego właśnie zbioru. Stan taki nazywany jest zakleszczeniem rozproszonym (ang. distributed deadlock). Detekcja zakleszczenia 1 (3) Detekcja zakleszczenia 1 (4)
2 Procesy aktywne i pasywne Warunek uaktywnienia W każdej chwili proces może być w jednym z dwóch stanów: aktywnym albo pasywnym. Proces aktywny może realizować przetwarzanie wykonując operacje odpowiadające zajściu zdarzeń wewnętrznych i komunikacyjnych. Warunek uaktywnienia jest wyrażony przez predykat: ready i (X ) (P ia X) activate i (X ) (5.1) Detekcja zakleszczenia 1 (5) Detekcja zakleszczenia 1 (6) Definicja problemu Zakleszczenie w modelu jednostkowym Przez deadlock(b) oznaczamy predykat stwierdzający, że w danej chwili τ, niepusty zbiór procesów B jest zbiorem procesów zakleszczonych. deadlock(b) (5.2) ( P i :: P i B:: ( passive i D i = 1 ( P j :: P j D i B:: ( in-transit i [j] available i [j] )))) Detekcja zakleszczenia 1 (7) Detekcja zakleszczenia 1 (8)
3 Zakleszczenie w modelu AND Zakleszczenie w modelu OR deadlock(b) (5.3) ( P i :: P i B:: ( passive i ( P j :: P j D i B:: ( in-transit i [j] available i [j] )))) deadlock(b) (5.4) ( P i :: P i B:: ( passive i D i B ( P j :: P j D i :: ( in-transit i [j] available i [j] )))) Detekcja zakleszczenia 1 (9) Detekcja zakleszczenia 1 (10) Zakleszczenie w podstawowym modelu k spośród r Zakleszczenie w modelu OR AND deadlock(b) (5.5) ( P i :: P i B:: ( passive i ( B i ::B i D i B:: ( D i \B i < k i ( P j :: P j B i :: ( in-transit i [j] available i [j] )))))) deadlock(b) (5.6) ( P i :: P i B:: ( passive i ( u :: 1 u q i :: ( P j :: P j D iu B:: ( in-transit i [j] available i [j] ))))) Detekcja zakleszczenia 1 (11) Detekcja zakleszczenia 1 (12)
4 Zakleszczenie w modelu dysjunkcyjnym k spośród r Zakleszczenie w modelu predykatowym deadlock(b) (5.7) ( P i :: P i B:: ( passive i ( u :: 1 u q i :: ( B iu ::B iu D iu B:: ( D iu \B iu < k iu ( P j :: P j B iu :: ( in-transit i [j] available i [j] ))))))) deadlock(b) (5.8) ( P i :: P i B:: ( passive i activate i (AV i IT i (P \B)))) Detekcja zakleszczenia 1 (13) Detekcja zakleszczenia 1 (14) Przykłady zakleszczeń Przykład model jednostkowy Wait-For Graph (WFG): N 5 N 1 N 2 N 4 N 3 P i N 1, N 2, N 3, N 4, N 5 węzły środowiska przetwarzania P 1, P 2, P 3, P 4, P 5 procesy wykonywane w odpowiednich węzłach P j łuk P i, P j reprezentujący fakt, że proces P i, oczekuje na wiadomość od procesu P j Każdy proces w grafie z łukiem wychodzącym jest pasywny. Procesy bez łuków wychodzących są aktywne. Zakładamy, że wszystkie kanały są puste. P 5 P 1 P 2 D 21 deadlock(b) zachodzi dlab= {P 1, P 2, P 3, P 4 } B D 3 P 4 P 3 D 4 Zbiory warunkujące: D 1 = {P 4 }, D 2 = {P 4 }, D 3 = {P 2 }, D 4 = {P 3 }. Detekcja zakleszczenia 1 (15) Detekcja zakleszczenia 1 (16)
5 Przykład model AND Przykład model OR P 5 D 1 P 1 P 2 D 2 deadlock(b) zachodzi dlab= {P 1, P 2, P 3, P 4 } B D 3 P 4 P 3 D 4 Zbiory warunkujące: D 1 = {P 4, P 5 }, D 2 = {P 1, P 4 }, D 3 = {P 2 }, D 4 = {P 3 }. P 5 D 1 P 1 P 2 D 2 deadlock(b) zachodzi dlab= {P 2, P 3, P 4 } B D 3 P 4 P 3 D 4 Zbiory warunkujące: D 1 = {P 4, P 5 }, D 2 = {P 4 }, D 3 = {P 2 }, D 4 = {P 2, P 3 }. Detekcja zakleszczenia 1 (17) Detekcja zakleszczenia 1 (18) P 5 Przykład model k spośród r P 1 P 2 Modeleżądań: dla P 1 : 1 spośród 3 dla P 2 : 1 spośród 1 dla P 3 : 2 spośród 2 dla P 4 : 2 spośród 3 P Zbiory warunkujące: 4 P 3 D 4 D 1 = {P 2, P 4, P 5 }, D 31 B D2 D 2 = {P 3 }, D 3 = {P 2, P 4 }, D 4 = {P 1, P 2, P 3 }. deadlock(b) zachodzi dlab= {P 2, P 3, P 4 } Klasyfikacja problemów detekcji zakleszczenia problem detekcji wystąpienia zakleszczenia problem detekcji zakleszczenia procesu problem detekcji zakleszczenia zbioru procesów problem detekcji maksymalnego zbioru procesów zakleszczonych Detekcja zakleszczenia 1 (19) Detekcja zakleszczenia 1 (20)
6 Detekcja wystąpienia zakleszczenia Detekcja wystąpienia zakleszczenia procesu Czy istnieje w pewnej chwili zbiór B, dla którego predykat deadlock(b) jest prawdziwy? Detekcja zakleszczenia procesu P i sprowadza się do sprawdzenia czy prawdziwy jest predykat: Odpowiedź na to pytanie określa wartość predykatu: dp i ( B :: deadlock(b) ) P i B) (5.10) de ( B :: deadlock(b)) (5.9) Detekcja zakleszczenia 1 (21) Detekcja zakleszczenia 1 (22) Detekcja wystąpienia zakleszczenia zbioru procesów Detekcja maksymalnego zbioru zakleszczonego Detekcja zakleszczenia zbioru procesów polega na znalezienia zbiorub*, dla którego prawdziwy jest następujący predykat: deadlock(b*) ((B* = Ø) ( B :: deadlock(b))) (5.11) Detekcja maksymalnego zbioru zakleszczonego, sprowadza się do znalezienia takiego zbioru B*, dla którego spełniony jest warunek: (deadlock(b*) B* = Ø) (maxdead(b*)), (5.12) gdzie maxdead(b*) ( B :: deadlock(b) (B B*)) (5.13) Detekcja zakleszczenia 1 (23) Detekcja zakleszczenia 1 (24)
7 Model aplikacyjnego przetwarzania rozproszonego Alg. Chandy, Misra, Hass dla modelu AND (1) D i P i RELEASE REQUEST GRANT CANCEL type PROBE extends FRAME is record of initindex : INTEGER end record probeout : PROBE granted i : array [1..n] of BOOLEAN := False D i : set of PROCESS_ID recvprobe i : array [1..n] of BOOLEAN := False α i : INTEGER k : INTEGER deadlockdetected i : BOOLEAN := False Detekcja zakleszczenia 1 (25) Detekcja zakleszczenia 1 (26) Alg. Chandy, Misra, Hass dla modelu AND (2) Alg. Chandy, Misra, Hass dla modelu AND (3) 1. when e_start(q α, DeadlockDetection) do 2. if passive α 3. then 4. for all Q k :: P k D α do 5. probeout.initindex := α 6. send(q α, Q k, probeout) 7. end for 8. end if 9. end when 10. when e_activate(p i ) do 11. for all k {1, 2,..., n} do 12. recvprobe i [k]:= False 13. end for 14. end when Detekcja zakleszczenia 1 (27) Detekcja zakleszczenia 1 (28)
8 Alg. Chandy, Misra, Hass dla modelu AND (4) Detekcja zakleszczenia dla modelu OR (1) 15. when e_receive(q j, Q i, probein: PROBE) do 16. α i := probein.initindex 17. if passive i ( recvprobe i [α i ]) ( granted i [j]) 18. then 19. recvprobe i [α i ]:= True 20. if α i = i 21. then 22. deadlockdetected i := True 23. decide(deadlockdetected i ) 24. else Algorytm detekcji zakleszczenia dla modelu OR opiera się na przetwarzaniu dyfuzyjnym (ang. query computation). 25. probeout.initindex:=α i 26. for all Q k :: P k D i do 27. send(q i, Q k, probeout) 28. end for 29. end if 30. end if 31. end when Detekcja zakleszczenia 1 (29) Detekcja zakleszczenia 1 (30) Detekcja zakleszczenia dla modelu OR (2) Detekcja zakleszczenia dla modelu OR (3) Twierdzenie 5.2 Jeżeli inicjator Q α rozpoczyna detekcję w chwili, gdy jego proces aplikacyjny P α jest zakleszczony, to Q α stwierdzi zakleszczenie procesu P α w skończonym czasie (algorytm detekcji zakończy się). Twierdzenie 5.2 Jeżeli inicjator Q α deklaruje, że jego proces aplikacyjny P α jest zakleszczony, to P α należy do pewnego zbioru procesów zakleszczonych w chwili zakończenia algorytmu. Detekcja zakleszczenia 1 (31) Detekcja zakleszczenia 1 (32)
9 Alg. Chandy, Misra, Hass dla modelu OR (1) Alg. Chandy, Misra, Hass dla modelu OR (2) type CONTROL extends FRAME is record of initindex : INTEGER queryno : INTEGER end record type QUERY extends CONTROL type REPLY extends CONTROL queryout : QUERY replyout : REPLY D i : set of PROCESS_ID maxqueryno i : array [1..n] of INTEGER := 0 engager i : array [1..n] of INTEGER := 0 QRBalance i : array [1..n] of INTEGER := 0 contpassive i : array [1..n] of BOOLEAN := False queryno i : INTEGER α i : INTEGER deadlockdetected i : BOOLEAN := False Detekcja zakleszczenia 1 (33) Detekcja zakleszczenia 1 (34) Alg. Chandy, Misra, Hass dla modelu OR (3) Alg. Chandy, Misra, Hass dla modelu OR (4) 1. when e_start(q α, DeadlockDetection) do 2. if passive α 3. then 4. maxqueryno α [α] := maxqueryno α [α] contpassive α [α] := True 6. queryout.queryno := maxqueryno α [α] 7. queryout.initindex := α 8. for all Q k :: P k D α do 9. send(q α, Q k, queryout) 10. end for 11. QRBalance α [α] := D α 12. end if 13. end when 14. when e_receive(q j, Q i, queryin : QUERY) do 15. if passive i 16. then 17. queryno i := queryin.queryno 18. α i := queryin.initindex 19. if queryno i > maxqueryno i [α i ] 20. then 21. maxqueryno i [α i ] := queryno i 22. engager i [α i ] := j 23. contpassive i [α i ] := True 24. queryout.queryno := queryno i 25. queryout.initindex := α i 26. for all Q k :: P k D i do 27. send(q i, Q k, queryout) 28. end for 29. QRBalance i [α i ] := D i Detekcja zakleszczenia 1 (35) Detekcja zakleszczenia 1 (36)
10 Alg. Chandy, Misra, Hass dla modelu OR (5) Alg. Chandy, Misra, Hass dla modelu OR (6) 30. else 31. if contpassive i [α i ] queryno i = maxqueryno i [α i ] 32. then 33. replyout.queryno := queryno i 34. replyout.initindex := α i 35. send(q i, Q j, replyout) 36. end if 37. end if 38. end if 39. end when 40. when e_receive(q j, Q i, replyin : REPLY) do 41. if passive i 42. then 43. queryno i := queryin.queryno 44. α i := queryin.initindex 45. if maxqueryno i [α i ]=queryno i contpassive i [α i ] 46. then 47. QRBalance i [α i ]:= QRBalance i [α i ] if QRBalance i [α i ] = then 50. if α i =i 51. then 52. deadlockdetected i := True 53. decide(deadlockdetected i ) Detekcja zakleszczenia 1 (37) Detekcja zakleszczenia 1 (38) Alg. Chandy, Misra, Hass dla modelu OR (7) Alg. Chandy, Misra, Hass dla modelu OR (8) 54. else 55. k:= engager i [α i ] 56. replyout.queryno:= queryno i 57. replyout.initindex:= α i 58. send(q i, Q k, replyout) 59. end if 60. end if 61. end if 62. end if 63. end when 64. when e_activate(p i ) do 65. for all k {1, 2,..., n} do 66. contpassive i [k] := False 67. end for 68. end when Detekcja zakleszczenia 1 (39) Detekcja zakleszczenia 1 (40)
11 Alg. Bracha, Toueg a (1) Alg. Bracha, Toueg a (2) type NOTIFY extends SIGNAL type DONE extends SIGNAL type CONFIRM extends SIGNAL type ACK extends SIGNAL notifyout doneout, donein confirmout ackout, ackin A : NOTIFY : DONE : CONFIRM : ACK : set of record of predid : PROCESS_ID succid : PROCESS_ID end record := { P i,p j : P j D i } OUT i : set of PROCESS_ID := {P j : P i,p j A} JN i : set of PROCESS_ID := {P j : P i,p j A} confirmno i : INTEGER := 0 notified i : BOOLEAN := False confirmed i : BOOLEAN := False expectno i : INTEGER deadlockdetected i : BOOLEAN := False Detekcja zakleszczenia 1 (41) Detekcja zakleszczenia 1 (42) Alg. Bracha, Toueg a (3) Alg. Bracha, Toueg a (4) 1. procedure NOTIFYPROC() do 2. notified i := True 3. for all Q k OUT i do 4. send( Q i, Q k, notifyout) 5. end for 6. if expectno i = 0 7. then 8. CONFIRMPROC() 9. end if 10. for all Q k OUT i do 11. receive(q k, Q i, donein) 12. end for 13. end procedure 14. procedure CONFIRMPROC() do 15. confirmed i := True 16. for all Q k IN i do 17. send(q i, Q k, confirmout) 18. end for 19. for all Q k IN i do 20. receive(q k, Q i, ackin) 21. end for 22. end procedure Detekcja zakleszczenia 1 (43) Detekcja zakleszczenia 1 (44)
12 Alg. Bracha, Toueg a (5) Alg. Bracha, Toueg a (6) 23. when e_start(q α, DeadlockDetection) do 24. NOTIFYPROC() 25. if confirmno α < expectno α 26. then 27. deadlockdetected α := True 28. decide(deadlockdetected α ) 29. end if 30. end when 31. when e_receive(q j, Q i, confirmin: CONFIRM) do 32. confirmno i := confirmno i if confirmed i (confirmno i expectno i ) 34. then 35. CONFIRMPROC() 36. end if 37. send(q i, Q j, ackout) 38. end when Detekcja zakleszczenia 1 (45) Detekcja zakleszczenia 1 (46) Alg. Bracha, Toueg a (7) Przykład działania algorytmu (1) wiadomość typu NOTIFY wiadomość typu DONE 39. when e_receive(q j, Q i, notifyin: NOTIFY) do 40. if notified i 41. then 42. NOTIFYPROC() 43. end if 44. send(q i,q j,doneout) 45. end when,1,0 P 4 2,0 1,0 2,0 1,0 P 3,1,0 1,0 2,0,0,3 2,0 1,0,2,0 P 1 - inicjator P 2 Detekcja zakleszczenia 1 (47) Detekcja zakleszczenia 1 (48)
13 P 4 2,2 1,1 Przykład działania algorytmu (2) 0,3,0,0 0,2,0 wiadomość typu NOTIFY wiadomość typu DONE wiadomość typu CONFIRM wiadomość typu ACK Złożoność czasowa algorytmu detekcji zakleszczenia w środowisku synchronicznym dla modelu k spośród r (1) Graf niezorientowany odpowiadający grafowi WFG scharakteryzowany jest przez: średnicę grafu d, najdłuższą ścieżkę w grafie l. 3,0,2,0 1, 2, 3,0,3 1,2 1,0 2,2 2,2 1,0 1,1 2,1 P 3 1,2,1,0 1, 1,0,1 1,1,1 2,1,2,0 1, 2,0,2 2,2 1,0 2,1 P 1 - inicjator P 2 Złożoność całego algorytmu to: złożoność fazy potwierdzania złożoność powiadomienia inicjatora fazy potwierdzania, złożoność odpowiadającą przesłaniu wiadomości typu DONE od inicjatora fazy potwierdzania do inicjatora detekcji. Detekcja zakleszczenia 1 (49) Detekcja zakleszczenia 1 (50) Złożoność czasowa algorytmu detekcji zakleszczenia w środowisku synchronicznym dla modelu k spośród r (2) przesłanie wiadomości typu CONFIRM może zabrać l jednostek czasu transmisja wiadomości typu ACK również zabiera w najgorszym wypadku l jednostek czasu przesłanie wiadomości typu NOTIFY (równolegle do monitorów wszystkich procesów tworzących zbiór OUT i ) wymaga co najwyżej d kroków. przesłanie wiadomości typu DONE po zakończeniu fazy potwierdzania wymaga co najwyżej d kroków. W efekcie złożoność czasowa algorytmu wynosi 2d + 2l. Detekcja zakleszczenia 1 (51)
Wzajemne wykluczanie i zakleszczenie
Wzajemne wykluczanie i zakleszczenie Wzajemne wykluczanie Wzajemne wykluczenie zapewnia procesom ochronę przy dostępie do zasobów, daje im np. gwarancję, że jako jedyne będą mogły z nich korzystać Typy
Bardziej szczegółowoProblem detekcji zakończenia
Problem detekcji zakończenia Przykład sortowanie rozproszone Rozważmy problem sortowania rozproszonego zbioru X składającego się z v różnych liczb naturalnych, w środowisku rozproszonym o n węzłach (procesorach),
Bardziej szczegółowoDetekcja zakleszczenia (2)
Detekcja zakleszczenia (2) Plan wykładu Celem wykładu jest zaznajomienie studenta z kolejnymi algorytmami detekcji zakleszczenia. Jest on jest bezpośrednią kontynuacją poprzedniego wykładu, w którym zdefiniowane
Bardziej szczegółowoPrzetwarzanie rozproszone
Wykład prowadzą: Jerzy Brzeziński Jacek Kobusiński Plan wykładu Proces sekwencyjny Komunikaty, kanały komunikacyjne Stan kanału Operacje komunikacyjne Model formalny procesu sekwencyjnego Zdarzenia Warunek
Bardziej szczegółowoCzas wirtualny, złożoność algorytmów
Czas wirtualny, złożoność algorytmów Monitor Proces aplikacyjny P i Z każdym procesem P i proces monitora Q i. skojarzony jest Monitor Q i Środowisko komunikacyjne (2) 1 Cechy monitora Monitor może odczytywać
Bardziej szczegółowoMechanizmy rozgłaszania niezawodnego
Mechanizmy rozgłaszania niezawodnego Rozgłaszanie niezawodne definicja nieformalna Nieformalnie, przez rozgłaszanie rozumiemy mechanizm (abstrakcję) komunikacyjny, za pomocą którego proces możewysłać wiadomość
Bardziej szczegółowoCzas wirtualny, złożoność algorytmów
Czas wirtualny, złożoność algorytmów Wykład prowadzą: Jerzy Brzeziński Jacek Kobusiński Zegary logiczne skalarne wektorowe Kanały FIFO typu FC Rząd funkcji, funkcja kosztu Plan wykładu Złożoność komunikacyjna
Bardziej szczegółowoKonstrukcja spójnego obrazu stanu globalnego
Konstrukcja spójnego obrazu stanu globalnego Proces rozproszony Proces rozproszony Π, będący współbieżnym wykonaniem zbioru P ={P, P,..., P n } procesów sekwencyjnych P i, opisuje uporządkowana czwórka
Bardziej szczegółowoProblem detekcji zakończenia (I)
Problem detekcji zakończenia (I) Plan wykładu Celem wykładu jest zapoznanie studenta z tematyką detekcji zakończenia. Wykład obejmie przedstawienie przykładów ilustrujących potrzebę problemy detekcji zakończenia
Bardziej szczegółowoProblem detekcji zakończenia (I)
Problem detekcji zakończenia (I) Plan wykładu Celem wykładu jest zapoznanie studenta z tematyką detekcji zakończenia. Wykład obejmie przedstawienie przykładów ilustrujących potrzebę problemy detekcji zakończenia
Bardziej szczegółowoProblem detekcji zakończenia (II)
Problem detekcji zakończenia (II) Plan wykładu Celem obecnego wykładu jest przedstawienie przeglądu algorytmów poświęconych tematyce detekcji zakończenia zapoczątkowanego w poprzednim module. Wykład obejmie
Bardziej szczegółowoPROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU
OPIS PRZEDMIOTU Nazwa przedmiotu Systemy rozproszone Kod przedmiotu Wydział Wydział Matematyki, Fizyki i Techniki Instytut/Katedra Instytut Mechaniki i Informatyki Stosowanej Kierunek Informatyka Specjalizacja/specjalność
Bardziej szczegółowoPrzetwarzanie rozproszone
Przetwarzanie rozproszone Plan wykładu Celem wykładu jest zapoznanie słuchacza z podstawowymi pojęciami i problemami związanymi z przetwarzaniem rozproszonym. Wykład obejmie omówienie m. in. definicji
Bardziej szczegółowoPrzetwarzanie rozproszone
Przetwarzanie rozproszone Plan wykładu Celem wykładu jest zapoznanie słuchacza z podstawowymi pojęciami i problemami związanymi z przetwarzaniem rozproszonym. Wykład obejmie omówienie m. in. definicji
Bardziej szczegółowoPorządek dostępu do zasobu: procesory obszary pamięci cykle procesora pliki urządzenia we/wy
ZAKLESZCZENIA w SO brak środków zapobiegania zakleszczeniom Zamówienia na zasoby => przydział dowolnego egzemplarza danego typu Zasoby w systemie typy; identyczne egzemplarze procesory obszary pamięci
Bardziej szczegółowoprocesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Abstrakcja programowania współbieżnego Instrukcje atomowe i ich przeplot Istota synchronizacji Kryteria poprawności programów współbieżnych
Bardziej szczegółowoProces rozproszony. Plan wykładu. Wykład prowadzą: Jerzy Brzeziński Jacek Kobusiński. Proces rozproszony. Zbiór stanów globalnych (1)
Proces rozproszony Wykład prowadzą: Jerzy Brzeziński Jacek Kobusiński Pan wykładu Proces rozproszony Wykonanie procesu, historia procesu Stan osiągany Reacja poprzedzania zdarzeń Diagramy przestrzenno-czasowe
Bardziej szczegółowoProces rozproszony 1
Proces rozproszony 1 Plan wykładu Celem wykładu jest zapoznanie słuchacza z podstawowymi pojęciami związanymi z przetwarzaniem rozproszonym. Wykład ten jest kontynuacją wykładu poprzedniego, w którym zdefiniowano
Bardziej szczegółowoTreść zadań 1 8 odnosi się do poniższego diagramu przestrzenno-czasowego.
Treść zadań 8 odnos sę do ponższego dagramu przestrzenno-czasowego. P e e e e e e P e P P e e e e. Jaka będze wartość zmennej clock (zegara skalarnego) po zajścu zdarzena e w procese P zakładając że wartość
Bardziej szczegółowoWstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel
Wstęp do programowania Drzewa Piotr Chrząstowski-Wachtel Drzewa Drzewa definiują matematycy, jako spójne nieskierowane grafy bez cykli. Równoważne określenia: Spójne grafy o n wierzchołkach i n-1 krawędziach
Bardziej szczegółowoSortowanie topologiczne skierowanych grafów acyklicznych
Sortowanie topologiczne skierowanych grafów acyklicznych Metody boolowskie w informatyce Robert Sulkowski http://robert.brainusers.net 23 stycznia 2010 1 Definicja 1 (Cykl skierowany). Niech C = (V, A)
Bardziej szczegółowoProblem zakleszczenia
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Klasyfikacja zasobów systemu na potrzeby analizy problemu zakleszczenia Warunki konieczne wystąpienia zakleszczenia Graf przydziału zasobów
Bardziej szczegółowoAlgorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych
Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2013/14 Znajdowanie maksimum w zbiorze
Bardziej szczegółowoInformatyka 1. Przetwarzanie tekstów
Informatyka 1 Wykład IX Przetwarzanie tekstów Robert Muszyński ZPCiR ICT PWr Zagadnienia: reprezentacja napisów znakowych, zmienne napisowe w Sun Pascalu, zgodność typów, operowanie na napisach: testowanie
Bardziej szczegółowoWprowadzenie do programowania współbieżnego
Wprowadzenie do programowania współbieżnego Marcin Engel Instytut Informatyki Uniwersytet Warszawski Zamiast wstępu... Zamiast wstępu... Możliwość wykonywania wielu akcji jednocześnie może ułatwić tworzenie
Bardziej szczegółowoAlgorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010
Algorytmy równoległe Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka Znajdowanie maksimum w zbiorze n liczb węzły - maksimum liczb głębokość = 3 praca = 4++ = 7 (operacji) n - liczność
Bardziej szczegółowow PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze
w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze Cechy bloków nazwanych: w postaci skompilowanej trwale przechowywane na serwerze wraz z danymi wykonywane na żądanie użytkownika lub w
Bardziej szczegółowoKonstrukcja spójnego obrazu stanu globalnego - wprowadzenie
Konstrukcja spójnego obrazu stanu globalnego - wprowadzenie Plan wykładu Celem wykładu jest zaznajomienie studenta z problematyką konstrukcji obrazu spójnego stanu globalnego. Wykład obejmie omówienie
Bardziej szczegółowoPOTRZEBY A B C D E P P P P P
1. (2p.) Narysuj przykładowy graf przydziału (jednokrotnych) zasobów (bez zakleszczenia) i sprawdź, jakie przykładowe żądania przydzielenia zasobów spowodują powstanie zakleszczenia, a jakie nie. W przypadku
Bardziej szczegółowoRównoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami
Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami dr inż. Mariusz Uchroński Wrocławskie Centrum Sieciowo-Superkomputerowe Agenda Cykliczny problem przepływowy
Bardziej szczegółowoLosowość w rozproszonym modelu
Losowość w rozproszonym modelu Model: ALP520 - Wykład z Algorytmów Probabilistycznych p.2 Losowość w rozproszonym modelu Model: zbiór procesorów, które moga pracować jednocześnie, połaczonych w sieć ALP520
Bardziej szczegółowoPodstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno
Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują
Bardziej szczegółowoJ. Ułasiewicz Programowanie aplikacji współbieżnych 1
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 1.1 Prosty przykład zakleszczenia (ang. Mexican standoff) W systemach w których wykonywane jest wiele współbieżnych procesów które operują na wspólnych
Bardziej szczegółowoWstęp do programowania. Różne różności
Wstęp do programowania Różne różności Typy danych Typ danych określa dwie rzeczy: Jak wartości danego typu są określane w pamięci Jakie operacje są dozwolone na obiektach danego typu 2 Rodzaje typów Proste
Bardziej szczegółowoSztuczna Inteligencja i Systemy Doradcze
Sztuczna Inteligencja i Systemy Doradcze Przeszukiwanie przestrzeni stanów algorytmy ślepe Przeszukiwanie przestrzeni stanów algorytmy ślepe 1 Strategie slepe Strategie ślepe korzystają z informacji dostępnej
Bardziej szczegółowoWykład 5: Specyfikacja na poziomie systemowym
Systemy wbudowane Wykład 5: Specyfikacja na poziomie systemowym Ogólny model systemu informatycznego Sieć komunikujących się procesów P1 P3 P2 Kiedy procesy się aktywują? Czy jest synchronizacja między
Bardziej szczegółowoWstęp do programowania. Listy. Piotr Chrząstowski-Wachtel
Wstęp do programowania Listy Piotr Chrząstowski-Wachtel Do czego stosujemy listy? Listy stosuje się wszędzie tam, gdzie występuje duży rozrzut w możliwym rozmiarze danych, np. w reprezentacji grafów jeśli
Bardziej szczegółowoMechanizmy komunikacji. spotkania symetryczne (język CSP) spotkania asymetryczne (Ada) przestrzenie krotek (Linda) potoki, komunikaty i kanały (Unix)
Mechanizmy komunikacji spotkania symetryczne (język CSP) spotkania asymetryczne (Ada) przestrzenie krotek (Linda) potoki, komunikaty i kanały (Unix) Język CSP Hoare (1978r.) Communicating Sequential Processes
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Grafy dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 9 1 / 20
Bardziej szczegółowoZakleszczenie. Problem i przeciwdziałanie. Systemy operacyjne Wykład 8 1
Zakleszczenie Problem i przeciwdziałanie Systemy operacyne Wykład 8 1 Klasyfikaca zasobów systemu na potrzeby analizy problemu zakleszczenia Warunki konieczne wystąpienia zakleszczenia Graf przydziału
Bardziej szczegółowoWstęp do programowania 2
Wstęp do programowania 2 wykład 1 rekordy z wyróżnikami Agata Półrola Wydział Matematyki UŁ 2005/2006 Egzamin z I roku - problemy Problemy z wczytywaniem danych: skip_line Problemy z obliczeniami: zerowanie
Bardziej szczegółowoPodstawowe własności grafów. Wykład 3. Własności grafów
Wykład 3. Własności grafów 1 / 87 Suma grafów Niech będą dane grafy proste G 1 = (V 1, E 1) oraz G 2 = (V 2, E 2). 2 / 87 Suma grafów Niech będą dane grafy proste G 1 = (V 1, E 1) oraz G 2 = (V 2, E 2).
Bardziej szczegółowoAlgorytmy zarządzania współbieżnym wykonywaniem transakcji część I
Algorytmy zarządzania współbieżnym wykonywaniem transakcji część I Wykład przygotował: Tadeusz Morzy BD wykład 9 Celem wykładu jest przedstawienie i omówienie podstawowych algorytmów zarządzania współbieżnym
Bardziej szczegółowoSemafory. // G - globalna dla wszystkich. // Wada - aktywne oczekiwanie Test_and_Set(Li); exit when Li = 0; end loop sekcja_krytyczna(i); G := 0;
Semafory Rozwiązanie problemu wzajemnego wykluczania Bez dodatkowego wsparcia sprzętowego i programowego Zakładamy jedynie, że zapis do i odczyt z pamięci wspólnej są operacjami atomowymi (czyli istnieje
Bardziej szczegółowoAlgorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych
Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2014/15 Znajdowanie maksimum w zbiorze
Bardziej szczegółowoRozproszone systemy operacyjne
Rozproszone systemy operacyjne Anna Kobusińska Anna.Kobusinska@cs.put.poznan.pl www.cs.put.poznan.pl/akobusinska Literatura 1. J. Bacon, Concurrent Systems-An Integrated Approach to Operating Systems,
Bardziej szczegółowoPODSTAWY BAZ DANYCH 13. PL/SQL
PODSTAWY BAZ DANYCH 13. PL/SQL 1 Wprowadzenie do języka PL/SQL Język PL/SQL - rozszerzenie SQL o elementy programowania proceduralnego. Możliwość wykorzystywania: zmiennych i stałych, instrukcji sterujących
Bardziej szczegółowoProgramowanie strukturalne. Opis ogólny programu w Turbo Pascalu
Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji
Bardziej szczegółowoPrzeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279
Wykład 8 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 sformułowanie problemu przegląd drzewa poszukiwań przykłady problemów wybrane narzędzia programistyczne J. Cichoń, P. Kobylański
Bardziej szczegółowoAlgorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych
Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2018/19 Problem: znajdowanie
Bardziej szczegółowoAlgorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne
Algorytmy i struktury danych Drzewa: BST, kopce Letnie Warsztaty Matematyczno-Informatyczne Drzewa: BST, kopce Definicja drzewa Drzewo (ang. tree) to nieskierowany, acykliczny, spójny graf. Drzewo może
Bardziej szczegółowoAlgorytm Lamporta. Czy można to ulepszyć?
Algorytm Maekawa Plan Przypomnienie - algorytm Lamporta Idea algorytmu Generowanie zbiorów arbitrażu Zakleszczenia Przykład Analiza założeń Przypadki pesymistyczne Podsumowanie Algorytm Lamporta Rozwiązuje
Bardziej szczegółowoMonitory. Wady semafora
Wady semafora Monitory Niestrukturalny mechanizm synchronizacji Nie ułatwia wykrywania błędów synchronizacyjnych w czasie kompilacji programu Idea Jądro systemu operacyjnego jako monolityczny monitor -
Bardziej szczegółowoStan globalny. Krzysztof Banaś Systemy rozproszone 1
Stan globalny Krzysztof Banaś Systemy rozproszone 1 Stan globalny Z problemem globalnego czasu jest związany także problem globalnego stanu: interesuje nas stan systemu rozproszonego w konkretnej pojedynczej
Bardziej szczegółowosynchronizacji procesów
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja semafora Klasyfikacja semaforów Implementacja semaforów Zamki Zmienne warunkowe Klasyczne problemy synchronizacji (2) Semafory
Bardziej szczegółowoDelphi 7 + Indy 10 Przykłady prostych aplikacji sieciowych
Jacek Matulewski, Sławek Orłowski http://www.phys.uni.torun.pl/~jacek/ Delphi 7 + Indy 10 Przykłady prostych aplikacji sieciowych Wersja α Ćwiczenia Toruń, 20 grudnia 2005 Najnowsza wersja tego dokumentu
Bardziej szczegółowoWykład 8. Drzewo rozpinające (minimum spanning tree)
Wykład 8 Drzewo rozpinające (minimum spanning tree) 1 Minimalne drzewo rozpinające - przegląd Definicja problemu Własności minimalnych drzew rozpinających Algorytm Kruskala Algorytm Prima Literatura Cormen,
Bardziej szczegółowoWykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe
Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)
Bardziej szczegółowoGrafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:
Wykład 4 grafy Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, E zbiór krawędzi, Grafy dzielimy na grafy skierowane i nieskierowane: Formalnie, w grafach skierowanych E jest podzbiorem
Bardziej szczegółowoKonstrukcja spójnego obrazu stanu globalnego algorytmy
Konstrukcja spójnego obrazu stanu globalnego algorytmy Plan wykładu Celem wykładu jest przedstawienie niektórych algorytmów służących do konstrukcji obrazu spójnego stanu globalnego. Wykład obejmie przedstawienie
Bardziej szczegółowoKonstrukcja spójnego obrazu stanu globalnego algorytmy
Konstrukcja spójnego obrazu stanu globalnego algorytmy Plan wykładu Celem wykładu jest przedstawienie niektórych algorytmów służących do konstrukcji obrazu spójnego stanu globalnego. Wykład obejmie przedstawienie
Bardziej szczegółowoProgramowanie współbieżne Wykład 5. Rafał Skinderowicz
Programowanie współbieżne Wykład 5 Rafał Skinderowicz Monitory motywacje Mechanizmy synchronizacji takie jak blokady (zamki) semafory pozwalają efektywnie rozwiązywać dostępu do współdzielonych zasobów,
Bardziej szczegółowoKonstrukcja spójnego obrazu stanu globalnego algorytmy
Konstrukcja spójnego obrazu stanu globalnego algorytmy Plan wykładu Celem wykładu jest przedstawienie niektórych algorytmów służących do konstrukcji obrazu spójnego stanu globalnego. Wykład obejmie przedstawienie
Bardziej szczegółowoPoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj
Bardziej szczegółowoWstęp do programowania. Drzewa podstawowe techniki. Piotr Chrząstowski-Wachtel
Wstęp do programowania Drzewa podstawowe techniki Piotr Chrząstowski-Wachtel Drzewa wyszukiwań Drzewa często służą do przechowywania informacji. Jeśli uda sie nam stworzyć drzewo o niewielkiej wysokości
Bardziej szczegółowoCheatsheet PL/SQL Andrzej Klusiewicz 1/9
Declare y integer; z varchar2(50); d date; null; Declare x integer:=10; null; x integer; x:=10; dbms_output.put_line('hello world'); for x in 1..10 loop Deklaracja 4 zmiennych. Jednej typu rzeczywistego,
Bardziej szczegółowoWykład 5. Synchronizacja (część II) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 5 Synchronizacja (część II) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wady semaforów Jeden z pierwszych mechanizmów synchronizacji Generalnie jest to mechanizm bardzo
Bardziej szczegółowoPodstawowe algorytmy i ich implementacje w C. Wykład 9
Wstęp do programowania 1 Podstawowe algorytmy i ich implementacje w C Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Element minimalny i maksymalny zbioru Element minimalny
Bardziej szczegółowoSemafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post blokuje aplikację.
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 11 11.1 abstrakcyjne Semafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post
Bardziej szczegółowoSemafory. - aktywne oczekiwanie =GRGDWNRZ\PZVSDUFLHPVSU]WRZ\P 6SHFMDOQDLQVWUXNFMDPDV]\QRZDUHDOL]XMFDDWRPRZ\]DSLVL odczyt, np.
Semafory 5R]ZL]DQLHSUREOHPXZ]DMHPQHJRZ\NOXF]DQLD %H]GRGDWNRZHJRZVSDUFLDVSU]WRZHJRLSURJUDPRZHJR =DNáDGDP\MHG\QLH*H]DSLVGRLRGF]\W]SDPLFLZVSyOQHMV RSHUDFMDPLDWRPRZ\PLF]\OLLVWQLHMHDUELWHUZVSyOQHMSDPLFL :UD]LHMHGQRF]HVQHJR]DSLVXLRGF]\WXUH]XOWDWHPEG]LH
Bardziej szczegółowoAlgorytmy i struktury danych
Algorytmy i struktury danych Drzewa Witold Marańda maranda@dmcs.p.lodz.pl Drzewa - podstawy Drzewo jest dynamiczną strukturą danych składającą się z elementu węzłowego, zawierającego wskazania na skończoną
Bardziej szczegółowoZarządzanie bazą danych. Bazy Danych i Systemy informacyjne Wykład 4. Piotr Syga
Bazy Danych i Systemy informacyjne Wykład 4 Piotr Syga 26.10.2018 Procedury review Przypomnienie składni procedur Tworzenie DELIMITER $$ CREATE PROCEDURE zliczacz (OUT wynik INT) BEGIN operacje... END
Bardziej szczegółowoSynchronizacja procesów i wątków
SOE Systemy Operacyjne Wykład 12 Synchronizacja procesów i wątków dr inŝ. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Problem sekcji krytycznej Podstawowy problem synchronizacji
Bardziej szczegółowoInformatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa
Informatyka 1 Wykład III Wyrażenia i instrukcje, złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: składnia wyrażeń, drzewa rozbioru gramatycznego i wyliczenia wartości wyrażeń, operatory
Bardziej szczegółowoUNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH
UNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH Robert Wójcik Instytut Cybernetyki Technicznej Politechniki Wrocławskiej 1. Impasy w systemach procesów współbieżnych 2. Klasyczne algorytmy unikania
Bardziej szczegółowoProcesy stochastyczne
Wykład IV: dla łańcuchów Markowa 14 marca 2017 Wykład IV: Klasyfikacja stanów Kiedy rozkład stacjonarny jest jedyny? Przykład Macierz jednostkowa I wymiaru #E jest macierzą stochastyczną. Dla tej macierzy
Bardziej szczegółowoJ. Ułasiewicz Programowanie aplikacji współbieżnych 1
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 1.1 Prosty przykład zakleszczenia (ang. Mexican standoff) W systemach w których wykonywane jest wiele współbieżnych procesów które operują na wspólnych
Bardziej szczegółowoKrzysztof Jakubczyk. Zadanie 2
Zadanie 2 Krzysztof Jakubczyk Moje rozwiązanie nie znajduje strategii pozycyjnej w znaczeniu zdefiniowanym na wykładzie (niezaleŝnie od pozycji startowej), gdyŝ takowa nie istnieje. Przykład: 1 1 0 Środkowa
Bardziej szczegółowoSystemy operacyjne. wykład 11- Zakleszczenia. dr Marcin Ziółkowski. Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie
Systemy operacyjne wykład 11- Zakleszczenia dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 17grudnia2015r. POJĘCIE ZAKLESZCZENIA Zakleszczenie to zbiór
Bardziej szczegółowoINSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};
INSTRUKCJA PUSTA Nie składa się z żadnych znaków i symboli, niczego nie robi Przykłady: for i := 1 to 10 do {tu nic nie ma}; while a>0 do {tu nic nie ma}; if a = 0 then {tu nic nie ma}; INSTRUKCJA CASE
Bardziej szczegółowoProblem zakleszczenia. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wzmianka o zakleszczeniu (ang. deadlock, inne tłumaczenia: blokada, impas, zastój) pojawiła się przy okazji synchronizacji procesów. W tym module, zjawisko
Bardziej szczegółowosynchronizacji procesów
Dariusz Wawrzyniak Definicja semafora Klasyfikacja semaforów Implementacja semaforów Zamki Zmienne warunkowe Klasyczne problemy synchronizacji Plan wykładu (2) Semafory Rodzaje semaforów (1) Semafor jest
Bardziej szczegółowoRealizacja algorytmu wyznaczania wyrazów ciągu w języku VHDL z zastosowaniem podziału projektu na moduły: FSM i Data Path.
Zakład Cyberbezpieczeństwa, Instytut Telekomunikacji, Politechnika Warszawska, 2015. 1 Układy Cyfrowe laboratorium Przykład realizacji ćwiczenia nr 6 (wersja 2015) 1. Wstęp 1.1. Algorytm Realizacja algorytmu
Bardziej szczegółowoOPERACJE NA PLIKACH. Podstawowe pojęcia:
OPERACJE NA PLIKACH Podstawowe pojęcia: plik fizyczny, zbiór informacji w pamięci zewnętrznej wykorzystywany do trwałego przechowywania danych lub jako przedłużenie pamięci operacyjnej w przypadku przetwarzania
Bardziej szczegółowoAlgorytmy i struktury danych. wykład 5
Plan wykładu: Wskaźniki. : listy, drzewa, kopce. Wskaźniki - wskaźniki Wskaźnik jest to liczba lub symbol który w ogólności wskazuje adres komórki pamięci. W językach wysokiego poziomu wskaźniki mogą również
Bardziej szczegółowoPorządek symetryczny: right(x)
Porządek symetryczny: x lef t(x) right(x) Własność drzewa BST: W drzewach BST mamy porządek symetryczny. Dla każdego węzła x spełniony jest warunek: jeżeli węzeł y leży w lewym poddrzewie x, to key(y)
Bardziej szczegółowoSortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania:
Sortowanie Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania: podać strukturę danych dla elementów dynamicznego skończonego multi-zbioru S, względem którego są wykonywane następujące
Bardziej szczegółowo5. Model komunikujących się procesów, komunikaty
Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć
Bardziej szczegółowoprowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325
PODSTAWY INFORMATYKI WYKŁAD 8. prowadzący dr ADRIAN HORZYK http://home home.agh.edu.pl/~ /~horzyk e-mail: horzyk@agh agh.edu.pl tel.: 012-617 617-4319 Konsultacje paw. D-13/325 DRZEWA Drzewa to rodzaj
Bardziej szczegółowo1 Wprowadzenie do algorytmiki
Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności
Bardziej szczegółowoWprowadzenie do Sztucznej Inteligencji
Wprowadzenie do Sztucznej Inteligencji Wykład Studia Inżynierskie Przeszukiwanie przestrzeni stanów Przestrzeń stanów jest to czwórka uporządkowana [N,[, S, GD], gdzie: N jest zbiorem wierzchołków w odpowiadających
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania wykład 4 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Instrukcje pętli Pętle służą do iteracyjnego wykonywania pewnych kroków Zazwyczaj
Bardziej szczegółowoIndukowane Reguły Decyzyjne I. Wykład 3
Indukowane Reguły Decyzyjne I Wykład 3 IRD Wykład 3 Plan Powtórka Grafy Drzewa klasyfikacyjne Testy wstęp Klasyfikacja obiektów z wykorzystaniem drzewa Reguły decyzyjne generowane przez drzewo 2 Powtórzenie
Bardziej szczegółowoLock Manager Deadlock Źródła Jak starczy czasu. Dreadlocks. Konrad Błachnio MIMUW 19 maja 2010
Konrad Błachnio K.Blachnio@students.mimuw.edu.pl MIMUW 19 maja 2010 1 Co to jest? API Implementacja 2 ILockManagerWithDetecting s - straszny zamek 3 4 Obecna implementacja Lock vs. Synchronized Hashtable
Bardziej szczegółowoStruktury danych (I): kolejka, stos itp.
Letnie Warsztaty Matematyczno-Informatyczne Algorytmy i struktury danych Struktury danych (I): kolejka, stos itp. Struktury danych (I): kolejka, stos itp. Struktura danych stanowi sposób uporządkowania
Bardziej szczegółowoWprowadzenie do Sztucznej Inteligencji
Wprowadzenie do Sztucznej Inteligencji Wykład Informatyka Studia InŜynierskie Przeszukiwanie przestrzeni stanów Przestrzeń stanów jest to czwórka uporządkowana [N,[, S, GD], gdzie: N jest zbiorem wierzchołków
Bardziej szczegółowoWprowadzenie do Sztucznej Inteligencji
Wprowadzenie do Sztucznej Inteligencji Wykład Informatyka Studia InŜynierskie Przeszukiwanie przestrzeni stanów Przestrzeń stanów jest to czwórka uporządkowana [N,, S, GD], gdzie: N jest zbiorem wierzchołków
Bardziej szczegółowoModelowanie złożonych układów cyfrowych (1)
Modelowanie złożonych układów cyfrowych () funkcje i procedury przykłady (przerzutniki, rejestry) style programowania kombinacyjne bloki funkcjonalne bufory trójstanowe multipleksery kodery priorytetowe
Bardziej szczegółowo