200
Osnovna struktura programa Osnovna struktura programa Tri fundamentalne strukture Linearne sekvence instrukcija Iterativne petlje Grananja na osnovu iskaza selekcije Strukture u višezadačnim programima Paralelne ili konkurentne instrukcije Kritične grupe isključivih instrukcija

Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Osnovna struktura programaOsnovna struktura programa

Tri fundamentalne strukture

• Linearne sekvence instrukcija

• Iterativne petlje

• Grananja na osnovu iskaza selekcije

Strukture u višezadačnim programima• Paralelne ili konkurentne instrukcije

• Kritične grupe isključivih instrukcija

Page 2: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

KaKaššnjenje odgovora njenje odgovora –– Responce latencyResponce latency

• Ključni faktor karakterizacije RTS

• Transformacija nepredvidivih asinhronih zahteva u raspoređeno sinhrono procesiranje

Page 3: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Relativna brzinaRelativna brzina

Prebrzo osmatranje ulaza

Page 4: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Presporo očitavanje ulaza

Page 5: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Primer izlaza sa svetlosnog senzora

Page 6: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Programsko generisanje vremenskih intervala• Neophodnost poznavanja strukture programa koji kompajler generiše

Page 7: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Velika brzina / malo vreme Ako procesor nema potrebnu brzinu – lasersko merenje rastojanja

20 km (40 km u oba smera) - t = 130 us

50 m (100 m u oba smera) - t = 325 ns

Procesor koji radi na 500 MHz (2 ns po instrukciji)problemi sa kešom, preklapanje zadataka, prekidi ...hardversko merenje

Page 8: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Tajming izlaznih uređajaPeriodično ili ciklično generisanje izlaznih podatakaKontrola motora

Step motoriAC motoriDC motoriVentili

Oživljavanje RTS - DebuggingMalo koristi od izvršavanja programa korak po korak – single step

Ubacivanje naredbi za štampanje printf() kvari tajming

Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori

Umetanje izlaznih instrukcija koje generišu kratke impulse

Page 9: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Pristup hardveruUloga operativnog sistema u odvajanju hardvera od softvera

Page 10: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Ulazi i izlazi računaraSpecijalizovane instrukcije

INTEL: Specijalne instrukcije, IN, OUTMOTOROLA: Adresni prostor, MOVE

Tri osnovne tehnike prenosa podatak ka i iz računara

Namensko ili periodično očitavanje – pullingPrekidni ulaz/izlaz - Interrupt drivenDirektni pristup memoriji – (DMA)

Hardware Interface LayerSoftverski nivo virtuelne mašine

Page 11: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Programirani U/I

Samo u DOS-u ili Windows 98

Page 12: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih
Page 13: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

V godinaV godina

smer: Esmer: E

ččasovi: 2 + 2 + 3asovi: 2 + 2 + 3

O predmetuO predmetu

Profesor : Prof. dr Branislav PetroviProfesor : Prof. dr Branislav Petrovićć

Asistent: dipl. ing. Goran NikolicAsistent: dipl. ing. Goran Nikolic

Page 14: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Sistemi za rad u realnom vremenuSistemi za rad u realnom vremenu

Uvod u sisteme za rad u realnom vremenu

Cilj: Opisati okruženje računarskog sistema koji radi u realnom vremenu.

Sadržaj:• Definicija RTS

• Računarski sistem i realno vreme

• Funkcionalni, vremenski i metafunkcionalni zahtevi

• Klasifikacija RT sistema

• Tržište RT sistema

• Primeri RT sistema

Page 15: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Definicija sistema za rad u realnom vremenuDefinicija sistema za rad u realnom vremenu

Sistem za rad u realnom vremenu predstavlja kompleksan sistem kod koga su važna ograničenja postavljena u vremenskom domenu i čine vodeći preduslov za procenu kvaliteta isporučenog servisa.

Vreme kada se rezultat generiše je od iste važnosti kao i logička ispravnost.

Razmatranje stvari koje su sakrivene od “high level” programera. “Low level” programiranje. Izbor hardvera, operativnog sistema, HL jezika.

PRIMENE:

vojne primene, automatizacija industrijskog postrojenja, nadgledanje nuklearnih postrojenja, vođenje naučnog eksperimenta, embedded sistemi, roboti, multimedijalni audio i video sistemi, bankovni transakcioni sistemi

Page 16: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Prema oksfordskom rečniku definicija sistema za rad u realnom vremenu je:

Definicija sistema za rad u realnom vremenuDefinicija sistema za rad u realnom vremenu

Svaki sistem kod koga je trenutak u kome se generiše izlazni signal od velikog značaja. Ovo je najčešće zbog toga što na ulaz deluju neke promene iz fizičkog sveta, a izlaz treba da se odnosi na te promene. Razlika u vremenu od trenutka delovanja promene na ulazu do generisanja izlazne veličine mora biti dovoljno mala i u okviru prihvatljivih granica.

Pojam prihvatljive granice (timeliness) treba razmatrati u kontekstu celog sistema. Na primer:

u sistemu za navodjenje projektila, izlazni signal se zahteva za najviše nekoliko milisekundi,

u nekim primenama za kontrolu rada automobila odziv se može zahtevati u jednoj sekundi

Page 17: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Young (1982) RT sistem definiše kao:

Randell (1995) RT sistem definiše kao :

Definicija sistema za rad u realnom vremenuDefinicija sistema za rad u realnom vremenu

Bilo koja aktivnost obrade informacija (ili sistem) koji na spolja generisane ulaze treba da da odgovor u konačnom, unapred specificiranom periodu.

RT sistem je sistem koji zahteva reakciju na pobudu iz okruženja (uzimajući u obzir i tok fizičkog vremena) u vremenskim intervalima odredjenim od strane okruženja.

Operativni sistem i realno vreme; Windows, UNIX ?

Page 18: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Kategorizacija sistema: RTS ili neRTS• Kakav treba da je odziv sistema koji ne radi u realnom vremenu (Data Proc.)?

Sme li program za obradu plate da završi izračunavanje sa zakašnjenjemPrevremeno štampanje novina

• Raspoređivanje vođeno događajima (enent-driven scheduling)Prekidni signali – interruptTaktni signal? Kod DP sistema GUI interfejs kao event-driven

• Programiranje na niskom nivouPisanje drajvera (device drivers) za nove uređaje.ASM, C

• Specijalizovani hardverElektronski i mehanički uređajiKritične komponente u sistemima sa povratnom petljom – regulatorPoznavanje elektronike, mehanike, akustike, fiziologije, optike ...

Page 19: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

• ”Izvetrivost” U/I podataka u vremenu – Volatile data I/OSistem gde se podaci ne dobijaju iz disk fajla ili sa tastatureStruktura programa obezbeđuje proveru određenom brzinom

• Multitasking – Višezadačni sistemiRasčlanjivanje na veći broj zadatakaStatičko sakupljanje instrukcija u funkcije <$> Dinamičko sekvenciranjeDa li je uvek neophodno?Multitasking: 1) implementaciona strategija 2) sredstvo za projektovanje

• Raspoređivanje u toku izvršenjaU DP primenama raspoređivanje od strane programeraU RTS samo deo posla. Zadatak operativnog sistema

• Nepredvidivost promena u okruženjuEvent-driven RTSVelika simulaciona testiranja - nalaženje svih mogućih kombinacija ulaza

• Kritične programske sekvence – Life critical codeGde rezultat neizvršenja funkcija RTS-a kritičan po život korisnikaSve veći broj ovakvih primena: avion, automobilFly by wire tehnologijaIzrada programa: dodatne provere, dokumentacija, probna eksploatacijaPovećaneje cene programa za faktor 30

Page 20: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

RaRaččunarski sistem i realno vremeunarski sistem i realno vreme

Računarski sistem za rad u realnom vremenu je računarski sistem koji koriguje svoje ponašanje u zavisnosti ne samo od logičkog rezultata izračunavanja, već i u zavisnosti od trenutka kada su rezultati dobijeni.

Računarski sistem za rad u realnom vremenu je uvek deo većeg sistema koji nosi naziv

Sistem za rad u realnom vremenu (RTS Sistem za rad u realnom vremenu (RTS -- Real Time SystemReal Time System))

Page 21: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Osnovna karakteristika RTS-a je da menja svoje stanje u funkciji fizičkog vremena, čak i u slučaju kada se kontrolni računar isključi sa napajanja.

Zbog toga je korisno izvršiti dekompoziciju RTS-a na tri podsistema koje ćemo nazivati klasterima (cluster):

RaRaččunarski sistem i realno vremeunarski sistem i realno vreme

kontrolisani objekat (KO),

računarski sistem za rad u realnom vremenu(RTC sistem - Real-Time Computer System) i

opreater

Page 22: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Grupu koju čine kontrolisani objekat i operater nazivaćemo okruženjem (environment) računarskog sistema za rad u realnom vremenu.

RaRaččunarski sistem i realno vremeunarski sistem i realno vreme

Page 23: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Reakcija RT računara na pobudu od KO-a (ili operatera) mora da usledi u vremenskom intervalu koji je definisan okruženjem.

Vremenski trenutak u kome se mora generisati odziv naziva se krajnji rok ili deadline.

U slučaju da rezultat može biti od koristi i ukoliko se propusti deadline,tada se on klasifikuje kao soft deadline.

Ukoliko nema koristi od rezultata nakon isteka krajnjeg roka, uvodi se klasifikacija firm deadline.

Ukoliko pri propuštanju deadline-a može doći do katastrofalnih posledica, tada se on klasifikuje kao hard deadline.

Krajnji rok Krajnji rok -- deadlinedeadline

Page 24: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Pružni prelaz sa svetlosnom signalizacijom.

Neki RTC sistem možemo označiti kao hard RTC sistem ili safety-critical RTC sistem ukoliko mora da ispuni najmanje jedan hard deadline.

Ukoliko nema zahteva za hard deadline - soft RTC.

Razlika u ponašanju pod svim specificiranim opterećenjima sistema.

Zahtevi koje RTS mora da ispuni:FunkcionalniVremenskiMetafunkcionalni

Klasifikacija Klasifikacija RTCRTC--aa

PrimerPrimer

Page 25: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Funkcionalni zahteviFunkcionalni zahtevi

Funkcionalni zahtevi RTC sistema se odnose na funkcije koje RTC sistem mora da ostvari.

Grupisani su u:

zahteve prikupljanja podatakaOsmatranjeKondicioniranje Nadgledanje alarmnih stanja

zahteve direktne digitalne kontrole i

zahteve vezane za interakciju između čoveka i mašine.

Page 26: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Kontrolisani objekt menja svoje stanje u funkciji vremena.

Tekuće stanje kontrolisanog objekta možemo opisati beležeći stanja i vrednosti promenljivih u objektu u tom trenutku.

Neku od promenljivih koja je od značaja nazvaćemo RT entitet (entity). RT entitet je lociran ili u okruženju ili u računarskom sistemu .

Primeri RT entiteta:

protok tečnosti u cevi,

zadatak u kontrolnoj petlji koji zadaje operater,

ciljno stanje kontrolnog ventila.

Prikupljanje podatakaPrikupljanje podataka

Page 27: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Satički atributi koji se ne menjaju za vreme trajanja RT entitetaIme, tip, domen vrednosti, i maksimalni stepen promene.

Dinamički atributi koji se menjaju. Vrednost u određenom trenutku je najvažniji dinamički atribut. Brzina promene vrednosti entiteta u određenom trenutku.

Oblast kontrole (SOC – Sphere Of Control) nad entitetom.

Prikupljanje podataka Prikupljanje podataka –– atributi entitetaatributi entiteta

Page 28: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

RT entitet može da ima ili diskretni ili kontinualni skup vrednosti.

Skup vrednosti diskretnog RT entiteta je definisan i ostaje konstantan u dva određena stanja. U intervalu između ova dva stanja skup vrednosti diskretnog RT entiteta je nedefinisan.

U slučaju kontinualnog RT entiteta, skup vrednosti je uvek definisan.

Prikupljanje podataka Prikupljanje podataka –– skup vrednosti skup vrednosti entitetaentiteta

diskretni entitet - automatska vrata na kabini lifta.

PrimerPrimer

Page 29: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Osmatranje Osmatranje

Prvi funkcionalni zahtev – atomična struktura podatakaOsmatranje = (ime, tobs, vrednost)

Osmatranje stanja Neko osmatranje je osmatranje stanja ako rezultat osmatranja sadrži stanje RT entiteta.

Osmatranje događaja Događaj (event) je pojava koja se manifestuje kao promena stanja i dešava se u određenom trenutku. Osmatranje kao događaj.Nemogućnost direktnog osmatranja događaja u kontrolisanom objektu.

Page 30: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Kondicioniranje signalaKondicioniranje signala

Kondicioniranje signalaFizički senzori i tzv. sirovi podatak (raw data).Usrednjavanje – redukcija greške merenja.Kalibracija i transformacija u standardne merne jedinice.

Dobijanje merenih podataka (measured data).Provera verodostojnosti u cilju detekcije mogućeg otkaza senzora.

Usaglašeni podatak (agreed data element).

Page 31: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Nadgledanje alarmnih stanjaNadgledanje alarmnih stanja

Kontinualni nadzor entiteta i detekcija abnormalnog ponašanja sistema.Korelisane set alarma – alarmni pljusak (alarm shower).Detekcija, prikaz i logiranje alarma. Alarmni log. Primarni događaj.

Direktna digitalna kontrolaDirektna digitalna kontrolaDirektno određivanje vrednosti aktuatora – postavne vrednosti

Interakcija Interakcija ččovek ovek -- mamaššinainaIzuzetno važan i kritičan deo sistema

Page 32: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Vremenski zahtevi Vremenski zahtevi

Kontrolni računarski sistem

post. vred. senzor

protoka senzor temp. protok pare

temperatura

realno vreme

temp

10%

90%

dobject drise

ventil

kašnjenje objekta dobject (process lag) vreme uspona drise

period odmeravanja dsample, frekvencija odmeravanja fsample.

Primer proste kontrolne petljePrimer proste kontrolne petlje

dsample < 0.1 drise

Page 33: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

osmatranje objekta

jitter kašnjenjaΔdcomp

izlaz ka aktuatoru

realno vreme kašnjenje računara dcomp realno vreme

temperaturadodatne greške merenja

jitter

ddt

tdTT Δ=Δ)(

Kašnjenje i jitter kašnjenja

mrtvo vreme (dead time) otvorene kontrolne petlje: dobject + dcomp

Page 34: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

dcomp+ dobjectračunar i objekatdead timeddeadtime

Δdcomp<< dcompračunarjitter kašnjenjaΔdcomp

dcomput< dsampleračunarKašnjenje računaradcomp

dsample<< driseračunarperiod odmeravanjadsample

fizički procesobjekat kontrolevreme usponadrise

fizički procesobjekat kontroleKašnjenje objektadobject

RelacijeSOCParametarSimbol

Parametri kontrolne petlje

Page 35: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Privremena Privremena tataččnostnostOdnos između RT entiteta i s njemu pridružene RT slike

Bliža istorija RHi u trenutku ti je uređen skup tačaka u vremenu (ti, ti-1, ti-2,..., ti-k)RT sliku je privremeno tačna ako važi:

interval privremene tačnosti dacc=z(ti)-z(ti-k)

) () (: jiij tatRTentityValuetatRTimageValueRHt =∈∃

))()(()()( obsuse tztzdt

tdvterror −=

))(()()( accobsuseobs dtztztz +≤≤

Najgora greška uzrokovana vremenskim kašnjenjem treba da jeistog reda kao i najgora greška merenja u domenu vrednosti.

Ako RT entitet brzomenja svoju vrednost

accobsuse dtztz ≤− ))()(((

Interval vremenske tacnosti

Realno vreme

RT entitet

RT slika

Vrednost

Page 36: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Važnost da svaka greška u sistemu kontrole (otkaz senzora, gubitak ili poremećaj poruka ili otkaz čvora) bude detektovana u što kraćem roku i sa što većom verovatnoćom.

Latencija detekcije greške mora biti istog reda kao i period odmeravanja najbrže kontrolne petlje

Cilj: dovođenje sistema u sigurno stanje.

Minimalno vreme detekcije greMinimalno vreme detekcije grešškeke

Page 37: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Zahtevi kvaliteta rada (Zahtevi kvaliteta rada (DependabilityDependability))

1. Pouzdanost (Reliability)

2. Sigurnost

3. Mogućnost održavanja (Maintainability)

4. Raspoloživost sistema (Availability)

5. Tajnost (Security)

Grupa najvažnijih metafunkcionalnih atributa računarskog sistema koji se odnosena kvalitet servisa koji sistem pruža korisniku u dužem vremenskom intervalu.

Page 38: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Pouzdanost Pouzdanost Pouzdanost R(t) sistema je verovatnoća da sistem obezbedi

specificirane servise do vremena t pod pretpostavkom da je u početnom trenutku t=t0 bio u ispravnom stanju.

Pod pretpostavkom da sistem ima konstantni broj otkaza po času (failure rate) λ tada je pouzdanost sistema u trenutku t definisana sa:

gde je (t-t0) dato u časovima.

Recipročna vrednost broju otkaza, 1/λ = MTTF, predstavlja srednje vreme do otkaza (Mean-Time-To-Failure)

Visoko pouzdani sistemi imaju vrednost broja otkaza po času reda 10-9

ili manje.

R(t)=exp(-λ(t-t0))

Page 39: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Pouzdanost sistema u odnosu na stanje kritičnog otkaza.

Dva osnovna tipa stanja kritičnog otkaza - maligni i benigni.

U stanju malignog otkaza cena otkaza je veća od dobitaka kod normalnih radnih uslova.

SigurnostSigurnost

Primeri malignih otkaza: su rušenje aviona, automobilska nesreća.

Certifikacija: RT sistem koji mora biti siguran i u kritičnim uslovima radamora biti overen od strane nezavisne agencije.

Da su svi kritični subsistemi zaštićeni stabilnim interfejsimakoji onemogućavaju propagaciju greške u ostatak sistema.

Da se svi scenariji koji se odnose na date hipoteze opterećenja i otkazane baziraju na specifikacijama koje uzimaju u obzir argumente verovatnoće.

Da se može konstruisati kompletan i tačan model pouzdanosti sistema.Svi parametri modela koji se ne mogu dobiti analitički moraju biti merljiviu razumnom vremenu testiranja.

Page 40: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Vreme potrebno da se izvrši reparacija sistema nakon pojave benignog otkaza.

Izražava se kao verovatnoća M(d) da se sistem osposobi za rad za vreme (d) nakon otkaza.

U cilju kvantitativnog određivanja mogućnosti održavanja uvode se konstante broj reparacija μ (repairs per hour) i srednje vreme do reparacijeMTTR (Mean Time To Repair).

MoguMoguććnost odrnost održžavanja avanja (Maintainability)(Maintainability)

Fundamentalni konflikt između pouzdanosti i mere održavanja.Podela sistema na SRU jedinice (SRU-smallest replaceable units)

Page 41: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

RaspoloRaspoložživost sistema (Availability)ivost sistema (Availability)

Raspoloživost sistema je mera ostvarenog ispravnog rada sistema u odnosu na ukupan ispravan i neispravan rad.

MTBF = MTTF + MTTR (Mean Time Between Failures)

Visoko raspoloživi sistemi: sa velikim MTTF ili kratkim MTTR što omogućava projektantima ovakvih sistema određene slobode u konstrukciji.

A = MTTF / (MTTF+MTTR)

Page 42: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Tajnost se odnosi na sposobnost sistema da se zaštiti od neautorizovanog pristupa informacijama ili servisima.

Prava pristupa velikim bazama podataka.

Tajnost u sistemima za rad u realnom vremenu: alarmni sistem automobila.

Tajnost (Security)Tajnost (Security)

Page 43: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Klasifikacija sistema za rad u realnom Klasifikacija sistema za rad u realnom vremenuvremenu

Na bazi karakteristika aplikacije odnosno od faktora van računarskog sistema:

Klasifikacija kao posledica faktora unutar računarskog sistema:

Garantovani odziv i Najbolji mogući odziv

Resurs adekvatni i Resurs neadekvatni

Event Trigered (ET) i Time Trigered (TT)

Hard i Soft RT sistemi

Fail-Safe i Fail-Operational

Page 44: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Hard i Soft RT sistemiVreme odziva (Response Time): reda milisekunde/sekunde,

mogućnost interakcije čoveka u kritičnim uslovima, prekoračenje deadline.

Vršno operećenje (Peak-Load Performance): specifikacijavršnog opterećenja, očuvanje specificiranih DL.

Sinhronizacija (Control of Pace): sinhronizacija sa stanjemu okruženju

Sigurnost: pouzdanost sistema, autonomnost u detekcijigrešaka.

Veličina polja podataka: baza podataka u realnom vremenu,mala privremena tačnost.

Tip redundanse: postupak nakon detekcije grešaka vraćanjemna kontrolnu tačku. Teškoće kod hard sistema: DL,neponovljivost aktivnosti, tačnost i protok vremena.

Page 45: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Fail-Safe i Fail-Operational sistemiPonašanje sistema u slučaju otkaza.Verovatnoća detektovanja greške – high error detection coverage.Watchdog.Fail-Operational sistemi moraju obezbediti minimalni nivo servisa.

Garantovani odziv i Najbolji mogući odzivSistem koji funkcioniše u specificiranim uslovima otkaza i opterećenjima.Sistemi sa najboljim mogućim odzivom (best effort) ne zahtevaju rigoroznu specifikaciju velikih opterećenja.

Resurs adekvatni i Resurs neadekvatni

Event Trigered (ET) i Time Trigered (TT)Neka pojava u određenom trenutku naziva se događaj (event).Interval , start event i terminating event. Trajanje intrervala (duration).Event Trigered (ET) Pristup kod koga se sve aktivnosti procesiranja iniciraju kad dođe do značajne promene nekog stanja, t.j. događaja koji ne potiče od taktnog signala.Time Trigered (TT) Pristup kod koga se iniciranje aktivnosti vrši u predefinisanim trenutcima vremena.

Page 46: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

TrTržžiiššte RT sistemate RT sistemaOdnos cena/performanse i uspeh nekog proizvoda.

Cena koštanja u toku životnog ciklusa proizvoda (life-cycle cost):cena razvoja, cena proizvodnje i cena održavanja.

Cena hardvera – cena sofvera, nekad i sad

Kvalitet softvera – Software Quality Assurance SQAHardver se degradira uprkos održavanju, sofver degradirazbog hardvera

BudućnostPojava 8-bitnih mikroprocesoraFPGA i VHDL - paralelizam

Page 47: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

1. embedded sistemi

Deo većeg sistema, inteligentni proizvod.

Mehanički deo, kontrolni embedded računar i interfejs.Masovna produkcija.Statička struktura.Interfejs čovek-mašina.Minimizacija mehaničkog podsistema.Strategija održavanja: bez održavanja/dijagnostički interfejs.Sposobnost za komunikaciju.

Faze u razvoju metoda projektovanjaAd-hoc primena računara, izrada softvera od strane inženjera.Novi zahtevi - dodavanje novih funkcija.Uvođenje operativnog sistema – novi troškovi bez vidljivih poboljšanja.Komunikacioni interfejsi i standardi.

Page 48: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

2. Automatsko upravljanje industrijskim postrojenjem

Prvo polje primene.

Industrijska instrumentacija uz korišćenje daljinski upravljanih kontrolera.

Uvođenje centralnog procesnog računara kao pomoć operateru (open loop control) .

Razvoj modela procesa i porast pouzdanosti računara - funkcije kontrole prepuštane računaru (closed-loop control).

Jedinstvenost svakog sistema za automatizaciju. fizički raspored, opreativna strategija, pravila regulacije i sistem izveštavanja konkretnog postrojenja.

Cena razvoja, cena proizvodnje (hardvera) i cena održavanja.

Page 49: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

VentilPretvarač

temperature Mešač

Hemikalije i

materijaliFinalni

proizvod

Računar za kontrolu

proizvodnje

Konzolaoperatera

Primeri sistema za rad u realnom Primeri sistema za rad u realnom vremenu vremenu

Sistem za kontrolu procesa

Page 50: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Mašinski alat Manipulatori Transportne trake

Delovi Finalniproizvod

Računar za kontrolu

proizvodnje

Konzolaoperatera

Primeri sistema za rad u realnom Primeri sistema za rad u realnom vremenu vremenu

Sistem za kontrolu proizvodnje

Page 51: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih
Page 52: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Hardverska arhitektura raHardverska arhitektura raččunaraunaraPojednostavljena struktura računaraTri sistemske magistral: power, address and data – sistemska magistrala.

Lečovanje: pamćenje stanja signala u cilju kasnijeg procesiranjaTrigerovanje na ivicu ili nivo – Edge or Level triggered.Logika sa tri stanja – mogućnost razmene podataka sa više kolaWait stanjaSistemski interfejsi i magistrale:

1. MIL-STD-1553B - avionske aplikacije2. Small Computer Systems Interface3. IEEE 1394 Firewire

Page 53: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

1. MIL-STD-1553B - avionske aplikacije

Master-slave protokol. Lista aktivnosti uređaja na magistrali.Poruke sadrže ID brojeve, komande i podatke.Primer: Master želi da uređaj 5 pošalje 10 paketa podataka uređaju 6.Pouzdanost.

Page 54: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

2. Small Computer Systems Interface (“scuzzy”)

Brza spoljašnja magistrala.400 Mbps u verziji 1394a i 800 Mbps u verziji 1394b.Osvtvarivanje veze sa 63 uređaja.Priključivanje u toku rada (hot pluggable).Asinhroni prenos i izohroni (isochronous)

3. IEEE 1394 Firewire

PC-bazirani interfejs, paralelni.3 generacije.Daisy-chained konfiguracija.ID-0 boot uređaj, prioritet na osnovu ID

Page 55: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

CPU – Centralna procesorska jedinica

Program kao sekvenca makroinstrukcija ili makrokoda - fetch–execute cycleIdling – no operation

Page 56: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Mikrokontroleri – programiranje mikroinstrukcijama – velika brzina. Širina instrukcija!

Format instrukcija definiše jezik koji opisuje funkcionalnost računaraArhitektura računara – Organizacija računaraVažnost razlikvanja operanada koji se referenciraju u instrukciji.

sabiranje: 1.sabirak+2.sabirak (additions: addend+augends)oduzimanje: umanjenik-umanjilac (subtraction: subtract-subtrahend)množenje: množenik*množilac (multiplication: multiplicand*multiplier)deljenje: deljenik/delelac (division: dividend/divisor).

Mikroračunari !

Page 57: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

1-Address and 0-Address Forms – akumulator, stek (kalkulatori)2-Address Form

op-cod operandam, operandumoperandum = op-code(operandam, operandum)

Intel-Motorolai=i+1; i++;ADD 0x01, &i ; 2-addressADD 0x01, &i, &i ; 3-address

3-Address Formop-code operandam, operandum, resultantresultant = op-code(operandam, operandum)

Osnovne instrukcije• Horizontal-bit operation AND, IOR, XOR, NOT• Vertical-bit operation rotate-left, rotate-right,• Control• Data movement• Mathematical/special processing (int. Float.pt.,• Other (processor specific) 8086 LOCK, 68000 ILLEGAL

Page 58: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Načini adresiranjaImmediate data NeposrednoDirect memory location DirektnoIndirect memory location Indirektno

CISC1. Complex instructions take many different cycles.2. Any instruction can reference memory.3. No instructions are pipelined.4. A microprogram is executed for each native instruction.5. Instructions are of variable format.6. There are multiple instructions and addressing modes.7. There is a single set of registers.8. Complexity is in the microprogram and hardware.

RISC1. Simple instructions taking one clock cycle.2. LOAD/STORE architecture to reference memory.3. Highly pipelined design.4. Instructions executed directly by hardware.5. Fixed-format instructions.6. Few instructions and addressing modes.7. Large multiple-register sets.8. Complexity handled by the compiler and software.

Page 59: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

MEMORIJEZnačaj k-ka za projektovanje sistema za rad u realnom vremenuAccess time: vremenski interval od trenutka kada se zahteva neki podatak izmemorije to trenutka kad je podatak dostupan CPU.

Page 60: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Organizacija memorijeZnačaj tipa i organizacije memorije kod pisanje programa za RT sisteme!Primer embedded 32-bitnog sistema

Page 61: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Ulaz/Izlaz (Input/Output)Senzori, pretvarači, aktuatori, prekidači, displeji,...Tri osnovne metode:

1. Programirani Ulaz/Izlaz (Programmed Input/Output)Specijalne instrukcije za prenos podataka (OUT, IN).

2. Direct Memory AccessPristup memoriji (od strane U/I uređaja) bez intervencije CPU.

Page 62: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Memorijsko mapirani U/I (Memory-Mapped I/O)Memorijske lokacije se pojavljuju kao virtualni U/I portovi.

U/I Bit Mapa – Opisuje raspored kontrolnih signale za kola u sistemu. Ovi signali su ogranizovani kao reči odgovarajuće dužine u memoriji.

Page 63: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Prekidi (Interrupts)Hardverski signal koji inicira neki događaj. Izvori prekida (U/I uređaji, trapovi).Instrukcije za podršku prekida (enable, disable). Atomične instrukcije.Procedura prihvatanja prekida (interrupt handling). Status i maska prekida.

Page 64: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Višestruki prekidi, procesori sa više prekidnih ulaza

Programibilni kontroler prekida PIC (programmable interrupt controller), 82093Prihvatanje prekida, zabranadaljih prekida, detekcija lažnihprekida.

Page 65: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Načini povezivanje kola korišćenjem prekidnog sistema.

Reagovanje sistema na jednovremenupojavu većeg broja prekidnih signala.Prioriteti.

Mogućnost prekida nekih instrukcija(prenos bloka podataka)

Page 66: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Watchdog tajmer

Metode za poboljšanje performansiLokalizam referenci: relativna udaljenost promenljive u memoriji.Keš: mala i brza memorija za smeštanje najčešće korišćenih podataka.Protočnost: paralelizam u izvršavanju instrukcija

Koprocesori:Izvršavanje specijalnihinstrukcija koje nisu deostandardnog seta.

Page 67: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Primena specijalizovanih kola

Klasa logičkih kola (programibilnih) koja se koriste da realizaciju određenih logičkih f-ja.PLD (programmable logic devices):

PAL - Programmable array logicsPLA - Programmable logic arraysASIC - Applications-specific integrated circuitsFPGA - Field-programmable gate arrays

Page 68: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

FPGA

Page 69: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Paralelni sistemi

Nedostatak von Nojmanove arhitekture: U jednom trenutku se samo jednaInstrukcija ili jedan podatak mogu preuzeti sa magistrale.Izvršavanje samo jedne instrukcije.

Posebne arhitekture

Flynn-ova Taxonomija paralelizma:1. Single instruction, single data (SISD)2. Single instruction, multiple data (SIMD)3. Multiple instruction, single data (MISD)4. Multiple instruction, multiple data MIMD)

Mehanizmi razmene podataka:Poruke, Deljiva memorija.

Page 70: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Klasifikacija računarskih arhitektura

------------------------------------------------------------------------------------------------------------------------------Single Data Stream Multiple Data Stream

------------------------------------------------------------------------------------------------------------------------------Single instruction stream von Neumann processors Systolic processors

RISC Wavefront Processors------------------------------------------------------------------------------------------------------------------------------Multiple-instruction stream Pipelined architectures Data flow processors

VLIW processors TransputersGrid computersHypercube processors

------------------------------------------------------------------------------------------------------------------------------

Page 71: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih
Page 72: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

RealiRealizacijazacija jednostavnjednostavnihih RTRT sistemasistema

Metoda realizacije jednostavnog embedded RT sistmaKooperativno raspoređivanjeIzbegavanje overhead-a u preklapanju zadataka (istiskivanje)Prekidne servisne rutine

Deljenje resursa

Kritični podaci

Page 73: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Višezadačnost – Multi - tasking

Proces - Zadatak (Process - Task):

Apstrakcija programa koji izvršava jednu (ili više) logičkihcelina.

Jedan CPU – više zadataka

Primer Windows OS – task menakžer

Konkurentno procesiranje – kako ostvariti multitasking

Višeprocesorski sistemi

Page 74: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Beskonačna petlja sa funkcijama koje izvode sve potrebne aktivnosti.Jednostavni prelaz sa zadatka na zadatak kodiran u samoj petljiU sistemima gde se očekuje brzi odziv na zahteve jednog uređaja.

Osnovna struktura:Ispitivanje svih promena na ulazuPostavljanje svih potrebnih izlaznih stanjaBeskorisno testiranja markera (flag) u beskonačnoj petlji.

Nedostatak:Ostvarenje zavisnog tajminga kod periosično raspoređenih aktivnosti

Neposredno rešenje:Prikidom vođeni vremensko kritični zadaci (device driven interrupt)Nedostaci:NefleksibilnostBroj prekida i prioriteta prekida

Petlje sa zadacima

Page 75: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Jednostavna petlja zadataka sa prekidnim programom

Page 76: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Problemi sa tajmingom kodnih sekvenci

Nedovoljno tačan tajming, jitter.

Obrada prekida, if/else.

Minimalno vreme odziva na I/O aktivnost, polovina periode petje.

Povećanje frekvencije petlje, podela zadataka na faze.Manje korisnog vremena.

Rizik oid blokiranja zadataka.

Page 77: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Preklapanje zadataka – Task swappingPlan izvršavanja zadataka (raspored) – programer.

Kooperativno raspoređivanje

Kako?Složenije od poziva podprogramaPisanje programa na niskom nivou

Kada?Podaci ili vreme određuju prioritet izvršavanja.Očitavanje ulaznih podataka, baferi.

Koji?Podela resursa.Prekidanje zadatka koji trenutno upisuje u deljivi resurs.Međusobna isključivost, semafori.Primer ispisivanja vremena.

Tehnike zaštite:Zabrana preklapanja zadataka u kritičnim sekcijama.Serijalizacija svih pristupa kritičnim oblastima.Semafori i redovi.

Page 78: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

// Program_1 (C)

#define konst_1, konst_2

int prom_1, prom_2

main {init_sys while (1){task_1task_2task_3task_4

}}

// Program_1 (ASM)

Konst_1 equ 123Konst_2 equ 456

dseg ; (bseg)Prom_1: ds 2Prom_2: ds 2

csegcall init_sys

labela:call task_1call task_2call task_3call task_4

jmp labela

end

Page 79: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Razvojni sistem na bazi MCS51

Page 80: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Ciklično izvršavanje za goli hardver

Mali sistemi – uslovne petlje, prekidni programi i programi za čekanje.

Kružni planer – predefinisane sekvence, kooperativni raspored.Zadatak odlučuje o svom završetku i prelaku na novi zadatak.Nema promene u izvršavanju u toku izvršavanja. Specijalni idle ili burn zadatak .

Page 81: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Sistemski takt

Jedan od najvažnijih zadataka u projektovanju r-t programaAžuriranje kalendarskog vremenaOmogućava preraspodelu zadataka i periodično osvežavanjeHeartbeat planera

Hardverska realizacija PC CTC-(Counter Timer Chip), API funkcijeMali sistemi (embedded), frekvencija osvežavanja

Nivoi prioritetaPrekidni-interruptTaktniOsnovni

Page 82: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih
Page 83: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Mode 05-bits(8192 us)

Page 84: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih
Page 85: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih
Page 86: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih
Page 87: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih
Page 88: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Init_tmr2:mov th2,#-high(ttakt)mov tl2,#-low(ttakt)mov rcap2h,#-high(ttakt)mov rcap2l,#-low(ttakt)mov t2con,#00000100bret

Page 89: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

// Program_1 (C)

#define konst_1, konst_2

int prom_1, prom_2

main {init_sys while (1){task_1task_2task_3task_4while not takt {}

}}

// Program_1 (ASM)

Konst_1 equ 123Konst_2 equ 456ttakt equ 10000 ;(10 ms)

takt bit TF2 ;(TF0,TF1)

dsegProm_1: ds 2Prom_2: ds 2

csegcall init_sys ;(tmr2, …)

labela:call task_1call task_2call task_3call task_4jnb takt,$;azuriranje tajmera !

jmp labelaend

Page 90: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Prekidi

IE: EA X ET2 ES ET1 EX1 ET0 EX0IP: X X PT2 PS PT1 PX1 PT0 PX0

Page 91: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Produženi zadaci

Zadaci čije je vreme izvršavanja duže od vremenskog slota

Podela zadatka na delove – faze

Glavni problem u multi-tasking-u (code re-entry)

Page 92: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Primena kružnog izvršavanja

Svi zadaci vide istu globalnu strukturu podataka – globalne promenljive

Tri nivoa prioritetaPrekidni zadaciTaktni zadaciOsnovni nivo

Hibridna struktura – delom kooperativna, delom zahtev za istiskivanje

Frejm i slotovi, prioritet taktnih zadataka – izvršavanje u više slotova

Page 93: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih
Page 94: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Struktura tipa FIFO - red čekanja (bit polje semafora – markera)Zadaci mogu da imaju funkcije poziva za preraspoređevanje (sleep())

Page 95: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Task_1

Task_1

Task_2

Task_2

Smesti u red čekanja

Izvrši zadatkeIz reda čekanja

20ms

Page 96: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih
Page 97: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih
Page 98: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Uvod u RT programiranjeUvod u RT programiranjeRazmatranje skrivenih zahteva:Izbor hardvera, operativnog sistema i programskog jezika.Dobro poznavanje hardvera i operativnog sistema.Izbor mikrokontrolera (68HC11, Intel 8051, PIC 16F84, ...) ili PC-a.Prekidi - veza sa periferijama, istiskivanje (preemption).Veličina RAM memorije

Strukture podatakaTask Control Bolck – čuvanje stanja zadatka.Semafor – koordinacija procesa i deljivih resursa (binarni, brojački).Macro – labela koja zamenjuje blok instrukcija.

Kontrolne strukturePetlja čekanja (pulling loop).Event driven sistemi: foreground/background, multitasking, multiprocessor.Preklapanje konteksta (context switching).Monitor program.

Operativni sistemiKompleksni programi za vezu hardvera i korisničkih programa.Sheduler, dispatcher, context switch, memory manager, interprocess communication module, real-time clock manager, file system manager.Prioriteti (statički, dinamički), starvation, deadlock.

Page 99: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Jezgro operativnog sistema - KERNEL

Proces - Zadatak (Process - Task):Apstrakcija programa koji izvršava jednu (ili više) logičkih celina.Predstavljen strukturom podataka: stanje, identitet, atributi i resursi.

Funkcije jezgra OS-s: Raspoređivanje (scheduling), Izvršavanje (dispatching) i međusobna komunikacija i sinhronizacija (itecommunication and synchronization)

Page 100: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Pseudostrukture kernelaIzvršavanje većeg broja zadataka ne koristeći prekide i operativni sistem.Jednostavnija analiza ovakvih sistema.Petlja čekanja – Polled LoopU sistemima gde se očekuje brzi odziv na zahteve jednog uređaja.Osnovna struktura: testiranja markera (flag) u beskonačnoj petlji.

for(;;) { /* do forever */if (packet_here) /* check flag */

{process_data(); /* process data */packet_here=0; /* reset flag */}

}

Implementacija i u složenijim strukturama(background task in interrupt driven systems)

Page 101: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Sinhronizovane petlje čekanja

Primena sistemskog taktnog signala za realizaciju pauze između trenutka pojaveDogađaja (event) i obrade, odnosno resetovanja događaja.Primer: treperenje kontakta prekidača (switch bounce), nivostata, tastera.

Page 102: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

for(;;) { /* do forever */if(flag) /* check flag */{

pause(20); /* wait 20 ms */process_event(); /* process event */flag=0; /* reset flag */}

}

Page 103: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Ciklično izvršavanje

Sistemi bez prekida (noniterrupt-driven).Iluzija simultanog izvršavanja većeg broja procesa. Brzi procesor, kratki procesi.

for(;;) { /* do forever */Process_1();Process_2();...Process_N();}

}

Ciklično izvršavanje sa unapred definisanim brojem izvršavanja (cycle rate).round-robin metoda.

for(;;) { /* do forever */Process_1();Process_3();Process_2();Process_3();}

}

Page 104: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Izvršavanje na osnovu stanja (State-Driven)

Koristi ugnjezdene if-then, case iskaze ili automate sa konačnim brojem stanja (finite state automat) za razbijanje na segmente.Privremeno prekidanje izvršenja pre završetka zadatka bez gubitka kritičnih podataka.Algoritmi za optimizaciju FSM.Podela procesa na stanja. Da li se svi procesi mogu podeliti? Glomaznost tabela.

Korutine (Corutines)

Kooperativni multitasking. Strogo pridržavanje zahtevima i odgovarajuće aplikacije.Koristi FSM šemu za dva ili više procesa i poziv centralnog dispatcher-a.Centralni dispečer čuva listu svih procesa koji se izvršvaju (round-robin).Komunikacija između procesa preko globalnih promenljivih.

Page 105: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

void process_a(void){for(;;)

{switch(state_a)

{case 1: phase_a1();

break;case 2: phase_a2();

break;case 3: phase_a3();

break;case 4: phase_a4();

break;case 5: phase_a5();

break;}

}}

Page 106: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

void process_b(void){for(;;)

{switch(state_b)

{case 1: phase_b1();

break;case 2: phase_b2();

break;case 3: phase_b3();

break;case 4: phase_b4();

break;case 5: phase_b5();

break;}

}}

state_a, state_b: brojači stanja – globalne variable.Singronizacija i komunikacija preko globalnih variabli.

Page 107: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Sistemi koji koriste prekide (Interrupt-Driven Systems)

Sistemi kod kojih je glavni program oblika:JMP $

Raspoređivanje zadataka preko hardverskih i softverskih prekida.

Prekidne rutine (Interrupt service routines)Hardverski i softverski prekidiPristup resursima – dozvolom i zabranom prekida.Kritične sekcije programa.Reentrant procedure – koje se mogu izvršavati simultano u dva ili više konteksta.Kontekst – stanje mašine u trenutku pekida koje se mora obnoviti.

Context SwitchingProces čuvanje i obnavljanja neophodnih informacija za RT zadatak tako da onMože nastaviti sa izvršavanjem nakon prekida.Lokacije za smeštaj konteksta – stek.Uticaj na vreme odziva. Sačuvati najmanji mogući kontekst.Zabrana drugih prekida u toku preklapanja konteksta.

Page 108: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

void main(void){init(); /*initialize system, load interrupt handlers */while(TRUE); /* infinite wait loop */}

void intl (void) /* interrupt handler 1 */{save(context); /* save context on stack */task1(); /* execute task 1 */restore(context); /* restore context from stack */}

void int2(void) /* interrupt handler 2 */{save(context); /* save context on stack */task2(); /* execute task 2 */restore(context); /* restore context from stack */}

void int3(void) /* interrupt handler 3 */{save(context); /* save context on stack */task3(); /* execute task 3 */restore(context); /* restore context from stack */}

Page 109: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Sistemi sa prioritetima i istiskivanjem (Preemptive-Priority Systems)Zadatak za većim prioritetom može istisnuti (preempt) zadatak čiji je prioritet manji.Fiksni i dinamički prioriteti (fleksibilnost, složenost).Zarobljivanje resursa i pojava koja se naziva starvation.Sistemi sa fiksnim prioritetima (rate-monotonic) – frekvencija izvršavanja.

primer: akcelerometar

Hibridni sistemiKombinacija prekida koji se dešavaju sa fiksnom frekvencijom i sporadično.Round-robin i preemptive.Nedostatak prekidnih sistema: Nekorisno vreme (jmp $).

Foreground/Background sistemiPoboljšanje u odnosu na prekidne sisteme. Korisno procesiranje u toku čekanja.Najčešće korišćena u embedded sistemima.Background zadatak se uvek može istisnuti.Foreground zadaci se izvršavaju sa prioritetime i istiskivanjem u round robin obliku

Page 110: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Procesiranje u pozadini (background)Sve ono što nije vremenski kritično – sa najmanjim prioritetom.Detekcija izvršavanja procesa (software watchdog).Samotesteranje sistema.Prikaz na displeju, prikupljanje potataka za štampnje i drugo.

Page 111: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

TCB model (Task-Control Block)

Napopularnija metoda implementacije operativnih sistema.Komercijalni, puni operativni sistemi sa promenljivim brojem zadataka.Arhitekture sa interaktivnim on-line sistemima.Primena u round robin, preemptive priority, kombinovanim sistemima.

Nedostatak: kod velikog broja zadataka overhead postaje značajan.

Svakom zadatku pridružena je TCB struktura podataka.Strukture povezane kao ulančane liste.

Stanja zadatka1. Executing - kada se izvršava2. Ready - spreman za izvršavanje ali se ne izvršava3. Suspended (or blocked) - čekanje ne resurs4. Dormant (or sleeping) - izbačen iz liste

Upravljanje resursimaProvera statusa svih resursa u listi suspendovanih zadataka.

Page 112: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Manipulacija zadacimaOperativni sistem (OS) kao zadatak sa najvišim prioritetom.Svaki prekid i poziv sistemske funkcije aktivira OS.Ažurira liste zadataka (TCB), tabele resursa i zahteva za resursima

Razlika modela TCB i ISR – rad sa resursima

Statusna reč kao osnovni elemenat za manipulaciju zadacima

Manipulacija resursimaProvera statusa svih resursa u listi blokiranih zadataka.Mogućnost da beći broj zadataka čeka na oslobađanje istog resursa.

Page 113: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Dijagram promena stanja zadatka

Page 114: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Proces raspoređivanja zadataka

Osnovna funkcija operativnog sistema – kreiranje izvodljivog rasporedapre-run-time

smanjuje overhead zbog preklapanja kontekstaveća mogućnost nalaženja izvodljivog rasporeda

run-timekompleksni mehanizmi za sinhronizaciju i komunikaciju zadatakaproizvoljno prihvatanje događaja i zahteva za resursima

Karakterizacija zadataka

Ograničenja u prednjačenju (Precedence Constraints)Specifikacija da li neke zadatak treba da se izvrši pre drugih zadataka.

Vreme aktiviranja (puštanje, dolazak) zadatka ri,j (Release or Arrival Time)Vreme aktiviranja instance j zadatka τi .

Faza φiTvreme prvog aktiviranja zadatka τi .

Vreme odziva (Response Time)Vremenski interval od aktiviranja zadatka do njegovog završetka.

Page 115: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Apsolutni krajnji rok di (Absolute Deadline)Trenutak kad zadatak mora biti kompletiran.

Relativni krajnji rok Di (Relative Deadline)Maksimalno dozvoljeno vreme odziva zadatka.

Laksiti (Laxity)Pojam koji definiše slobodu izvršavanja.

Perioda piMinimalni vremenski interval između dva uzastopna aktiviranjazadatka.

Vreme izvršenja ei (Execution Time)Iznos vremena (maksimalni) koje je potrebno da se zadatak izvrši ako seizvršava bez prekida i ako ima omogućen pristup svim resursima.

Matematičke relacijeφ i = ri,1ri,k = φ i + (k − 1) ∗ pidi,j = φ i + (j − 1) ∗ pi + Di apsolutni krajnji rok instance j zadatka τidi,k = ri,k + pi = φ i + k ∗ pi relativni krajnji rok periodičnog zadatka

Page 116: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Tipični model zadatka

• Svi zadaci su strogo poriodični.

• Relativni krajnji rok zadatk jednak je njegovoj periodi.

• Svi zadaci su nezavisni, nema ogrničenja u prednjačenju.

• Nama zadatka sa sekcijama koje ne mogu biti istisnute, a cenaistiskivanja zadatka je zanemarljiva.

• Od važnosti su samo zahtevi procesiranja; memorija i U/I ne.

Page 117: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

RoundRound--Robin Robin raspoređivanje raspoređivanje (scheduling)(scheduling)

Sekvencijalno izvršavanje većeg broja procesa

Time slice - svakom zadatku se dodeljuje fiksni vremenski interval za izvršavanje.

Taktni signal za iniciranje prekida u trenucima koji odgovaraju timeslice.

Izvršavanje zadatka do kompletiranja ili do isteka vremena izvršenja.

Round robin obezbedjuje korektnu dodelu CPU-a zadacima istog prioriteta po principu vremenskog multipleksa.

Page 118: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

RoundRound--Robin Robin planiranje (scheduling) u kombinaciji planiranje (scheduling) u kombinaciji sa sistemom istiskivanja po prioritetusa sistemom istiskivanja po prioritetu

Page 119: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

CiliCiliččna izvrna izvrššenja (enja (CE CE –– Cyclic ExecutivesCyclic Executives))

CE se odnosi na planer koji deterministički napušta i sekvencira izvršenje periodičnih zadataka.

CE kao tabela poziva procedura

– svaki zadatak procedura u okviru jedne DO petlje.

Odluka o raspoređivanju periodično na svaki frejm (minor ciklus)

dužina frejma f

Glavni (major) ciklus – vreme potrebno da se izvrše svi zadaci

Glavni ciklus ili hiperperiod je jednak NZS-u (najmanji zajednički sadržalac) svih perioda, tj., lcm (p1, ... , pn)

Page 120: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Ako se planiranje odluka učini jedino na početku svakog frejma, ne postoji istiskivanje u okviru frejma

Faza svakog periodičnog zadatka je ne negativan celobrojni umnožak veličine frejma

Page 121: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Frejmovi moraju da budu dovoljno dugi tako da svaki zadatak može da počne i završi se u okviru jednog frejma.

Veličina frejma, f, duža od vremena izvršenja, ei, za svaki od zadataka, τi , tj.

Dužine ciklusa što kraća - veličina frejma treba da bude odabrana tako da hiperperiod ima celobrojni broj frejmova:

Kompletiranje svakog zadatak u okviru svog krajnjeg roka (deadline) -frejmovi moraju biti dovoljno mali tako da izmedju vremena puštanja i karajnjeg roka svakog zadatka, postoji najmanje jedan frejm.

Page 122: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Najgori slučaj - zadatak je pušten neposredno nakon početka frejama

gde je: gcd – NZD najveći zajednički delilac, a Di relativni krajnji rok (deadline) zadatka i.

Page 123: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Primer proraPrimer proraččuna veliuna veliččine frejmaine frejma

Hiperperiod je 660, pošto je NZS (15, 20 i 22 ) 660

Prethodno pomenuta tri uslova se izračunavaju kao

Zaključak moguće vrednosti za f su 3, 4 ili 5

22322τ3

26220τ2

14115τ1

Dieipiτi

Page 124: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Planiranje (scheduling) zasnovano na Planiranje (scheduling) zasnovano na fiksnom prioritetu fiksnom prioritetu –– Rate Monotonic Pristup Rate Monotonic Pristup

Važi u sistemima sa periodičnim zadacima gde je prioritet svakog zadatka konstantan u odnosu na druge zadatke.

To je optimalni statički algoritam za dati model zadataka.

Teorema, poznata kao rate-monotonic teorema je najvažniji (i najkorisniji) rezultat teorije sistema za rad u realnom vremenu.

Teorema

Za zadati skup periodičnih zadataka i raspoređivanje na bazi prioriteta i istiskivanja, optimalni algoritam raspoređivanja se ostvaruje ako je dodela prioriteta izvršena tako da zadaci sa kraćim vremenom izvršenja imaju viši prioritet (rate-monotonic).

Page 125: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Ilustracija rate-monotonic rasporeda:

Svi zadaci su pušteni u trenutku 0.

Zadatak τ1 ima najkraću periodu - najveći prioritet - prvi se izvršava.

U trenutku 4 pušten je drugi zahtev zadatka τ1 - istiskuje zadatak τ3

Page 126: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Zauzetost (utilization) ui predstavlja deo ukupnog vremena koje zadatak zauzima za svoje izvršavanje.

Zauzetost procesora:

∑=

=n

i i

i

peU

1

Page 127: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Osnovni rezultati strategije RateOsnovni rezultati strategije Rate--Monotonic Monotonic Algoritma Algoritma

Uslovi za izvodljivo raspoređivanje zadataka sa statičkim prioritetima i relativnim krajnjim rokom koji je jednak periodi zadatka.

Teorema

Bilo koji skup od n zadataka je moguće rasporediti RM algoritmom ako iskorišćenje procesora, U, nije veće od n(21/n-1)

Ukoliko je U na ili ispod date granice iskorišćenja, raspoređivanje može biti definisano RM algoritmom.

Page 128: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

RMA za različit broj zadataka n.

RMA kao dovoljan ali ne i potreban uslov. Moguće je primeniti RMA algoritam i na skup zadataka kod kojih je vreme iskorišćenja procesora veće od RMAgranice.

Primer: Ukupno vreme iskorišćenja u prethodnom primeru je 0.9 ali je RMAalgoritam i dalje primenljiv.

Page 129: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

DinamiDinamiččko rko rasporeaspoređivanje đivanje (scheduling) zasnovano na (scheduling) zasnovano na najkranajkraććem roku izvrem roku izvrššenja enja –– EarliestEarliest--DeadlineDeadline--FirstFirst

Sistemi kod kojih se prioritet zadataka menja u donosu na druge zadatke u zavisnosti od toga kako se zadaci izvršavaju i kompletiraju.

Earliest-Deadline-First (EDF): Spreman zadatak (ready) sa najranijim rokom ima najveći prioritet u bilo kom vremenskom trenutku.

Sledeća teorema daje uslove pod kojima može da se ostvari planiranje primenom EDF šeme pririteta

Skup od n periodičnih zadataka, čiji je relativni deadline svakog od zadataka jednak njegovom periodu izvršenja, može da se rasporedi EDF-om ako i samo ako je:

Teorema

Page 130: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Ilustracija raspoređivanja zasnovana na EDF-u

τ1 i τ2 pušteni istovremeno, τ1 se izvršava prvi (deadline raniji).U t = 2, izvršava se τ2.τ1 se aktivira u t = 5, njegov deadline nije raniji od τ2 pa ne kreće sa izvršenjem.U t = 15 τ2 je istisnut, njegov deadline je u t = 21, u odnosu na τ1 (DL = 20);τ2 nastavlja sa izvršenjem kada se τ1 kompletira.

Page 131: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Osnovni rezultati strategije EDF EDF je optimalan za primenu kod jednosprocesorskih arhitektura, kod kojih je dozvoljeno istiskivanje zadataka.

Ako postoji izvodivi raspored tada će i EDF uspešno rasporediti zadatke.

Zadatak – rasporediti po RM i EDF algoritmu.

Razlika u propuštanju krajnjih rokova!

Page 132: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Poredjenje RMA i EDF strategije EDF je mnogo fleksibilniji i obezbedjuje bolje iskorišćenje procesora.

RMA obezbeđuje predvidljivije ponašanje u vremenskom domenu.

U slučaju preopterećenja:

RM stabilniji. Uvek isti zadatak sa niskim prioritetom propušta DL.

Kod EDF-a teško je predvideti koji će zadaci propustiti svoj deadline u toku

preopterećenja.

Primena RM metode izaziva veći broj istiskivanja.

Kod EDF-a do istiskivanja dolazi samo ako zadatak ima raniji DL.

Page 133: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih
Page 134: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Komunikacija i sinhronizacija izmedju Komunikacija i sinhronizacija izmedju zadataka zadataka

U prethodnim analizama usvojen model zadataka bez međusobne zavisnosti.

Svi zadaci mogu da se istisnu u bilo kojem trenutku njegovog izvršenja.

U praksi u svim aplikacijama neophodna je interakcija među zadacima.

Glavni cilj:

Kako minimizirati blokiranje zadataka koje može da se pojavi u sistemima sa jednim procesorom kada konkurentni zadaci koriste deljive resurse.

Mehanizmi koji se koriste neophodno je da obezbede zadacima da:

medjusobno komunicirajudele resursesinhronišu aktivnosti

Page 135: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Baferovanje podataka

Metode razmene podataka:

Globalne promenljive – u brzim sistemimaKorupcija podataka.

Sprečavanje korupcije – primena bafera.

Izbor veličine bafera.

Page 136: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Dvostruko baferovanje

Razmena podataka između vremenski korelisanih zadatakaPristup podacima različitim brzinama.

Telemetrijski sistemeDisk kontroleriGrafički interfejsiNavigaciona opremaKontrole robota

Page 137: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Primer

Očitavanje impulsa sa akcelerometra (x,y,z) vrši se svakih 10 ms.Procesiranje se vrši na 40 ms.

Koristi baferovane promenljive xb, yb, zb

introf(); /* disable interrupts */xb=x; /* buffer data */yb=y;zb=z;intron(); /* enable interrupts */process(xb,yb,zb); /* use buffered data */

Pravilo: Prva procedura u ciklusu treba da bude rutina koja baferuje sve podatkeiz zadatka sa višim prioritetom u tekući zadatak (buffer-in).Zadnja procedure – baferovanje svih podataka zadacima nižeg nivoa

Page 138: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Kružni baferiSpecijalna struktura podataka. Lakše manipulisanje.

typedef struct ring_buffer{

int contents[N];int head;int tail;

}

Page 139: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

void read (int data, ring_buffer *s){

if (s->head==s->tail)data = NULL; /* underflow */

else{data=s->contents +head; /* retrieve data from buffer */s->head=(s->head+1) % N; /* decrement head index */}

}void write (int data, ring_buffer *s){

if ((s->tail+1) %N==head)error(); /* overflow, invoke error handler */

else{s->contents+tail=data;tail=(tail+1) % N; /*take care of wrap-around */}

}

Overflow i Underflow

Page 140: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

MailboxMemorijska lokacija koju jedan ili više zadataka koriste za prenos podataka ili sinhronizuju

void pend (int data, s); /*čitanje*/void post (int data, s); /*upis*/

Razlika između pend i jednostavnog pulinga.Podatak koji se prenosi – marker, podatak ili pointer na strukturu.

Implementacija – sistemi sa TCBLista zadataka sa potrebnim resursimaLista resursa sa njihovim stanjima (accept)

Tabela 1 Tabela 2Task Resource Status Resource Status Owner100 Printer Has it Printer Busy 100102 Mailbox 1 Has it Mailbox 1 Busy 102104 Mailbox 1 Pending Mailbox 2 Empty None

Page 141: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Redovi čekanja – QueuesTip mailbox-a koji omogućava uređivanje većeg broja zahteva.Qpost, qpend i qaccept operacije. Kao polje mailbox-ova i implementira se najlakše kroz prethodno pomenute tabele resursa.

Kritični regioniDeljivi resursi. Korišćenje od strane jednog zadatka u istom trenutku, i korišćenje resursa ne može da se prekine.

Ako dva zadatka udju u isti kritični region istovremeno može da se dogodi katastrofalna greška.

I am I am Task_A Task_B

Page 142: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

SemaforiSemafor S je memorijska lokacija koja deluje kao blokator u cilju zaštite kritičnih regiona.

Wait P(S) i signal V(S) operacije.

void P(int S){

while (S == TRUE);S=TRUE;

}

void V(int S){

S=FALSE;}

Page 143: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih
Page 144: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Realizacija semafora pomoću Mailbox-ova (ako nisu obezbedjeni od OS-a)

Koristi pend koji suspenduje zadatak i eliminiše čekanje.

Dummy podatak kao parametar u pend i post.

Primer

Page 145: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Mailbox sa binarnim semaforom (Inic. mutex = 1 i proc_sem = 0)bool mutex, proc_sem, full_slots, empty_slots;void post(int mailbox, int message){

wait(mutex);If (empty_slots)

{insert(mailbox,message);update();signal(mutex);signal(proc_sem);

}else

{...signal(mutex);wait(proc_sem);wait(mutex);insert(mailbox,message);update();signal(mutex);signal(proc_sem);

}};

Page 146: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

void pend(int *mailbox,int *message){

wait(mutex);if((full_slots))

{extract(mailbox,message);update();signal(mutex);

}else

{...signal(mutex);wait(proc_sem);wait(mutex);extract(mailbox,message);update();signal(mutex);

}};

Page 147: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Brojački semaforZaštita grupe resursa, evidencija o broju slobodnih resursa.Inicijalizuju se na broj slobodnih resursa.

Wait:void MP(int S){

S=S-1;while (S < 0);

}

Signalvoid MV(int S){

S=S+1}

Page 148: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Realizacija brojačkih semafora pomoću binarnihNeka su S (štiti R) i T (štiti resurse) binarni semaforiP(S) i V(S) wait i signal operacije respektivnoR globalni intedžer.

void MP (int R) /* multiple wait */{

P(S); /* lock counter */R=R-1; /* request a resource */if(R < 0) /* none available? */{

V(S); /* release counter */P(T); /* wait for free resource */

};V(S); /* release counter */

}

Page 149: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

void MV(int R) /* multiple signal */{

P(S); /* lock counter */R=R+1; /* free resource */if (R <= 0) /* give that task the go ahead */

V(T);else

V(S); /* release counter}}

Page 150: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Jedan problem sa semaforima

Atomičnost sekvence testiranja i postavljanja semafora.

void P (int S){

while (S == TRUE);S = TRUE;

}

Na asembleru@1 LOAD R1,&S

TEST R1,1JEQ @1 ; S = TRUE? !!prekid!!STORE &S,1 ; S := TRUE

Test i set instrukcije

Page 151: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Deadlock – Smrtni zagrljaj

Kada se zadaci bore za dva ili više resursa.Ne može se uved detektovatu u toku testiranja.

Page 152: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Uslovi za pojavu smrtnog zagrljaja:

Međusobna isključivost – mutual exclusionrealizovati deljivost resursa (spooler).

Kružno čekanje – circular waitdodeljivanje svih potencijalnih resura.

Hold and waitne dozvoliti procesima da zaključaju više od jednog resursa.

Odsustvo istiskivanja – no preemptiondozvoliti istiskivanje zadataka sa nižim prioritetom.

Page 153: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Inverzija prioriteta - Priority inversionBlokiranja od strane zadatka koji ima niži prioritet.

Primer:Tri zadatka sa opadajućim prioritetima.Prvi i treći dele isti resurs. Resurs se štiti semaforom S.

Page 154: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Protokol nasleđivanja prioritetaThe Priority Inheritance Protokol

Prioritet zadatka se dinamički menja tako što svaki zadatak ulaskom ukritični region dobija prioritet koji je jednak najvišem prioritetu odzadataka koji čekaju u istom kritičnom regionu.

Page 155: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Protokol Priority Ceiling

Ne dozvoljava se zadacima da uđu kritičnu sekciju ako moguda blokiraju ostale zadatke.

Dodeljivanje prioriteta resursima – jednak najvišem prioritetu od svihzadatka koji mogu koristiti taj resurs.

Page 156: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih
Page 157: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Koncepcija distribuiranih sistemaKoncepcija distribuiranih sistemaCentralizovana i Distribuirana arhitekturaKoncept poruka Interfejs između hosta i komunikacione mrežeComposability, Scalability i Dependability

Arhitektura sistema

Funkcionalna forma – funkcija sistema definiše formu

Objedinjavanje logičke funkcije i računarskog hardverau jednu jedinicu nazvanu čvor

Apstrakcija koja obuhvata sve esencijalne funkcijei vremenske karakteristike, a

Sve irelevantne detalje sakriva iza stabilnog spoljašnjeginterfejsa

Page 158: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Slučaj otkaza:Jednoznačno preslikavanje funkcije i čvora.Laka dijagnostika.Predviđanje ponašanja u slučaju otkaza.

Čvor A Čvor B Čvor C

Čvor D Čvor E Čvor F

RT komunikacioni sistem

Page 159: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Hardverska struktura:

Page 160: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Komunikacioni mrežni interfejs

Uloga komunikacionog sistema:Transport poruka od CNI predajnika ka CNI prijemnikau okviru predviđenog vremenskog intervala i to sa malimjitterom latencije i sa velikom pouzdanošću.

Semanitika podataka:Informacije o događaju.Smeštanje u red čekanja prijemnika.Redosled pojava događaja a ne prijema poruka.

Informaciju o stanju.Prepisivanje informacija preko stare vrednosti.Informacije se ne uklanjaju nakon očitavanja.

Page 161: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Strategija upravljanja: Odluka o tome kada neka porukamože biti poslata u oblasti kontrole:Host računara (eksterna kontrola)Komunikacionog kontrolera (autonomna kontrola).

Poruke tipa događaj (Event Message):Kombinuju event semanitku i eksternu kontrolu.(komunikacionim sistemima koji ne rade u realnom vremenu)

Poruke stanja (State Message):Kombinacija semantike stanja i autonomne kontrole.

Page 162: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Komunikacioni sistemJednokanalni sistem kao što je bus ili ring,Višekanalni sistemi - razne mešovite mreža.

Pouzdanost:Retransmisija poruka u slučaju otkaza.Stalno dupliranje poruka.Repliciranje komunikacionih kanala.

GatewaysSpecijalni čvor koji služi za razmenu informacija(samo relevantnih) između dva interaktivna klastera.

Mogućnost efikasnog razrešavanja problema prilagođavanjarazličitih tehnologija i enkapsuliranja internih osobinasistema.

Page 163: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Sastavljivost - composabilityIntegracija većeg broja dobro specificiranih i unapredistestiranih podsistema.

Osobina da karakteristike koje su utvrđene na nivoupodsistema budu održane i nakon integracije sistema.(vremenska ograničenja (timelines) ili testabilnost (testability)).

Centralna uloga komunikacionog sistema.

Page 164: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

ET komunikacioni sistem

Veći broj čvorova šalje poruku jednom prijemniku.

Protokoli za rešavanje konflikata:

•Tehnike proizvoljnog pristupa(Random access techniques - Ethernet).

•Predefinisani prioritet pristupa (Token protocol).

•Prioritet poruka (Control Area Network - CAN).

Sa stanovišta vremenskog ponašanjaET sistem ne ispunjava uslov sastavljivosti.

Page 165: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

TT komunikacioni sistemVremenska kontrola ostaje u okviru komunikacionog sistemai ne zavisi od aplikacionog softvera u čvorovima.

Mala mogućnosti širenja grešaka (control-error propagation)od hosta ka komunikacionom sistemu i obratno.

TT arhitektura ima osobinu sastavljivostiu odnosu na vremenska ograničenja.

Page 166: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Skalabilnost

Otvorenost arhitekture za modifikacije i dodavanjenovih funkcija u toku životnog veka sistema.

Proširivost- Dodavanjem čvorova.- Transformacijom čvora u gateway.

KompleksnostSa rastom sistema njegova kompleksnost ostaje podKontrolom.- Podela sistema na podsisteme.- Enkapsulacija podsistema,- Očuvanje apstrakcija u slučaju otkaza i- Kontrola nad načinom interakcije između podsistema.

Page 167: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Cena hardvera u sistemu

Distribuirana arhitektura zahteva više hardvera zarealizaciju nekih blokova (komunikacioni sistem, dupliciranjekomponenata u svakom čvoru, operativni sistem).

distribuirani sistem

centralizovani sistem

veličina sistema

cena sistema

Slika . Cena centralizovanog i distribuiranog sistema

Page 168: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih
Page 169: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Visoka pouzdanostVisoka pouzdanostSistemi koji moraju ostati sigurni i u kritičnim sitacijama (safety-critical)

Otkazi, kvarovi i greške

Page 170: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

OtkaziDogađaj koji označava razliku između trenutnog servisai specificiranog ili propisanog servisa.

Page 171: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

GreškeNepravilno unutrašnje stanje računara,npr. pogrešni podatak u memoriji ili registru.

Tranzijentna greška. Permanentna greška.Region zadržavanja greške.

Page 172: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

KvaroviUzrok greške, i indirektni uzrok otkaza zove se kvar

Page 173: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Sistemska visoka pouzdanost

Na nivou arhitekture, transparentna za aplikacioni kod.Arhitektura mora da obezbedi determinizam replika,Vremensko ili prostorno ponavljanje izračunavanja.

Aplikaciono-specifična visoka pouzdanost

Na nivou aplikacije, unutar aplikacionog koda.Funkcije za detekciju grešaka i FT funkcije na nivou aplikacije.

Page 174: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Detekcija greškeGreška je neslaganje između propisanog ispravnog stanjai tekućeg stanja sistema.Dostupnost propisanog stanju sistema.

Zasnovana na prethodnom (a priori) znanju- Osnovni konflikt između zahteva za fleksibilnošću izahteva da se obezbedi dobro pokriće detekcije greške.

- Poznavanje sintakse kodnog prostora .- Testovi potvrde i prihvatljivosti.- Poznavanje šablona po kome se aktiviraju izračunavanja.- WCET zadatka.

Page 175: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Zasnovana na redundantnim izračunavanjima

Nezavisne softverske greške i greške u hardveru

Dve verzije softvera na dva različita hardvera

Softversko hardverska

Softverski kvarovi i tranzijentni fizički kvarovi hardvera sa trajanjem manjim od vremenskog slota

Različiti softver se izvršava na istom hardveru u toku dva različita vremenska intervala

Softverska

Harverski kvaroviIsti softver se izvršava na dva različita hardverska kanala

Hardverska

Tranzijentni fizički kvarovi koji traju kraće od jednog vremenskog slota

Isti softver se izvršava na istom hardveru u toku dva različita vremenska intervala

Vremenska

Tip detektovane greškeImplementacijaTip redundanse

Page 176: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Čvor kao jedinica otkazaNa arhitekturnom nivouili je u operativnom stanju ili ne.

Funkcije FTServis učlanjivanja (membership service).Upravljanje redundansom.

Na nivou samog čvoraMinimalni nivo servisa (interfejs sa dva displeja).

Detekcija grešaka u čvoruSa kratkom latencijom, i mapiratnje u jedinstveni otkazfail-silent tipa.

Page 177: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Jedinice visoke pouzdanosti (Fault-Tolerant-Units – FTU)

Implementacija fail-silent apstrakcije - dupliranje čvorova.

Rezervni čvor - shadow node

Page 178: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Trostruko modularna redundansaAko čvor prikazuje greške u domenu vrednosti, tada FTUmora da se realizuje sa tri čvora i glasačima (voter).

Egzaktno glasanje Neegzaktno glasanje

Page 179: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

FTU sa Vizantinskim usaglašavanjem (Byzantine Resilient) Ako se ne može uvesti nikakva pretpostavka o otkazimačvorova, tada je za formiranje FTU potrebno četiri čvora.

Protokolarni dogovor - Byzantine-resilient agreement.

FTU može da detektuje i toleriše k otkaza čvorova ako:- FTU sadrži najmanje 3k+1 čvorova.- Svaki čvor mora biti povezan sa ostalim čvorovima FTU

preko k+1 nezavisnih veza.- Za detekciju neispravnog čvora potrebno je k+1

komunikacionih rundi među čvorovima.- Čvorovi moraju biti sinhronizovani sa poznatom

preciznošću.

Page 180: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih
Page 181: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Globalno vremeGlobalno vreme

1. Vreme i redosled

2. Merenje vremena

3. Interna sinhronizacija

4. Eksterna sinhronizacija

Page 182: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Vreme i redosled

Pojam vremena kao nezavisne promenljive.

Definisanje osnovnih fizičnih konstanti.

Garancija konzistentnog ponašanja distrubuiranog sistema.

Page 183: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Vrste redosleda

Vremenski redosled

Redosled trenutaka na vremenskoj osi

Vremenska osa: Beskonačan skup trenutaka{T}sa sledećim pravilima:

{T} je uređeni skup za koji važi da ako su p i q bilo kojadva trenutka, tada je p ili istovremen sa q, ili p prethodi q,ili q prethodi p, uz to da su ovi slučajevi potpuno isključivi.

{T} je zbijeni skup. To znači da postoji makar jedno qizmeđu p i r ako p nije istovetan sa r, gde su p, q i r trenutci.

Page 184: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Deo vremenske ose - trajanje (duration).

Događaj se može odigrati samo u određenom trenutkui nema svoje trajanje.

Simultani događaji - koji se odigraju u istom trenutku.

Trenutci potpuno uređeni - događaji delimično uređeni.

Potpuno uređeni događaji – uvođenjem dodatnih kriterijuma(broj čvora u kome se odigrao događaj).

Page 185: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Uzročni redosled

Značaj u RT primenama.

Alarmni pljusak – primarni događaj.

Vremenski redosled neophodan ali ne i dovoljan za određivanje uzročnog redosleda.

Redosled isporuke

Zastupljen u distribuiranim komunikacionim sistemima.

Page 186: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Sat realnog vremenaFizčki sat: Sat je instrument za merenje vremena.

Brojač i oscilator koji periodično generiše događaje koji inkrementiraju brojač.

Mikrotakt – događaj koji inkrementira brojač.

Granularnost - trajanje između dva uzastopna mikrotakta

Greška digitalizacije pri merenju vremena.

Mikrotakt i sata k je označen kao mikrotaktik.

Page 187: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Referentni sat: jedinstveni sat z frekvencije fz koja ja usaglašena sa međunarodnim standardima vremena.

z(e) - apsolutni vremenski marker događaja e

Drift sata - odnos frekvencija sata k i referntnog sata, u trenutku mikrotakta i.

Odnos trajanja granule sata k i granule referentnog sata

.)()( 1

k

ki

kik

i nmikrotaktzmikrotaktz

drift−

= +

.1)()( 1 −

−= +

k

ki

kik

nmikrotaktzmikrotaktz

ρ

Uzroci: temperatura, napon napajanja, starenje.

Page 188: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Ofset između satova j i k na granuli i

vremereferintnogsata

vreme lokalnog sata

perfektnisat

greška ustanju brojača

driftdobar sat

Modeli otkaza sata

)()( ki

ji

jki mikrotaktzmikrotaktzofset −=

Page 189: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Tačnost

Maksimalni ofset između bilo koja dva sataiz skupa od n satova.

{ }jkinkji ofset

≤≤=Π

,1max

Preciznost

Ofset sata k u odnosu na referentni sat z na mikrotaktu i

Periodična sinhronizacija.

Page 190: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Sandardi vremenaTAI - Temps Atomique Internationale

Sekunda: trajanje od 9 192 631 770 periodaatomskih prelazaka radioaktivnog atoma Cezijuma 133.

UTC - Universal Time Cordinated

Zasnivan na astronomskim merenjima.Vremenske zone na osnovu političkih dogovora.Standard uveden 1972. (Greenwich Mean Time - GMT) .Trajanje sekunde na osnovu TAI – prestupna sekunda.Diskontinuiteti.01.01.1958. u ponoć UTC i TAI imali istu vrednost.

Page 191: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Merenje vremena

Mogućnost sinhronizacije čvorova – lokalni oscilator.Univerzalna vremenska referenca – globalno vreme.

Skup čvorova gde svaki ima lokalni fizički sat ckgranularnosti gk.

Svi satovi interno sinhronizivani sa preciznošću Π.

Podskup mikrotaktova svakog od lokaklnih satova zagenerisnje lokalne implementacije pojma globalnog vremena

Page 192: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Uslov opravdanostiGlobalno vreme t se naziva opravdanim, ukoliko lokalneimplementacije globalnog vremena zadovoljavaju uslov

g > ΠSinhronizaciona gerška manja od jedne makrogranule.

Page 193: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Merenje intervala

),2()2( gddgd obstrueobs +<<−

Page 194: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Unutrašnja sinhronizacija sata

Page 195: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Byzantine greška

Page 196: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Distribuirani sinhronizacioni algoritmi

Jedinstveni čvor, master, periodično šaljeu sinhronizacionim porukama vrednost svog brojačavremena svim ostalim slave čvorovima.

Funkcija konvergencije Φ određena na osnovu razlikenajbrže i najsporije transmisije poruka.

Central-Master sinhronizacija

1. Čvor dobija podatak o stanju brojača globalnog vremenaiz svih ostali čvorova - razmena poruka između čvorova.

2. Analiza prikupljenih informacije, detekcija grešake iizračunavanje korekcione vrednosti za lokalni brojačglobalnog vremena.

3. Podešavanje lokalnog brojača vremena.

Page 197: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Manje od 10usHardver komunikacionog kontrolera

10us do 100usJezgro operativnog sistema

500us do 5msAplikacioni softver

Aproksimativni opseg džiteraAsembliranje i interpretacija

Korekcija stanja nasuprot korekciji frekvencije

Page 198: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Eksterna sinhronizacija sata

Page 199: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Formati vremena

Network Tme Protocol (NTP) – Internet

Cele skunde UTC-4 bajta Binarni delovi sekunde-4 bajta

Opseg vremena sve do 2036, t.j, 136 godina ciklus kruženja

Page 200: Tri fundamentalne strukturees.elfak.ni.ac.rs/rts/Materijal/RTS.pdf · 2013-12-06 · Test generatori, Emulatori (ICE), memorijski osciloskopi, logički analizatori Umetanje izlaznih

Vremenski ulaz (Time gateway)

•Inicajalizacija klastera na trenutno eksterno vreme.

•Periodično podešavanje globalnog vremena u klasteru.

•Periodično slanje vremenskih poruka.