SISTEMI REALNOG VREMENA Vanr.prof. Dr. Lejla Banjanović-Mehmedović www.lejla-bm.com.ba Mehmedović 1 Sadržaj predmeta 1. Problematika real-time sistema. Klasifikacije sistema u realnom vremenu. 2. Aplikacije sistema realnog vremena. Ugrađeni računarski sistemi. Cyberfizički sistemi. 3. Mašina konačnog stanja (FSM). 4. Mikrokontroleri (ASIC). Napredne forme (FPGA). Sistem na čipu (SOC). 5. Operativni sistem realnog vremena (RTOS). Raspoređivač procesa. Uzajamno isključenje procesa. Komunikacija između taskova. 6. Real-task programski jezici. Integracija hardvera i softvera. 7. Bežične senzorske mreže. 9. Hardver sistema realnog vremena u industriji. 10. Sistemski upravljački koncept. Distribuirani sistemi. Real-Time komunikacije u distribuiranim sistemima upravljanja. 11. SCADA sistemi kao primjer složenih real-time sistema upravljanja. 12. Primjeri tehnološki savremenih real-time sistema (multi-agenti). Mehmedović 2 1
Literatura Autorizovana predavanja iz predmeta Sistemi u realnom vremenu prof. dr. Lejla Banjanović-Mehmedović www.lejla-bm.com.ba Autorizovane auditorne i labaratorijske vježbe asistent mr. Ivan Bosankić Ostali web izvori shodno sadržaju gradiva Mehmedović 3 Način rada na predmetu: Prisustvo: 5 Projekat 45 Završni: 50 Mehmedović 4 2
Sadržaj izlaganja: Terminologija Istorijat Primjeri real-time sistema Klasifikacija real-time sistema Klasifikacija programa Zahtjevi na real-time dizajn Mehmedović 5 Real-time sistemi Real-time sistemi, objedinjavaju: dizajn hardverske aspekte, softverska rješenja komunikacija u ovoj problematici, specijalne forme algoritamskih rješenja. Estimacija perfomansi i redukcija - krucijalne karakteristike real-time sistema Mehmedović 6 3
Real-time sistemi Sistem se naziva real-time sistem kada nam je za opis ponašanja sistema potrebna kvantitativna predstava vremena. Mehmedović 7 Real-time sistemi Real-time sistem upravljanja je sistem od koga se zahtijeva da generiše izlazni signal unutar definisanog ograničenog vremenskog intervala. Mehmedović 8 4
Real-time sistemi Real-time sistemi su sistemi kod kojih je vremensko izvršenje bitno isto onoliko koliko i korektnost izlaza. Mehmedović 9 Real-time sistemi Real-time sistemi ne moraju biti brzi sistemi, ali najčešće jesu. Vrijeme izmedju prezentacije skupa ulaznih signala softverskom sistemu i pojave asociranih izlaza naziva se vrijeme odgovora softverskog sistema. Svaki sistem => real-time sistem. Mehmedović 10 5
Vrijeme odziva real-time sistema 100 µs: rezolucija sata za brza vozila. 100 µs: rezolucija događaja u električnim mrežama. 10 ms: rezolucija događaja u procesnoj industriji. 1s: prihvatljivo vrijeme osvježavanja podataka na operatorskom monitoru. 10 s: prihvatljivo vrijeme oporavka u slučaju pada nadzornog računara. 1 min: upit za osvježavanje baze procesnih podataka u slučaju velikog kraha. Mehmedović 11 Istorijski osvrt 1947. - simulator leta zadovoljavao vrijeme realnog odziva 1954. prvi digitalni računar uspješno primjenjen za upravljanje u zračnim aplikacijama 1958. prva računarska instalacija za monitoring energetskog postrojenja Mehmedović 12 6
Istorijski osvrt Kasne 60. razvijeni real-time operativni sistemi (RTOS) i razni kompajleri Rane 70.- fault tolerancija računara 1974. - napredak u mikroprocesorskoj tehnici => razvoj distribuiranih sistema... Mehmedović 13 Primjeri primjene real-time sistema Sistemi vođenja procesa (industrijski automatizovani sistemi, SCADA aplikacije) Robotski sistemi. Inteligentni transportni sistemi Avioindustrija Medicinske, vojne i kućne aplikacije Mehmedović 14 7
Karakteristike real-time sistema Vremensko ograničenje (rok završetka), odgoda i trajanje. Kriterij nove tačnosti. Ugrađenost (embedded). Kritična sigurnost (pouzdanost). Istodobnost (u kratkim i striktnim vremenima). Distribuirana i povratno-sprežna struktura. Ključnost zadatka (za pravilno funkcionisanje sistema). Prilagođen hardver. Reaktivnost. Stabilnost (rokovi izvršenja ključnih zadataka). Obrada iznimki (mogučnost otkljanjanja greške). Mehmedović 15 Klasifikacija računarskih sistema Softverski aspekt Sistemski aspekt Aspekt perfomanse Funkcionalni aspekt Prema oblasti primjene Mehmedović 16 8
Softverski aspekt Ugrađeni sistemi (eng. Embedded) softverski sistem koji je kompletno inkapsuliran u hardver, koji kontroliše. Organski sistemi sistem kod kojeg softver nije ovisan o hardveru na kojem radi. Djelimično ovisni sistemi (eng. Semi-detached ) mogu se izvršavati na različitom hardveru uz potrebu ponovnog pisanja određenih softverskih modula. Mehmedović 17 Sistemski aspekt Sistem ne mora da obradjuje podatke u µs ili ns da bi bio sistem realnog vremena. Mora imati prediktabilno, odnosno ograničeno vrijeme odziva u okviru dinamičkog sistema u kojem je primjenjen. Mehmedović 18 9
Aspekt perfomanse Soft real-time sistemi sistemi čija se perfomansa degradira ali ne uništava uslijed greški tipa zadovoljenja ograničenja vremena odgovora Hard real-time sistemi (ili samo real-time sistemi) - sistemi kod kojih greška tipa zadovoljenja ograničenja realnog vremena vodi ka greški sistema Firm real-time sistemi sistemi kod kojih mala vjerovatnoća neslaganja s vremenskim ograničenjem može biti tolerantna. Mehmedović 19 Funkcionalni aspekt Sistemi na bazi sata Senzorski bazirani sistemi Interaktivni sistemi Mehmedović 20 10
Sistemi na bazi sata Industrijska i tehnička postrojenja uglavnom rade u realnom vremenu i zato je neophodno promatrati vremenske konstante postrojenja. Računarski sistem koji upravlja različitim postrojenjima mora se sinhronizovati sa brzinom rada postrojenja, kako bi se uspješno izvršile akcije mjerenja, proračuna i djelovanja u realnom vremenu unutar predefinisanog radnog takta. Ova sinhronizacija se obično postiže dodavanjem računarskom sistemu jednog vanjskog sata, tzv. sat realnog vremena. Ovaj sat daje signale koji prekidaju operacije u računaru u nekim unaprijed određenim vremenskim intervalima, te računar pokreće specifične procesirajuće taskove. Mehmedović 21 Senzorski bazirani sistemi Sistemi u kojima su potrebne akcije, ne u unaprijed definisanim vremenskim trenucima ili intervalima, već kao odziv na neki događaj. uključenje pumpe pri niskom nivou tečnosti u rezervoaru ili zatvaranje ventila, u cilju održanja pritiska ili temperature u posudi. Mehmedović 22 11
Interaktivni sistemi Obuhvata aplikacije tipa automatskog bankovnog blagajnika, sisteme za rezervaciju karata bilo koje vrste, sisteme polaganja ispita kod učenja na daljinu itd. U ovim sistemima, realno vrijeme podrazumjeva vrijeme odziva koje ne prelazi definisanu vrijednost. Ovi sistemi su vrlo slični senzorki baziranim sistemima, pri čemu senzorski bazirani sistemi reaguju na signale iz postrojenja, dok interaktivni sistemi reaguju na zahtjev čovjeka u predefinisanom vremenskom intervalu. Mehmedović 23 Prema oblasti primjene Sa aspekta rasprostranjenosti: Telemetrijski sistemi upravljanja (naftovodi, plinovodi, vodovodi, elektrane) Sistemi upravljanja na lokalnom kompleksnom objektu (avion, brod, podmornica, automobil i sl.) Kompaktni uređaji i sistemi (regulator u industrijskom procesu, mašina za suđe, pametna medicinska sonda, itd.) Mehmedović 24 12
Prema oblasti primjene Zavisno od dimenzija procesa, zavisi i dimenzija procesora neophodnog za obavljanje upravljačkih akcija, tj. da li je dovoljan mikrokontroler ili kompletan računar ili procesni računar. Zajedničko za sisteme iz ove grube podjele: Da je računar u njima ugrađena komponenta u veći sistem Korisnik ne može da modifikuje programe Da zadovoljavaju dijagram procesa i događanja sistema u realnom vremenu. Mehmedović 25 Programiranje sistema u realnom vremenu Jedna od bitnih karakteristika sistema u realnom vremenu pored njihove hardverske strukture, jeste njihov specifični način programiranja. Klasifikacija programa: Sekvencijalni programi Multitasking programi Programi realnog vremena Mehmedović 26 13
Programiranje sistema u realnom vremenu Sekvencijalni programi: akcije striktno poredane u jednom vremenskom redoslijedu (sekvenci) Mehmedović 27 Programiranje sistema u realnom vremenu Multitasking programi: neke operacije se izvode paralelno, mada je i dalje u nekim vremenskim periodima zastupljeno slijedno programiranje. Pri tome, procesi ili taskovi mogu komunicirati preko djeljenih varijabli i signala. Mehanizmi sinhronizacije!!! Mehmedović 28 14
Programiranje sistema u realnom vremenu Programi realnog vremena Akcije vremenski ne slijede nužno jedna drugu Sekvenca nekih akcija nije određena od strane projektanta, već od događaja koji se dešavaju u realnom vremenu. Olakšice za obradu u realnom vremenu U programske jezike U operativne sisteme Mehmedović 29 Programiranje sistema u realnom vremenu Operativni sistem za rad u realnom vremenu (eng. Real-Time Operating Systems) pored standardnog sistemskog softvera i funkcija vezanih za korištenje računarskih resursa koje se sreću i kod klasičnih operativnih sistema treba da omogući i detekciju spoljnih događaja i adekvatnu reakciju na svaki od njih u smislu određivanja redoslijeda izvođenja pojedinih zadataka. Mehmedović 30 15
Zahtjevi na real-time dizajn Sistemski koncepti Selekcija hardvera i softvera po efikasnoj i prihvatljivoj cijeni Izbor tehnika dizajniranja Odluka da li koristiti prednosti komercijalnog, ali real-time riskantnog operativnog sistema ili koristiti specijalni operativni sistem Mehmedović 31 Zahtjevi na real-time dizajn Selekcija odgovarajućeg softverskog jezika za razvoj softvera. Maksimizacija sistemske fault tolerancije i pouzdanosti kroz pažljiv dizajn i rigorozan test. Predviđanje, mjerenje i redukcija vremena odziva Dizajn i selekcija testova i razvojne opreme. Mehmedović 32 16