1 / 18

Uvod v sisteme v realnem času

Uvod v sisteme v realnem času. Matjaž Colnarič. Kaj so vgrajeni sistemi?. Sistemi za vodenje na vseh področjih sodobne tehnologije Vgrajeni v okolje, neopazni Njihovo nepravilno delovanje praviloma povzroči škodo ali ogrožanje varnosti

corby
Download Presentation

Uvod v sisteme v realnem času

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Uvod v sisteme v realnem času Matjaž Colnarič Real-Time Systems Laboratory, Institute of Informatics

  2. Kaj so vgrajeni sistemi? • Sistemi za vodenje na vseh področjih sodobne tehnologije • Vgrajeni v okolje, neopazni • Njihovo nepravilno delovanje praviloma povzroči škodo ali ogrožanje varnosti • Pogosto izvedeni s sredstvi, z znanjem in na način kot univerzalne aplikacije • Poseben problem: preverjanje njihove pravilnosti (verifikacija vs. testiranje) • Potreben je celovit pristop k več področjem pri njihovem snovanju Real-Time Systems Laboratory, Institute of Informatics

  3. Primer 1 • Voznik, ki vozi avto po mestu: • Cilj: ob predvidenem času pripeljati npr. v službo po vnaprej določeni poti. Čas odhoda se določi ustrezno želenemu času prihoda, dolžini in razmeram na poti itd. • Če potrebuje za vožnjo več časa, kot je planirano, zamudi važen dogodek. • Na poti nepredvidljivi dogodki: drugi udeleženci v prometu, otroci, živali, itd. V primeru pojava nevarnosti mora biti v ustreznem času, da se izogne nesreči, reagirati nanj (npr. ustaviti avto, ko otrok skoči na cesto za žogo). • Če reagira prepočasi, se lahko zgodi nesreča. Real-Time Systems Laboratory, Institute of Informatics

  4. Primer 1 • Voznik, ki vozi avto po mestu: • Če je nevarnost večja, reagira s počasnejšo vožnjo, s čimer skrajša čas ustavljanja. • Na poti srečuje tudi vnaprej znane dogodke, npr. periodično delovanje semaforja. • Veljavnost posameznih podatkov je kratka (medtem, ko gleda v križišču na eno stran, se mu lahko izza ovinka približa drugo vozilo, ki ga prej še ni mogel videti), torej mora vsa opazovanja in akcije napraviti v dovolj kratkem času, da so še veljavni. • V primeru zastojev možna rekonfiguracija poti Real-Time Systems Laboratory, Institute of Informatics

  5. Primer 2 • Gospodinja • v svojem vsakdanjem delu skrbi za otroke, opravlja hišna opravila, nakupuje, kuha, telefonira, sprejema obiskovalce itd. • Vsak od teh “procesov” se dogaja asinhrono. • Nekateri procesi so znani naprej in jih je možno planirati (pošiljanje otrok v šolo, proces kuhanja, itd.), drugi so sporadični (telefonski klici, obiski, nepričakovani dogodki) • Na slednje se mora odzivati dinamično, torej prilagojeno na njihovo naravo, nujnost in trenutno opravilo, ki ga opravlja. Real-Time Systems Laboratory, Institute of Informatics

  6. Primer 2 • Gospodinja • Vnaprej znana (statična) opravila planira vnaprej: da gre otrok na šolski avtobus, mora pravočasno vstati, upoštevaje razvrstitev pri uporabi kopalnice, oblačenje, zajtrk, itd. Pri tem upošteva “paralelno procesiranje” (npr. priprava zajtrka medtem, ko se umiva). Če otrok ni gotov v predvidenem času, zamudi avtobus. • Pri tem planira pravo mere časovne rezerve • Nekateri roki so manj strogi, npr. čas kosila lahko nekoliko variira. • Nekateri dogodki so vezani na absolutni čas (odhod avtobusa), drugi na relativni (čas kuhanja jajca). Real-Time Systems Laboratory, Institute of Informatics

  7. Primer 2 • Gospodinja • Signali iz okolja jo silijo, da preklaplja med opravili in reagira s hitrostjo, ki ustreza tipu signala. • Različni dogodki imajo različno nujnost (če istočasno kipi mleko in zvoni telefon). • Nekateri dogodki imajo absolutno nujnost: kadar je npr. v nevarnosti otrok, reagira takoj. • Opravila razporeja paralelno in prekinjevalno: kuha več stvari in izkorišča zakasnitve, ki so pogojene “tehnološko” (ko se dušije zrezki, pripravi krompir za kuhanje). • Običajna si opravila razporedi racionalno, če je mogoče Real-Time Systems Laboratory, Institute of Informatics

  8. Terminologija • Proces (DIN 66201 Part 1, No. 1.2): celota med seboj vplivajočih aktivnosti, ki transformirajo, transportirajo ali hranijo snovi, energijo ali informacije. • Tehniški proces (DIN 66201 Part 1, No. 1.3): proces, čigar veličine lahko opazujemo in nanje vplivamo s tehničnimi sredstvi. (proizvodni, distribucijski in shranjevalni procesi) • sistem v realnem času ::= krmiljen sistem + krmilni sistem Real-Time Systems Laboratory, Institute of Informatics

  9. Terminologija • Opravilo (task, DIN 66201, No. 1.2): • programski modul v obliki sekvenčne programske kode, ki ga lahko pokličemo, da izvede določeno funkcijo. • Njegova življenjska doba začne s trenutkom registracije in konča z njegovim preklicom, torej ni omejena le na čas od aktivacije do zaključka izvajanja. • Je osnovna enota paralelnega izvajanja. • Je temelj asinhronega multiprogramiranja. • V večini krmilnih sistemov obstajajo časovno nekritična in kritična opravila (taski). Zadnje imenujemo tudi opravila v realnem času. Real-Time Systems Laboratory, Institute of Informatics

  10. Definiciji • Sistem deluje v realnem času, če so programi sposobni sproti obdelovati podatke, ki prihajajo od zunaj, in so rezultati teh obdelav na voljo v vnaprej določenih časovnih intervalih. časi prihodov podatkov so pri tem lahko razporejeni naključno ali pa vnaprej določeni, kar je odvisno od aplikacije. (DIN 44300) • Obdelava opravil, čakajočih na procesiranje, v takšnem zaporedju, da bodo vsa končana pred njihovimi skrajnimi roki. • Obdelava v realnem času je tista, katere pravilnost ni odvisna le od logičnih rezultatov, temveč tudi od časa, ko so bili ti rezultati dobljeni (Stankovic88). Real-Time Systems Laboratory, Institute of Informatics

  11. Naslednja primera • Računalniški sistem za rezervacijo letalskih kart: četudi se opravilo ne zaključi v predvidenem času (npr. nekaj minut), bo lahko akcija še vedno uspešna (vozovnice rezervirane); pri predolgem čakanju pa bodo stranke šle • drugam; • Potnik gre na potovanje z letalom: če bo zaradi prometa na poti na letališče ali drugih vplivov potreboval več časa, kot je računal, bo letalo odletelo; akcija ni uspešna. • Sisteme v realnem času je potrebno deliti na • tiste, pri katerih je mogoče tolerirati občasne zakasnitve, in • tiste, pri katerih zamuda termina pomeni neuspelo akcijo, ne glede na logično pravilnost rezultatov Real-Time Systems Laboratory, Institute of Informatics

  12. skrajni rok Strogi vs. mehki realni čas Strogi realni čas Kazen za zamujen skrajni rok Mehki realni čas čas zaključka opravila Še ena definicija: Čeprav funkcionalno korektni, so rezultati, pridobljeni po vnaprej določenem skrajnem roku napačni in zato neuporabni. Real-Time Systems Laboratory, Institute of Informatics

  13. skrajni rok Strogi vs. mehki realni čas Strogi realni čas Kazen za zamujen skrajni rok Mehki realni čas čas zaključka opravila Medtem ko pri mehkem pri zakasnitvi roka kazen (oz. stroški) začnejorasti, pri strogem v tem trenutku skočijo na neko visoko vrednost. Nekateri avtorji ločijo obe domeni tudi po resnosti konsekvenc, če zamudimo rok; čeprav sta si delitvi podobni, je prva ustreznejša. Časovne omejitve pri strogem realnem času so mnogo bolj striktnodefinirane kot pri mehkem realnem času. (kombinirani pristopi, Doug Jensen,H.Rzehak) Real-Time Systems Laboratory, Institute of Informatics

  14. Pripombe • Strogi realni čas ne pomeni nujno varnostne kritičnosti: • Primer: mpeg video dekoder • Mehki realni čas lahko pomeni varnostno kritičnost • Primer: diagnostični sistemi • Črno-bela delitev na strogi in mehki realni čas ni realna. (Doug Jensen: ..They (real-time research community) have consensus on a precise technical (and correct) definition of “hard real-time,” but left “soft real-time” to be tautologically defined as “not hard” that is accurate and precise, but no more useful than dichotomizing all colors into “black” and “not black.” [26]..Poleg kazni za zamudo uvaja nagrado za predčasni zaključek in različne časovne funkcije zanje (podobno Rzehak). Real-Time Systems Laboratory, Institute of Informatics

  15. Statični vs. dinamični sistemi • Statični sistemi, delujoči v realnem času: preprostejši, vse je vnaprej znano in urejeno, delujejo časovno usklajeno, ne zamujajo, a zahtevajo veliko rezerve v zmogljivostih (čeprav potrebujejo manj administracije) in so manj fleksibilni. Primerni za periodična opravila. • Dinamični sistemi: veliko zahtevnejši, problemi zaradi nepredvidljivosti, nedeterminizma, dogodkov iz okolja, vendar naravnejši stik z okoljem. Fleksibilni, boljša izkoriščenost. Primerni tudi za aperiodična opravila. Real-Time Systems Laboratory, Institute of Informatics

  16. Kaj je res pomembno Dovolj hitri!! • Zmota: RT sistemi  hitri sistemi Vprašanje: kajjedovolj hitro? Računalniški sistem je primeren za delo v realnem času, če je mogoče ob času snovanja dokazati, da bodo vse zahteve postrežene v zahtevanem času v vseh primerih. Real-Time Systems Laboratory, Institute of Informatics

  17. Hope and Pray ! Jack Stankovic, 1995 Kaj je res pomembno • Realnost:predvsem iz ekonomskih (deloma tudi tehnoloških) razlogov ta zahteva praviloma ni izpolnjena (ali ni dokazana), včasih celo v varnostno kritičnih primerih; State-of-the-Art v verifikaciji performans: Real-Time Systems Laboratory, Institute of Informatics

  18. Zaključek uvoda • Čas je, da se v snovanju konsistentnih krmilnih aplikacij začnejo uporabljati splošno znani, a praviloma zanemarjani principi iz raziskav na tem področju. • Glavna smernica pri snovanju vgrajenih sistemov mora biti preprostost: ta je trenutno edini način, kako zagotoviti doslednost funkcionalnega in časovnega obnašanja. • Progress is the road from the primitive via the complicated to the simple (Biedenkopf). Real-Time Systems Laboratory, Institute of Informatics

More Related