Programowanie_wspolbiezne_Systemy_czasu_rzeczywistego_prowsp.pdf

(759 KB) Pobierz
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym
powoduje naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi
bądź towarowymi ich właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje
były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani
za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz
Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody
wynikłe z wykorzystania informacji zawartych w książce.
Redaktor prowadzący: Michał Mrowiec
Projekt okładki: Studio Gravite / Olsztyn
Obarek, Pokoński, Pazdrijowski, Zaprucki
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie?prowsp
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
ISBN: 978-83-246-4302-8
Copyright © Helion 2012
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
Rozdziaä 1. Wstöp .............................................................................................. 7
1.1. Geneza ksi ki ........................................................................................................... 7
1.2. Cele ............................................................................................................................ 9
Rozdziaä 2. Programowanie wspóäbie ne ........................................................... 11
2.1. Wprowadzenie ......................................................................................................... 12
2.2. Podstawowe poj cia ................................................................................................ 22
2.2.1. Proces, zasób, procesy wspóábie ne .............................................................. 23
2.2.2. Program wspóábie ny .................................................................................... 24
2.3. Synchronizacja i komunikacja ................................................................................. 25
2.4. Podsumowanie ......................................................................................................... 27
2.5. ûwiczenia i zadania ................................................................................................. 28
Rozdziaä 3. Poprawno è programów wspóäbie nych ........................................... 29
3.1. Wprowadzenie ......................................................................................................... 29
3.2. Wzajemne wykluczanie ........................................................................................... 32
3.3. ywotno ü globalna ................................................................................................. 34
3.3.1. Warunki konieczne wyst pienia blokady ...................................................... 41
3.3.2. Metody wykrywania i likwidacji blokad ....................................................... 44
3.3.3. Metody zapobiegania blokadom .................................................................... 46
3.3.4. Metody unikania blokad ................................................................................ 49
3.4. ywotno ü lokalna ................................................................................................... 50
3.5. Podsumowanie ......................................................................................................... 52
3.6. ûwiczenia i zadania ................................................................................................. 53
Rozdziaä 4. Zadania ......................................................................................... 57
4.1. Wprowadzenie ......................................................................................................... 58
4.2. Deklaracja typu zadaniowego .................................................................................. 62
4.3. Tworzenie zada ...................................................................................................... 66
4.4. Aktywacja, wykonanie, finalizacja i likwidacja zada ............................................ 74
4.4.1. Fazy aktywacji i wykonania zada ................................................................ 75
4.4.2. Fazy finalizacji i likwidacji zada ................................................................. 77
4.4.3. Bá dy kreacji i aktywacji zada ..................................................................... 79
4.5. Hierarchiczna struktura zada ................................................................................. 81
4.5.1. Fazy kreacji, aktywacji i wykonania zada ................................................... 81
4.5.2. Fazy finalizacji i likwidacji zada ................................................................. 83
4.6. Podsumowanie ......................................................................................................... 91
4.7. ûwiczenia i zadania ................................................................................................. 91
Kup książkę
Poleć książkę
4
Programowanie wspóäbie ne. Systemy czasu rzeczywistego
Rozdziaä 5. Zmienne dzielone i semafory ........................................................... 95
5.1. Wprowadzenie ......................................................................................................... 95
5.2. Zmienne dzielone .................................................................................................... 96
5.3. Semafory ............................................................................................................... 104
5.3.1. Definicje semaforów ................................................................................... 105
5.3.2. Wzajemne wykluczanie ............................................................................... 106
5.4. ûwiczenia i zadania ............................................................................................... 112
Rozdziaä 6. Spotkania .................................................................................... 115
6.1. Wprowadzenie ....................................................................................................... 115
6.2. Instrukcja selektywnego wyboru — select ............................................................ 122
6.2.1. Selektywne oczekiwanie .............................................................................. 123
6.2.2. Dozory wej ü ............................................................................................... 128
6.2.3. Gaá zie delay, else, terminate ...................................................................... 131
6.2.4. Wyj tek Program_Error .............................................................................. 139
6.3. Warunkowe i terminowe wywoáanie wej cia ........................................................ 141
6.4. Zagnie d one spotkania ......................................................................................... 144
6.5. Pakiety ................................................................................................................... 147
6.6. Podsumowanie ....................................................................................................... 150
6.7. ûwiczenia i zadania ............................................................................................... 151
Rozdziaä 7. Monitory i obiekty chronione ........................................................ 155
7.1. Wprowadzenie ........................................................................................................ 155
7.2. Monitory ................................................................................................................. 156
7.2.1. Zmienne warunkowe .................................................................................... 157
7.2.2. Przykáady programów .................................................................................. 163
7.3. Obiekt chroniony .................................................................................................... 166
7.3.1. Specyfikacja typu chronionego..................................................................... 167
7.3.2. Synchronizacja warunkowa.......................................................................... 171
7.3.3. Semantyka wykona metod skáadowych ...................................................... 172
7.3.4. Rodzina wej ü .............................................................................................. 176
7.3.5. Przykáady programów — obiekt chroniony.................................................. 180
7.4. Instrukcja rekolejkowania....................................................................................... 181
7.4.1. Problem alokacji zasobów ............................................................................ 181
7.4.2. Skáadnia instrukcji requeue .......................................................................... 192
7.4.3. Problem alokacji zasobów w systemach czasu rzeczywistego .................... 193
7.5. Instrukcja abort ....................................................................................................... 197
7.6. Asynchroniczna zmiana sterowania........................................................................... 198
7.7. Podsumowanie........................................................................................................ 218
7.8. ûwiczenia i zadania ................................................................................................ 219
Rozdziaä 8. Problemy programowania wspóäbie nego ....................................... 223
8.1. Problem konsumenta i producenta ......................................................................... 223
8.1.1. Semafory ..................................................................................................... 226
8.1.2. Spotkania ..................................................................................................... 230
8.1.3. Monitory ...................................................................................................... 231
8.1.4. Obiekty chronione ....................................................................................... 232
8.1.5. Podsumowanie ............................................................................................. 233
8.2. Problem pi ciu filozofów ...................................................................................... 236
8.2.1. Semafory ..................................................................................................... 238
8.2.2. Monitory ...................................................................................................... 240
8.2.3. Obiekty chronione ....................................................................................... 242
8.2.4. Spotkania ..................................................................................................... 247
8.2.5. Podsumowanie ............................................................................................. 251
Kup książkę
Poleć książkę
Spis tre ci
5
8.3. Problem pisarzy i czytelników ............................................................................... 252
8.3.1. Semafory ..................................................................................................... 253
8.3.2. Spotkania ..................................................................................................... 254
8.3.3. Monitory ...................................................................................................... 255
8.3.4. Obiekty chronione ....................................................................................... 256
8.3.5. Podsumowanie ............................................................................................. 258
8.4. ûwiczenia i zadania ............................................................................................... 258
Rozdziaä 9. Programowanie systemów czasu rzeczywistego .............................. 261
9.1. Wprowadzenie ....................................................................................................... 261
9.2. Metoda ustalonego priorytetu ................................................................................ 267
9.2.1. Priorytety bazowe ........................................................................................ 269
9.2.2. Problem inwersji priorytetu ......................................................................... 270
9.3. Szeregowanie zada w kolejkach wej ü ................................................................ 274
9.4. Metoda szeregowania bez wywáaszczenia ............................................................. 276
9.5. Metoda Round-Robin ............................................................................................ 276
9.6. Metoda EDF .......................................................................................................... 278
9.6.1. Reprezentacja terminów .............................................................................. 278
9.6.2. Szeregowanie zada .................................................................................... 280
9.6.3. Metoda EDF i protokóá ICPP ...................................................................... 281
9.7. Priorytety dynamiczne ........................................................................................... 288
9.8. Synchroniczne i asynchroniczne sterowanie zadaniami ........................................ 289
9.8.1. Synchroniczne sterowanie zadaniami .......................................................... 290
9.8.2. Asynchroniczne sterowanie zadaniami ........................................................ 290
9.9. Podsumowanie ....................................................................................................... 291
9.10. ûwiczenia i zadania ............................................................................................. 292
Dodatek A. Przykäady programów ..................................................................... 293
Literatura ........................................................................................................ 311
Skorowidz ....................................................................................................... 313
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin