Programiranje u realnom vremenu – Skripta sa praktikumom i rešenim zadacima
Dragan Milićev, Bojan Furlan
Programiranje u realnom vremenu -
Skripta sa praktikumom i rešenim
zadacima
Univezitet u Beogradu – Elektrotehnički fakultet
Beograd, 2011
Ovaj materijal je objavljen u okviru projekta WUS Austria MSDP 2011 finansiranog od strane Austrijske agencije za razvoj / The
publishing of this material is part of the project MSDP 2011 financed by Austrian Development Agency through WUS Austria.
Besplatan primerak / This copy is not for sale
Programiranje u realnom vremenu
2
Dragan Milićev, Bojan Furlan
Programiranje u realnom vremenu -
Skripta sa praktikumom i rešenim zadacima
Recezenti
dr Sanja Vraneš
dr Vladimir Blagojević
Odlukom Nastavno-naučnog veća Elektrotehnčkog fakulteta
broj 2093 od 18.10.2011. godine ovaj rukopis je odobren kao
nastavni materijal na Elektrotehničkom fakultetu u Beogradu
Izdavač
Elektrotehnički fakultet
ISBN 978-86-7225-046-6

Programiranje u realnom vremenu
4
Sadr
žaj
Sadržaj
1
Predgovor
3
I
UVOD U SISTEME ZA RAD U REALNOM VREMENU
8
Definicija sistema za rad u realnom vremenu
8
Podela i terminologija RT sistema
8
Primeri RT sistema
9
Karakteristike RT sistema
10
Primeri struktura pogodnih za RT implementacije
11
II
POUZDANOST I TOLERANCIJA OTKAZA
34
Pouzdanost i tolerancija otkaza
35
Pouzdanost, padovi i otkazi
35
Sprečavanje i tolerancija otkaza
36
N-Version Programiranje
37
Dinamička softverska redundansa
39
Blokovi oporavka
42
Izuzeci i njihova obrada
45
Dinamička redundansa i izuzeci
45
Obrada izuzetaka bez posebne jezičke podrške
45
Izuzeci i njihova reprezentacija
46
Obrada izuzetka
48
Propagacija izuzetka
49
Zadaci
51
Zadaci za samostalan rad
58
III
OSNOVE KONKURENTNOG PROGRAMIRANJA
60
Konkurentnost i procesi
61
Konkurentno programiranje
61
Pojam procesa
63
Predstavljanje procesa
65
Interakcija izmeĎu procesa
68
Implementacija niti
68
Zadaci
86
Zadaci za samostalan rad
87
Sinhronizacija i komunikacija pomoću deljene promenljive
89
MeĎusobno isključenje i uslovna sinhronizacija
89
Uposleno čekanje
91
Semafori
94
Uslovni kritični regioni
99
Monitori
100
Klasifikacija poziva operacija
106
Programiranje u realnom vremenu
5
Implementacija sinhronizacionih primitiva
106
Zadaci
111
Zadaci za samostalan rad
118
Sinhronizacija i komunikacija pomoću poruka
119
Sinhronizacija procesa
119
Imenovanje procesa i struktura poruke
121
Randevu u jeziku Ada
122
Zadaci
125
Zadaci za samostalan rad
126
Kontrola resursa
127
Modeli za pristup deljenim resursima
127
Problemi nadmetanja za deljene resurse
129
Zadaci za samostalan rad
136
IV
SPECIFIČNOSTI RT PROGRAMIRANJA
138
Realno vreme
139
Časovnik realnog vremena
139
Merenje proteklog vremena
142
Vremenske kontrole
143
Kašnjenje procesa
147
Specifikacija vremenskih zahteva
148
Kontrola zadovoljenja vremenskih zahteva
152
Implementacija u školskom Jezgru
154
Zadaci
164
Zadaci za samostalan rad
180
Raspoređivanje
188
Osnovne strategije rasporeĎivanja
188
Testovi rasporedivosti
192
Opštiji model procesa
198
Projektovanje prema vremenskim zahtevima
205
Zadaci
209
Zadaci za samostalan rad
214
V
OSNOVE OBJEKTNO ORIJENTISANOG MODELOVANJA NA JEZIKU
UML
217
Modelovanje strukture
218
Klasa, atributi i operacije
218
Asocijacija
218
Zavisnost
221
Generalizacija/Specijalizacija
222
Interfejsi
223
Modelovanje ponašanja
224
Interakcije i dijagrami interakcije
224
Aktivnosti i dijagrami aktivnosti
226
Mašine stanja i dijagrami prelaza stanja
228
Organizacija modela
234
Paketi
234
Dijagrami
234
VI
MODELOVANJE RT SISTEMA
236

Programiranje u realnom vremenu
7
Samostalan rad
298
Korisni linkovi
298
Literatura
299
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti