Sistemi za rad u realnom vremenu Embedded sistemi
Sistemi za rad u realnom vremenu „Embedded sistemi i Real-Time Embedded sistemi“
Šta su Embedded sistemi? Na način gotovo nezamisliv do pre desetak godina, embedded sistemi utiču na ljudski život, rad i zabavu; Pojavljuju se u najraznoraznijim tipovima i oblicima, pri čemu svaki od njih ima svoje jedinstvene i prepoznatljive karakteristike: Većina vozila danas sadrži inteligentne čipove koji izvršavaju svoje zadatke, od trivijalnih do tzv value-added funkcionalnosti Telefonski sistemi se oslanjaju na složen integrisani HW i SW Domaćinstva obiluju inteligentnim uređajima i integrisanim sistemima sadržanih u okviru embedded sistema, koji poboljšavaju svakodneve aktivnosti i kvalitet života
Šta su Embedded sistemi? Svakodnevno ljudi koriste embedded sisteme a da to i ne znaju, i u ovome je zapravo i najveća lepota embedded sistema-uopšte nije potrebno znati detalje da biste mogli uživati u funkcionalnosti koju pružaju Nije retko da se ES definišu kao računarski sistemi bez tastature, displeja i miša. Na osnovu samog izgleda, pravi se razlika i faktorizacija, jer ES ne izgledaju kao obični personalni računari: izgledaju kao pametni telefoni ili tosteri, kao digitalne kamere. . . Ovakve tvrdnje su zapravo varljive i netačne!
Definicija ES Embedded sistem je rečunarski sistem sa čvrsto uparenom hardverskom i softverskom integracijom, koji je dizajniran da izvršava specifičnu funkciju Reč Embedded reflektuje činjenicu da ovakvi sistemi najčešće čine integralni deo jednog većeg sistema, poznatog kao Embedding sistem Nekoliko embedded sistema može koegzistiratu u okviru obuhvatajućeg embedding sistema
Definicija ES Ovakva definicija je dobra, ali je subjektivna U većini slučajeva, ES je zaista “ugrađen” u okviru složenijeg sistema, i čine sisteme u sistemu te ne mogu postojati sami za sebe: Digitalni set-top box (DST) se sastoji od A/V dekodera koji prima multimedijalni stream i proizvodi zvuk i video frejmove kao izlaz Signal primljen sa satelita od strane DST-a sadrži nekoliko kanala, što znači da A/V dekoder redi zajedno sa Transportnim stream dekoderom, koji je takođe ES i ima ulogu da demultipleksira ulazne multimedijalne stream-ove u zasebne kanale od kojih samo jedan selektovan pohranjuje A/V dekoderu na obradu
Definicija ES U nekim slučajevima, ipak, ES može da postoji kao nezavistan (standalone) sistem Mrežni ruter je primer jednog takvog ES. Baziran je na specijalizovanom komunikacionom procesoru, memoriji, nekolicini mrežnih interfejsa (mrežnih portova) i specijalizovanom softveru koji implementira algoritme za rutiranje paketa Kao rezultat, očigledno je da ne postoji prikladna jedinstvena definicija ES. Potrebno je fokusirati se na karakteristike ES, iz jedne od mnogih perspektiva, kako bi se razumelo šta taj ES čini posebnim
Embedded procesor i svest o aplikaciji Procesori koji se mogu naći u PC računarima su univerzalni procesori opšte namene (General Purpose-GP procesori) Oni su kompleksni u dizajnu jer treba da obezbede brojne performanse i širok spektar funkcionalnosti GP procesori su pogodni za najraznoraznije aplikacije: MMU za zaštitu memorije i korišćenje virtualne memorije u multitasking, GP operativnim sistemima Napredna logika za keširanje u cilju poboljšanja performansi Matematički ko-procesor koji vrši brze floating point operacije Interfejs za raznarazne eksterne periferijske uređaje
Embedded procesor i svest o aplikaciji Kao rezultat svega gore navedenog, GP procesori troše mnogo energije, izuzetno se greju i imaju pozamašne dimenzije. Takodje su veoma skupi za fabrikaciju U ranom periodu, ESi su se uglavnom bazirali na GP procesorima, tek nakon napretka mikroprocesorske tehnologije počinju da se razvijaju embedded procesori Embedded procesori su procesori specijalne namene, dizajnirani za specifičnu klasu aplikacija. Ključna stvar kod njih je “svest o aplikaciji”, tj. ovi procesori moraju znati pravu prirodu aplikacija za koju su namenjeni
Veličina, potrošnja snage i cena Klasa Embedded procesora se fokusira na veličini, potrošnji snage i ceni Prihvatljiva je limitirana funkcionalnost: procesor je adekvatan za klasu aplikacija za koju je namenjen, iako je vrlo verovatno da je potpuno neupotrebljiv za mnogobrojne aplikacije osim te Ovo je jedan od razloga zašto mnogi procesori nemaju veliku CPU brzinu.
Veličina, potrošnja snage i cena Procesor koji se koristi kod PDA uređaja nema ko-procesor zadužen za floating-point aritmetiku jer ona ili nije potrebna, ili je softverska emulacija FP aritmetike prihvatljiva. Moguće je korišćenje 16 -bitnog adresnog prostora umesto 32 -bitnog i 200 MHz klok jer je većina aplikacija interaktivna i važno je samo osvežavanje displeja, umesto izvodjenje zahtevnih računarskih operacija Ovakva klasa Embedded procesora je mala, a limitirana funkcionalnost nosi sa sobom znatno smanjenje potrosnje snage i duži život baterije
Performanse Sa druge strane, klasa Embedded procesora se fokusira na performanse, osim na pomenute (cenu, potrosnju i veličinu) Primer bi bio DSP (Digital Signal Processor) koji se koristi u mobilnim telefonima: Glasovna komunikacija u realnom vremenu podrazumeva digitalnu obradu signala i ne toleriše kašnjenja DSP ima specijalizovanu aritmetičku jedinicu, optimizovan dizajn i memoriju, kao i adresni prostor i magistrale prikladne za multiprocesorsku obradu, sve u cilju izvođenja kompleksnih operaciju ekstremno brzo Kao rezultat DSP znatno “pobeđuje” GP procesor koji radi na istoj radnoj frekvenciji sa aspekta digitalne obrade podataka Cena DSP procesora uglavnom održava cene mobilnih telefona visokim
Performanse So. C (System on a Chip) procesori su posebno atraktivni za embedded sisteme Sastoje se od CPU jezgra sa ugrađenim periferijskim modulima (npr. Programabilni tajmer opšte namene, programabilan kontroler prekida, DMA kontroler, Ethernet interfejs, . . . ) Ovakve karakteristike So. C omogućavaju implementaciju širokog spektra embedded aplikacija bez potrebe za dodatnim eksternim periferijskim jedinicama, smanjujući cenu i veličinu finalnog proizvoda
ES na osnovu Embedded procesora? Kao zaključak, očigledno je da postoji “siva zona” kada se na osnovu tipa procesora pokušava razlikovati embedded sistem od ne-embedded sistema Vredno je pomena da u slučajevima embedded sistema sa izuzetno visokim performansama, nije jednostavno odabrati između embedded procesora ili univerzalnog procesora opšte namene U slučaju sofisticiranih (high-end) embedded sistema, performanse u predefinisnom kontekstu svakako su značajnije od potrošnje snage ili cene. U takvom slučaju, odabir GP procesora može biti jednako dobro kao i sofisticiranog highend embedded procesora koji bi bio korišćen u istu svrhu
HW – SW ko-dizajn Tipično, hardver i softver za ES se razvijaju u paraleli Interakcija između dva dizajn timavodi ka tome da se izvuku maksimalne prednosti kako HW, tako i SW: SW komponente mogu da profitiraju od naprednih i specijalizovanih HW modula, dok HW komponente mogu da imaju pojednostavljen dizajn ukoliko određena funkcionalnost može biti ostvarena u SW, čime će se značajno redukovati kompleksnost i cena Vrlo često, mane kako SW, tako i HW bivaju otkrivene u uskoj kolaboraciji prilikom dizajna ova dva bloka HW-SW ko-dizajn predstavlja zapravo fundamentalnu karakteristiku embedded sistema specifične namene (koji često zahteva custom HW i SW)
Programiranje ES se smatra posebnom disciplinom koja zahteva da inženjeri koji se bave razvojem imaju znanje u popriličnom broju oblasti: Low-level HW uređaji Kompajler Tehnike debagovanja Mehanizme Real-Time operativnih sistema Dizajn multi-threaded aplikacija Kao rezultat, ovi zahtevi često mogu da budu poražavajući za programera koji je novi u ovoj oblasti, a sam proces obučavanja može biti dug i stresan
Cross-platform razvoj Ovo je još jedna od karakteristika embedded sistema Softver za ES je razvijen na jednoj platformi, ali se izvršava na drugoj (platforma je kombinacija HW, npr. Tip procesora, operativnog sistema, kao i alata koji se koriste za razvoj softvera) Host sistem je sistem na kome se razvija embedded softver. Target sistem je embedded sistem za koji se vrši razvoj Osnovni alat koji omogućava cross-platform razvoj jeste crosskompajler. To je kompajler koji se izvršava na jednom tipu arhitekture procesora, ali proizvodi objektni kod za drugi tip arhitekture procesora. Razlog za korišćenje cross-kompajlera leži u činjenici da target sistem ne podržava sopstveni kompajler.
Skladištenje softvera i nadgradivost Kod za embedded sistem (kao što je na primer real-time embedded operativni sistem, sistemski softver ili aplikacioni softver) obično se skladišti u ROM ili NVRAM memorije Poseban problem kod embedded sistema predstavlja proces boot-ovanja i korake koji omogućavaju “raspakivanje” koda iz memorije u kojoj su skladišteni, kako bi se taj kod mogao izvršavati Nadogradnja embedded sistema može podrazumevati kreiranje nove PROM memorije, primenjivanje specijalne opreme i metodologije za reprogramiranje EPROM-a, ili jednostavno reprogramiranje flash memorije
Odabir memorije za smeštanje Odabir memorije u koju će biti smešten embedded softver takođe ima uticaj na sveukupnu cenu održavanja Iako su PROM i EPROM memorije jeftine, cena se znatno podiže ukoliko “upgrade” sistema podrazumeva isporuku novih modula (nakon preuzimanja starih i zamena mem. blokova) Sa druge strane, embedded sistem može jednostavnije biti nadograđen bez potrebe za zamenom čipova, dinamički putem mreže ako se koriste flash ili EEPROM memorije
Tipovi ROM memorija ROM programiran maskama podrazumeva memoriju programiranu u procesu proizvodnje. Jednom programirana, njen sadržaj se ne može menjati Programabilni ROM (PROM) je memorija čiji se sadržaj može jednom programirati. Nakon toga, reprogamiranje nije moguće Erasable Programmable ROM (EPROM) se može programirati, brisati i reprogramirati koliko je potrebno tokom životnog veka (100 -1000 puta). Tradicionalno, EPROM se prvo briše izlaganjem UV zracima. Pre toga je neophodno ukloniti memoriju sa štampane ploče. EPROM se reprogramira korišćenjem specijalnog EPROM programatora
Tipovi ROM memorija Electrically Erasable Programmable ROM (EEPROM ili E 2 PROM) predstavlja moderne EPROM uređaje koji se brišu električnim poljem. Suštinska razlika u odnosu na EPROM jeste da se u slučaju EEPROM memorije, memorijski sadržaj pojedinačnog bajta može obrisati/menjati. Pri tome, reprogramiranje je moguće bez posebnog programatora, pri čemu memorija može ostati u sistemu dok se reprogramira Ipak, programiranje EEPROM-a je relativno spor proces Flash memorija je varijacija EEPROM-a, koja omogućava programiranje blokova (npr 512 bajta), čime je brzina znatno poboljšana u poređenju sa EEPROM-om
Tipovi RAM memorija Random Access Memory (RAM) se često naziva i read/write memorija i zahteva eksterno napajanje kako bi sačuvala sadržaj Termin Random ukazuje na osobinu RAM memorije da se svakoj memorijskoj ćeliji može pristupati direktno RAM je znatno brži od ROM memorija Dva tipa RAM-a su od značaja: Dinamički RAM (DRAM) zahteva periodično osvežavanje sadržaja Statički RAM (SRAM) čuva sadržaj sve dok je napajanje prisutno od strane eksternog izvora napajanja. Znatno je brži od DRAM memorije i ne zahteva osvežavanje
Tipovi RAM memorija Non-Volatile RAM (NVRAM) je specijalan tip SRAM memorije koji dobija napajanje od strane baterije, kako bi mogao da sačuva svoj sadržaj nakon nestanka glavnog napajanja Postoji i varijanta NVRAM memorije koja zapravo kombinuje SRAM sa EEPROM memorijom, tako da je sadržaj SRAM memorije upisan u EEPROM uvek kada nastupi nestanak napajanja, a pročitan iz EEPROM-a nakon dolaska napajanja
Real-Time Embedded Sistem Ovo je specijalna klasa embedded sistema, koja se razlikuje od drugih po zahtevu da manipuliše eksternim događajima u realnom vremenu U najjednostavnijoj formi, real-time sistem može biti definisan kao sistem koji reaguje na eksterne događaje u skladu sa vremenskim ograničenjima Eksterni događaji mogu imati sinhrone i asinhrone karakteristike. Reagovanje na eksterne događaje podrazumeva prepoznavanje kada se događaj desio i izvođenje očekivanog procesiranja kao rezultat događaja, vraćajući rezultat obrade unutar predefinisanog vremenskog ograničenja (ograničenje može biti vreme završetka, ili zajedno vreme početka i završetka)
Real-Time Embedded Sistem Dobar način da se razume odnos između real-time sistema i embedded sistema jeste posmatrajući sliku ispod
Real-Time sistemi Okolina real-time sistema kreira eksterne događaje Ovi događaji se prihvataju od strane jedne ili više komponenti RT sistema Reakcija RT sistema se vraća okruženju kroz jednu ili više komponenti sistema Dekompozicija RT sistema vodi ka generalnoj strukturi realtime sistema prikazanoj na slici na sledećem slajdu: Kontrolišući sistem (Controlling system) Kontrolisani sistem (Controlled system)
Real-Time sistemi
Real-Time sistemi Kontrolišući sistem interaguje sa kontrolisanim sistemom na više načina: Periodična interakcija u kojoj je komunikacija inicirana od strane kontrolišućeg sistema. U ovom slučaju, komunikacija je predvidiva i dešava se u unapred zadatim intervalima i trenucima Aperiodična interakcija tokom koje komunikacija biva inicirana od strane kontrolisanog sistema. U ovom slučaju, komunikacija je nepredvidiva i predodređena slučajnim eksternim događajima iz okruženja kontrolisanog sistema Kombinacija gornja dva Kakva god bila priroda komunikacije među njima, kontrolišući sistem mora da obradi i odgovori kontrolišućem sistemu u garantovanom vremenskom okviru
Primer RT sistema 1 Zamislimo RT odbrambeni sistem (RTOS) kome je uloga da zaštiti brodove Vojno-Pomorskog-Uništavača (VPU) Ideja je da se projektili ispaljeni od strane VPU razbiju na sitne komade (gelere) pre nego što projektil stigne do broda RTOS se sastoji od Radarskog Sistema (RS), Upravljačkog Sistema (US) i Sistema za Kontrolu Oružja (SKO) U ovom slučaju kontrolišući sistem je US, dok su RS i SKO kontrolisani sistemi
Primer RT sistema 1 RS skenira prostor i traži potencijalne mete. Koordinate potencijalne mete se šalju US periodično sa visokom učestanošću nakon što je meta primećena US mora najpre da odredi nivo rizika tako što klasifikuje i evaluira sve pridošle rizike kroz informacije dobijene od RS Za “najveću” pretnju US mora, barem, da izračuna brzinu i projektovanu trajektoriju, kao i da estimira lokaciju udara. Međutim, obzirom da putanja projektila u praksi driftuje u skladu sa preciznošću sistema za navođenje, US računa i površinu (pravougaonik) oko same putanje kretanja projektila
Primer RT sistema 1 US tada aktivira SKO koji je nabliži anticipiranoj lokaciji udara, kako bi on kontinualno ispaljivao municiju u okviru pomerajuće površine sve dok se meta ne uništi U ovakvom RTOS-u, komunikacija između RS i US je aperiodična, jer je pojava potencijalne mete nepredvidiva i ona se može pojaviti u bilo kom trenutku Komunikacija između US i SKO je, sa druge strane, periodična, jer US pohranjuje koordinate mete ka SKO periodično (ekstermno visokom frekvencijom). Inicijalne koordinate se baziraju na pred-proračunatoj putanji leta, ali je neophodno ažurirati ove podatke u realnom vremenu u skladu sa promenama lokacije projektila koji se približava brodu
Primer RT sistema 2 Sa druge strane, imamo RT Sistem za Upravljanje Projektilom (SUP) Projektil se kreće ultra-zvučnom brzinom On se kreće 10 m iznad vode, 30 m iznad ravnog tla i 100 m iznad planinskog područja Moderni sistemi za navođenje omogućavaju pogađanje mete na udaljenosti i do 50 km Sve ove karakteristike su omogućene zahvaljujući RT navigirajućem sistemu ugrađenom u nos projektila
Primer RT sistema 2 U uprošćenoj varijanti, SUP se sastoji od: Navigacioni Radar Sistem (NRS), sa mogućnošću praćenja terena ispred i ispod Navigacioni sistem (NS) Sistem za Promenu Pravca (SPP) NS sadrži digitalne mape koje pokrivaju putanju leta projektila, dok se ove mape osvežavaju na osnovu informacija dobijenih od NRS u realnom vremenu NS tada preračunava koordinate putanje kako bi izbegao prepreke na terenu Korektivna podešavanja putanje leta se šalju SPP po potrebi
Primer RT sistema 2 U ovom primeru, kontrolišući sistem je NS, dok su kontrolisani sistemi NRS i SPP Možemo, takođe, zapaziti, kako periodičnu, tako i aperiodičnu komunikaciju u ovom primeru. Komunikacija između NRS i NS je aperiodična, dok je komunikacija između NS i SPP periodična
Primer RT sistema 3 Još jedan primer real-time sistema je DVD plejer Njegova uloga je da dekoduje video i audio stream sa diska simultano Dok se film pušta, posmatrač može da aktivira OSD (On Screen Display) korisnički meni korišćenjem daljinskog upravljača Kroz OSD korisnik može da menja parametre kao što su format audio izlaza i opcije za jezike DVD plejer je kontrolišući sistem, daljinski upravljač je kontrolisani sistem, koji je u ovom slučaju prepoznat kao senzor koji pohranjuje događaje (pauza, odabir jezika i sl. ) ka DVD plejeru
Karakteristike RT sistema US u okviru RTOS-a iz primera 1 mora da preračuna anticipiranu putanju leta projektila brzo i da šalje instrukcije ka SKO kako bi projektil bio oboren pre nego što stigne do mete Neka je vreme T 1 potrebno da bi projektil stigao do broda, kao funkcija udaljenosti od broda i brzine Neka je T 2 vreme potrebno da US aktivira oružje (u koje je uključeno vreme za prenos koordinata kao i kašnjenje ispaljivanja) T 1 – T 2 je tada maksimalno dozvoljeno vreme koliko izračunavanje sme da traje Projektil će dostići metu ako proračun od strane US traje duže, ili ako je proračun netačan
Karakteristike RT sistema Slično kao u primeru iznad, navigacioni sistem NS iz primera 2 mora da reaguje brzo na promene terena kak obi prepračunao koordinate i poslao kontrolne signale u skladu sa ispravljenom trajektorijom leta Projektil će udariti u planinu ukoliko se proračun nove putanje ne desi brzo, ili ako proračun bude netačan Kao zaključak, izvlačimo dve esencijalne karakteristike realtime sistema: RT sistemi moraju da rezultuju korektnim rezultatom obrade podataka (ovo se naziva logička ili funkcionalna korektnost) i te rezultate moraju da proizvedu u okviru predefinisanog vremena (vremenska korektnost)
Karakteristike RT sistema Real-time sistemi su, dakle, sistemi u kojem ukupna korektnost sistema zavisi kako od funkcionalne korektnosti, tako i vremenske korektnosti. Vremenska korektnost je neophodna barem koliko i funkcionalna korektnost Tvrdnja da je vremenska korektnost barem značajna kao i funkcionalna je tačna zbog činjenice da se u nekim RT sistemima funkcionalna korektnost žrtvuje nauštrb vremenske korektnosti (biće primer dat kasnije) Slično kao i ES, RT sistemi takođe zahtevaju suštinsko poznavanje okruženja kontrolisanog sistema kao i aplikacije koja se izvršava na njemu
Karakteristike RT sistema Zbog ovoga se za mnoge RT sisteme kaže da su deterministički, jer u njima, vreme odziva na spoljašnji događaj je ograničeno Akcija (ili akcije) koje se preduzmu kao odgovor na događaj su unapred poznati Deterministički RT sistem implicira da svaka komponenta sistema ima determinističko ponašanje koje doprinosi generalnom determinizmu sistema Kao što je pomenuto gore, deterministički RT sistem može biti manje ili više adaptivan na promene okruženja, što ga čini manje ili više robustnim Nivo robusnosti i determinizma mora biti uravnotežen
Tipovi RT sistema Ranije je rečeno da se obrada podataka mora završiti pre datog krajnjeg roka Drugim rečima, RT sistemi imaju vremenska ograničenja i generalno su određena krajnjim rokom (eng. Deadline-driven) U skladu sa tim, RT sistemi se klasifikuju kao HARD RT sistem ili kao SOFT RT sistem Ono što razlikuje Hard RTS od Soft RTS jeste nivo tolerancije za promašeni krajnji rok, korisnost izračunatih podataka nakon neispunjenog krajnjeg roka i, na kraju, ozbiljnost kazne prouzrokovane ne ispunjavanjem krajnjeg roka
Tipovi RT sistema Za Hard RT sistem: nivo tolerancije promašenog roka je ekstremno mali ili jednak nuli Izračunati podaci nakon što rok nije ispoštovan su gotovo neupotrebljivi Kazna zbog neispunjenog roka je katastrofalna Za Soft RT sistem: Nivo tolerancije promašenog roka svakako nije nula Izračunati Uticaj promašenog roka nije katastrofalan podaci nakon neispoštovanog roka imaju tzv stopu obezvređivanja (korisnost rezultata nije nula neposredno nakon promašaja roka)
Tipovi RT sistema Dakle, Hard RT sistem je RT sistem koji mora ispuniti krajnji rok sa izuzetnom pouzdanošću (gotovo nultim stepenom fleksibilnosti), u suprotnom nastupa katastrofa (vrlo često je cena takve katastrofe vrlo visoka i može rezultovati ljudskim žrtvama). Iskoristljivost rezultata nakon što je rok promašen je ili nula, ili je stopa obezvređivanja rezultata ekstremno visoka sa proticanjem vremena od trenutka promašaja krajnjeg roka Soft RT sistem mora da ispoštuje krajnji rok, ali sa određenim stepenom fleksibilnosti. U ovom slučaju, neispoštovan krajnji rok ne znači i potpuni neuspeh, ali cena promašaja roka može rasti proporcionalno sa kašnjenjem, u zavisnosti od aplikacije
Tipovi RT sistema Vredno zapažanja je činjenica da dužina krajnjeg roka nije ono što odlučuje da li je RT Hard ili Soft, već ozbiljnost zahteva da se taj rok ispoštuje (kroz kaznu koja nastupa u suprotnom) Oba sistema iz primera 1 i 2 su hard RT sistemi, ukoliko govorimo o SUP, ukoliko NS ne može da izračuna nove koordinate kao posledicu planine koja se pojavljuje na horizontu pre krajnjeg roka za to, neće dovoljno vremena biti ostavljeno projektilu da promeni visinu. Ovaj sistem ima nultu toleranciju za promašeni rok. Takođe, nove koordinate izračunate nakon krajnjeg roka su potpuno neupotrebljive jer na ultra-zvučnim brzinama rastojanje je previše malo da bi se moglo odreagovati. Kazna je katastrofalna, čak i u slučaju da projektil udari u planinu
Tipovi RT sistema Slično, SKO je takoće sistem sa nultom tolerancijom. Neispoštovan rok rezultuje projektilom koji potapa brod, potencijalno sa ljudskim žrtvama Nasuprot ova dva primera, DVD plejer je soft RT sistem. On dekoduje video i audio stream-ove dok reaguje na komande korisnika istovremeno Korisnik može da pošalje seriju komandibeoma brzo, što izaziva da dekoder propusti rok (ili nekoliko rokova) i kao rezultat imaćemo vidljuvu distorziju zvuka ili čujnu distorziju audio signala Nivo tolerancije je visok jer DVD plejer nastavlja sa funkcionisanjem, dekodovani podaci nakon kašnjenja se i dalje mogu iskoristiti
Značaj vremenske korektnosti Za većinu Hard RT sistema, vremenska korektnost je kritična Zbog toga, ovi sistemi čine sve moguće napore da predvide da li rok koji je postavljen pred njih može biti probijen Ako govorimo o RTOS-u, kada se anticipira da bi rok mogao biti probijen, US kao odgovor povećava zonu oko projektila i dodatno proračunava estimirane koordinate, umesto precizne, nakon čega odmah aktivira SKO kako bi kompenzovao ovu nepreciznost. Kao rezultat, više oružja se aktivira kako bi pokrili veću površinu oko projektila. Ideja koja se krije iza ovoga je da je bolje potrošiti višak municije, nego da se potopi brod Ovaj primer pokazuje da nekada funkcionalna korektnost može biti žrtvovana nauštrb vremenske korektnosti
Značaj vremenske korektnosti U slučaju Soft RT sistema, nije potrebno predviđati eventualno probijanje roka (tj. Rokova), jer ukoliko se nekoliko njih ne ispoštuje, uticaj neće biti katastrofalan Umesto toga, ovi sistemi mogu da počnu sa procesom oporavka (recovery process) nakon što je probijen rok Na primeru DVD plejera, nakon probijanja roka, dekoderi koriste prethodno izračunate podatke i na osnovu njih odlučuju koji video frejmovi (ili audio podaci) moraju biti odbačeni kako bi sistem nastavio sa normalnim radom (re-sinhronizacija)
Početak izvršenja zadatka Do sada smo razmatrali postizanje krajnjeg roka, ali u određenim situacijama, ispunjavanje vremena početka može biti jednako važno Nedostatak resursa za obavljanje nekog posla (npr CPU ili memorija) može sprečiti neki zadatak da počne na vreme i rezultovati na kraju neispoštovanim krajnjim rokom završetka zadatka. Ovaj problem se svodi na problem raspodele resursa i o njemu će biti više reči na narednim predavanjima Algoritmi za raspodelu resursa u real-time sistemu moraju reagovati adekvatno kako bi zadaci pokrenuti kao odgovor na sinhrone, ali i na asinhrone događaje iz okruženja imali dostupne sve potrebne resurse u pravom trenutku
- Slides: 46