Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałŁucjusz Kamieniecki Został zmieniony 9 lat temu
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?
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.