Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Procesy współbieżne Copyright, 2006 © Jerzy R. Nawrocki Wstęp do informatyki Wykład.

Podobne prezentacje


Prezentacja na temat: "Procesy współbieżne Copyright, 2006 © Jerzy R. Nawrocki Wstęp do informatyki Wykład."— Zapis prezentacji:

1 Procesy współbieżne Copyright, 2006 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.pl http://www.cs.put.poznan.pl/jnawrocki/wdi/ Wstęp do informatyki Wykład 6

2 J.Nawrocki, Procesy współbieżne Wprowadzenie Program 1 System oper. Program 2 Program 3 WieloprogramowośćWielozadaniowość Cray

3 J.Nawrocki, Procesy współbieżne Plan wykładu Podstawowe pojęcia Interferencja obliczeń Metoda ścisłej wymiany Instrukcja TSL Semafory binarne Problem producent-konsument

4 J.Nawrocki, Procesy współbieżne Proces Podstawowe pojęcia Proces = Program w trakcie wykonania Program Wartości rejestrów Licznik rozkazów Dane...

5 J.Nawrocki, Procesy współbieżne Procesy na 1 procesorze Podstawowe pojęcia A A B B C C D D

6 J.Nawrocki, Procesy współbieżne Procesy na 1 procesorze Podstawowe pojęcia A A B B C C D D

7 J.Nawrocki, Procesy współbieżne Procesy na 1 procesorze Podstawowe pojęcia A A B B C C D D

8 J.Nawrocki, Procesy współbieżne Procesy na 1 procesorze Podstawowe pojęcia A A B B C C D D

9 J.Nawrocki, Procesy współbieżne Procesy na 1 procesorze Podstawowe pojęcia A A B B C C D D

10 J.Nawrocki, Procesy współbieżne Procesy na 1 procesorze Podstawowe pojęcia A A B B C C D D

11 J.Nawrocki, Procesy współbieżne Stany procesu Podstawowe pojęcia Wykonywany Gotowy Zablokowany

12 J.Nawrocki, Procesy współbieżne Plan wykładu Podstawowe pojęcia Interferencja obliczeń Metoda ścisłej wymiany Instrukcja TSL Semafory binarne Problem producent-konsument

13 J.Nawrocki, Procesy współbieżne Interferencja obliczeń Z = Zarobek studenta Z= Z + 100Z= Z + 300 Z: 7

14 J.Nawrocki, Procesy współbieżne Z: 7 Interferencja obliczeń X= Z; X= X + 100; Z= X; Z= Z + 100Z= Z + 300 Z = Zarobek studenta

15 J.Nawrocki, Procesy współbieżne Z: 107 Interferencja obliczeń X= Z; X= X + 100; Z= X; Z= Z + 100Z= Z + 300 Z = Zarobek studenta

16 J.Nawrocki, Procesy współbieżne Z: 107 Interferencja obliczeń X= Z; X= X + 100; Z= X; Y= Z; Y= Y + 300; Z= Y; Z= Z + 100Z= Z + 300 Z = Zarobek studenta

17 J.Nawrocki, Procesy współbieżne Z: 407 Interferencja obliczeń X= Z; X= X + 100; Z= X; Y= Z; Y= Y + 300; Z= Y; Z= Z + 100Z= Z + 300 Z = Zarobek studenta

18 J.Nawrocki, Procesy współbieżne Z: 7 Interferencja obliczeń X= Z; X= X + 100 Z= Z + 300 Z = Zarobek studenta Z= Z + 100 Z= X; X: 107

19 J.Nawrocki, Procesy współbieżne Z: 7 Interferencja obliczeń X= Z; X= X + 100; Y= Z; Y= Y + 300; Z= Z + 300 Z = Zarobek studenta Z= Z + 100 Z= Y; Z= X; X: 107 Y: 307

20 J.Nawrocki, Procesy współbieżne Z: 307 Interferencja obliczeń X= Z; X= X + 100; Y= Z; Y= Y + 300; Z= Y; Z= Z + 300 Z = Zarobek studenta Z= Z + 100 Z= X; X: 107 Y: 307

21 J.Nawrocki, Procesy współbieżne Z: 107 Interferencja obliczeń X= Z; X= X + 100; Z= X; Y= Z; Y= Y + 300; Z= Y; Z= Z + 300 Z = Zarobek studenta Z= Z + 100 X: 107 Y: 307

22 J.Nawrocki, Procesy współbieżne Z: 107 Interferencja obliczeń X= Z; X= X + 100; Z= X; Y= Z; Y= Y + 300; Z= Y; Z= Z + 300 Z = Zarobek studenta Z= Z + 100 X: 107 Y: 307

23 J.Nawrocki, Procesy współbieżne Plan wykładu Podstawowe pojęcia Interferencja obliczeń Metoda ścisłej wymiany Instrukcja TSL Semafory binarne Problem producent-konsument

24 J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

25 J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

26 J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

27 J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

28 J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

29 J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

30 J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

31 J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

32 J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

33 J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

34 J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

35 J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

36 J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany Bum!

37 J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany sekcja_krytyczna

38 J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany while (true) { sekcja_krytyczna(); inne_czynności(); } while (true) { sekcja_krytyczna(); inne_czynności(); }

39 J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany while (true) { while (kolej != 0) ; sekcja_krytyczna(); kolej= 1; inne_czynności(); } while (true) { while (kolej != 1) ; sekcja_krytyczna(); kolej= 0; inne_czynności(); } 0 1

40 J.Nawrocki, Procesy współbieżne Plan wykładu Podstawowe pojęcia Interferencja obliczeń Metoda ścisłej wymiany Instrukcja TSL Semafory binarne Problem producent-konsument

41 J.Nawrocki, Procesy współbieżne Komunikacja międzyprocesowa Instrukcja TSL... call CNO1 sekcja_krytyczna call Otworz1 inne_czynności... call CNO1 sekcja_krytyczna call Otworz1 inne_czynności... CzekajNaOtwarcie

42 J.Nawrocki, Procesy współbieżne Otworz1: mov Zamek1, 0 ret CNO1: mov rej, Zamek1 mov Zamek1, 1 cmp rej, 0 jne CNO1 ret Komunikacja międzyprocesowa Instrukcja TSL Zamknięty Otwarty

43 J.Nawrocki, Procesy współbieżne CNO1: mov rej, Zamek1 mov Zamek1, 1 cmp rej, 0 jne CNO1 ret Komunikacja międzyprocesowa Instrukcja TSL CNO1: mov rej, Zamek1 mov Zamek1, 1 cmp rej, 0 jne CNO1 ret Zamek1 = 0

44 J.Nawrocki, Procesy współbieżne CNO1: mov rej, 1 xchg rej, Zamek1 cmp rej, 0 jne CNO1 ret Otworz1: mov Zamek1, 0 ret Komunikacja międzyprocesowa Instrukcja TSL

45 J.Nawrocki, Procesy współbieżne Plan wykładu Podstawowe pojęcia Interferencja obliczeń Metoda ścisłej wymiany Instrukcja TSL Semafory binarne Problem producent-konsument

46 J.Nawrocki, Procesy współbieżne Semafory binarne

47 J.Nawrocki, Procesy współbieżne Semafory binarne

48 J.Nawrocki, Procesy współbieżne Sekcja krytyczna Semafory binarne

49 J.Nawrocki, Procesy współbieżne Semafory binarne Sekcja krytyczna

50 J.Nawrocki, Procesy współbieżne Semafory binarne Sekcja krytyczna

51 J.Nawrocki, Procesy współbieżne Semafory binarne Sekcja krytyczna down

52 J.Nawrocki, Procesy współbieżne Semafory binarne Sekcja krytyczna

53 J.Nawrocki, Procesy współbieżne Semafory binarne Sekcja krytyczna up

54 J.Nawrocki, Procesy współbieżne Semafory binarne Sekcja krytyczna

55 J.Nawrocki, Procesy współbieżne Plan wykładu Podstawowe pojęcia Interferencja obliczeń Metoda ścisłej wymiany Instrukcja TSL Semafory binarne Problem producent-konsument

56 J.Nawrocki, Procesy współbieżne Producent-Konsument Magazyn Producent Konsument Produkuj_elem Wstaw_elem

57 J.Nawrocki, Procesy współbieżne Producent-Konsument Magazyn Producent Konsument Produkuj_elem Wstaw_elem Pobierz_elem

58 J.Nawrocki, Procesy współbieżne Producent-Konsument Magazyn Producent Konsument Produkuj_elem Wstaw_elem Pobierz_elem Konsumuj_elem

59 J.Nawrocki, Procesy współbieżne Producent-Konsument Magazyn Producent Konsument Produkuj_elem Wstaw_elem Pobierz_elem Konsumuj_elem

60 J.Nawrocki, Procesy współbieżne while (true) { produkuj_elem; wstaw_elem; } Producent-Konsument Semafory binarne i uogólnione Producent while (true) { pobierz_elem; konsumuj_elm; } Konsument

61 J.Nawrocki, Procesy współbieżne while (true) { produkuj_elem; down (mutex); wstaw_elem; up (mutex); } Producent-Konsument Semafory binarne i uogólnione Producent while (true) { down (mutex); pobierz_elem; up (mutex); konsumuj_elm; } Konsument

62 J.Nawrocki, Procesy współbieżne while (true) { produkuj_elem; down (mutex); wstaw_elem; up (mutex); up (full); } Producent-Konsument Semafory binarne i uogólnione Producent while (true) { down (full); down (mutex); pobierz_elem; up (mutex); konsumuj_elm; } Konsument

63 J.Nawrocki, Procesy współbieżne while (true) { produkuj_elem; down (empty); down (mutex); wstaw_elem; up (mutex); up (full); } Producent-Konsument Semafory binarne i uogólnione Producent while (true) { down (full); down (mutex); pobierz_elem; up (mutex); up (empty); konsumuj_elm; } Konsument

64 J.Nawrocki, Procesy współbieżne Plan wykładu Podstawowe pojęcia Interferencja obliczeń Metoda ścisłej wymiany Instrukcja TSL Semafory binarne Problem producent-konsument Sieci Petri’ego

65 J.Nawrocki, Procesy współbieżne Carl Adam Petri Ur. 12 lipca 1926 w Lipsku Od 1988: Honorowy Prof. Uniwersytetu w Hamburgu Kommunikation mit Automaten. Petri, C.A., Bonn: Institut für Instrumentelle Mathematik, Schriften des IIM Nr. 2, 1962.

66 J.Nawrocki, Procesy współbieżne Co to za gra?

67 J.Nawrocki, Procesy współbieżne Co to za gra?

68 J.Nawrocki, Procesy współbieżne Co to za gra?

69 J.Nawrocki, Procesy współbieżne Co to za gra?

70 J.Nawrocki, Procesy współbieżne Co to za gra?

71 J.Nawrocki, Procesy współbieżne Co to za gra?

72 J.Nawrocki, Procesy współbieżne Wprowadzenie Sieci Petri’ego: Notacja graficzna Dobra podstawa matematyczna Zastosowania: Modelowanie systemów współbieżnych i rozproszonych Protokoły komunikacyjne, sieci komputerowe, systemy produkcyjne, systemy transportu publicznego itp.

73 J.Nawrocki, Procesy współbieżne Terminologia Miejsce Przejście Znacznik Łuk wej. Łuk wyj.

74 J.Nawrocki, Procesy współbieżne Bardzo prosty przykład waiting reading strt_reading stop_reading Czytelnik w bibliotece: czekanie, czytanie.

75 J.Nawrocki, Procesy współbieżne Bardzo prosty przykład waiting reading strt_reading stop_reading Czytelnik w bibliotece: czekanie, czytanie.

76 J.Nawrocki, Procesy współbieżne Bardzo prosty przykład waiting reading strt_reading stop_reading Czytelnik w bibliotece: czekanie, czytanie.

77 J.Nawrocki, Procesy współbieżne Bardzo prosty przykład waiting reading strt_reading stop_reading Czytelnik w bibliotece: czekanie, czytanie.

78 J.Nawrocki, Procesy współbieżne Bardzo prosty przykład waiting reading strt_reading stop_reading Czytelnik w bibliotece: czekanie, czytanie.

79 J.Nawrocki, Procesy współbieżne waiting reading strt_reading stop_reading Inny prosty przykład Dwaj czytelnicy w czytelni: czekanie, czytanie.

80 J.Nawrocki, Procesy współbieżne waiting reading strt_reading stop_reading Inny prosty przykład Dwaj czytelnicy w czytelni: czekanie, czytanie.

81 J.Nawrocki, Procesy współbieżne waiting reading strt_reading stop_reading Inny prosty przykład Dwaj czytelnicy w czytelni: czekanie, czytanie.

82 J.Nawrocki, Procesy współbieżne waiting reading strt_reading stop_reading Inny prosty przykład Dwaj czytelnicy w czytelni: czekanie, czytanie.

83 J.Nawrocki, Procesy współbieżne Przejścia równoległe 2

84 J.Nawrocki, Procesy współbieżne Przejścia równoległe 2

85 J.Nawrocki, Procesy współbieżne Przejścia równoległe 2

86 J.Nawrocki, Procesy współbieżne Przejścia konfliktowe

87 J.Nawrocki, Procesy współbieżne Przejścia konfliktowe

88 J.Nawrocki, Procesy współbieżne Przejścia konfliktowe Punkt decyzyjny

89 J.Nawrocki, Procesy współbieżne Inny przykład while (true) { t 1 ;... t 2 ;... t 3 ; } while (.. t 4..) {... t 5 ;... } Klient Serwer

90 J.Nawrocki, Procesy współbieżne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

91 J.Nawrocki, Procesy współbieżne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

92 J.Nawrocki, Procesy współbieżne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

93 J.Nawrocki, Procesy współbieżne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

94 J.Nawrocki, Procesy współbieżne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

95 J.Nawrocki, Procesy współbieżne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

96 J.Nawrocki, Procesy współbieżne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

97 J.Nawrocki, Procesy współbieżne Another example while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

98 J.Nawrocki, Procesy współbieżne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

99 J.Nawrocki, Procesy współbieżne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

100 J.Nawrocki, Procesy współbieżne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

101 J.Nawrocki, Procesy współbieżne Podsumowanie Interferencja obliczeń Ścisła zmiana Instrukcja TSL Semafory binarne i uogólnione Problem producent-konsument Programowanie współbieżne jest trudniejsze niż sekwencyjne Sieci Petri’ego jako narzędzie modelowania Wreszcie!

102 J.Nawrocki, Procesy współbieżne Literatura A. Tanenbaum, Operating Systems: Design and Implementation, Prentice- Hall, 1987. 

103 J.Nawrocki, Procesy współbieżne Ocena wykładu 1. Wrażenie ogólne? (1 - 6) 2. Zbyt wolno czy zbyt szybko? 3. Czy dowiedziałeś się czegoś ważnego? 4. Co poprawić i jak?


Pobierz ppt "Procesy współbieżne Copyright, 2006 © Jerzy R. Nawrocki Wstęp do informatyki Wykład."

Podobne prezentacje


Reklamy Google