Beágyazott információs rendszerek

Save this PDF as:
 WORD  PNG  TXT  JPG

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Beágyazott információs rendszerek"

Átírás

1 Budapest Műszak és Gazdaságtudomáy Egyetem Beágyazott formácós redszerek Óravázlatok (-. előadás, -6. gyakorlat) Szerkesztette: Pécel Gábor 7.

2 Beágyazott formácós redszerek:. gyakorlat, és Bevezetés (Az előadáso elhagzottak folytatásakét) Meységek, változók valós deű redszerekbe Real-tme változók (RT ettes): állapotváltozók, mt pl. folyadék áram, szabályozó alapele, szabályozó szelep kívát pozícóa. Vaak statkus és dőbe változó, damkus attrbútuma. Mde RT változó aak az alredszerek az ú. befolyásolhatóság tartomáyába (sphere of cotrol, SOC) va, amelyk ogosult értékét megváltoztat. Azo kívülről a RT változó csak olvasható. Egy RT változó lehet dszkrét vagy folytoos értékű. A dszkrét RT változó lehet defálatla. Példa: yíló garázsató: cs se ytva, se csukva. Megfgyelések: a RT változó értéke adott dőpot(ok)ba. Megfgyelés =<év, megfgyelés dő, érték> Megfgyelések elosztott redszerekbe: ha cs globáls óra, akkor az dőbélyeg haszálhatósága korlátozott, megfgyelés dőek sokszor az üzeet érkezés deét veszk. Ezzel eletős hbát okozhatuk az állapotbecslésbe. Idrekt megfgyelések: sokszor a megfgyeledő meység közvetleül em férhető hozzá. Ilyekor közvetett megfgyeléseket végzük modellek felhaszálásával. (Például belső hőmérséklet megfgyelése a felszíe elhelyezett érzékelőkkel). Állapot megfgyelések: mde megfgyelés öállóa értelmezhető értéket ad. Jellegzetese perodkus mtavételezéssel végezzük. Eseméy megfgyelések: az eseméy adott dőpotba bekövetkező állapotváltozás. Mvel maga a megfgyelés s egy eseméy, ezért em lehetséges egy eseméy közvetle megfgyelése az ráyított obektumba, csak aak következméyet tuduk megfgyel. Real-tme változók képe (RT mages): a RT változó megfeleltetése a számítógépes programba, amelyek értelmezzük az dőbe és az ampltúdó szert potosságát, valamt az dőbe érvéyességét. Egy RT változó képe aktuáls állapot, ll. eseméy megfgyelés, vagy állapot becslés. Real-tme obektumok (RT obects): Egy RT obektum az elosztott redszer csomópotá belül egy olya tároló, amely egy RT változót, vagy aak képét tartalmazza. Mde lye obektumhoz tartozk egy előírt potosságú óra. Amkor ez üt, egy obektum elárás aktválására kerül sor. Ha ez perodkus, akkor szkro RT obektumról beszélük. Elosztott RT obektumról beszélük, ha a külöféle csomópotokba másolat formáába va ele. Erre ó példa a globáls óra, amelyek együttfutású másolatat hozzuk létre az egyes csomópotokba. Időbe potosság: A megfgyelések révé szerzett formácó dőbe megeleése a számítógépes programba és téyleges megfgyelés téyleges dőpota óhatatlaul eltérek egymástól. Az dőbe potosság azzal a d potosság tervallummal defálódk, amelyhez tartozóa bekövetkező ampltúdó hba még éppe elvselhető a vezérelt redszer szempotából. Példa: az alább táblázatba éháy gépármű motor ellemző szerepel együtt a megkívát ampltúdó potossággal és az eek megfeleltethető dőtervallumokkal. RT kép a számítógépbe max. változás potosság dőbe potosság Dugattyú pozícó 6 ford/perc. 3sec Gázpedál pozícó %/sec % msec Motor terhelés 5%/sec % msec Ola és hűtővíz hőmérséklet %/perc % 6 sec Az RT képek potosság tervalluma között több mt 6 agyságred eltérés va. A dugattyú pozícó esetébe ez a potosság praktkusa csak állapotbecsléssel (a programo belül óslással) lehetséges. A megfgyelés és a felhaszálás között eltelt dő egy v változó eseté a következő hbát okozza: dv( t) hba( t) C( t felhaszál ás) C( tmegfgyelé s ). dt

3 Beágyazott formácós redszerek:. gyakorlat, és Ha egy dőbe potos RT képet haszáluk, akkor a worst-case hba: dv t hba max d potosság. dt t Kegyesúlyozott tervezés eseté ez utóbb az ampltúdó mérés hba agyságredébe kell esse. Ahhoz, hogy az RT képre alapozott számításak potosak legyeek, be kell tartauk az alább feltételt [C(t felhaszálás ) C(t megfgyelés )] d potosság. Példa az dőbe érvéyességre: 993. szeptember 4, varsó repülőtér: egy Lufthasa A3-as Arbus túlszaladt a kfutópályá: halott, 54 sebesült. A balesetet az okozta, hogy a gép klec másodpercg csak az egyk oldal kereké támaszkodott, ezért a fékező mechazmusok bekapcsolása em törtét meg, mvel aak feltételekét a vezérlő logkába mdkét (fő)kerék földet érését írták elő. Valóába az a következtetés, hogy a repülőgép még a levegőbe va, ezért a fékező mechazmusok em aktválhatók dőbe érvéyteleé vált abba a pllaatba, amkor az egyk kerék földet ért. Egy perodkusa frssített RT képet parametrkusak, vagy fázs-érzéketleek hívuk, ha d potosság > (d frssítés + WCET üzeet továbbítás ). A parametrkus RT kép a vevő oldalo bármkor felhaszálható aélkül, hogy a beérkezés és a felhaszálás fázsvszoyat mérlegel kellee: még a potosság dő belül megö a frssítés. Egy perodkusa frssített RT képet fázs-érzékeyek hívuk, ha WCET üzeet továbbítás < d potosság (d frssítés + WCET üzeet továbbítás ). Ilyekor em bztos, hogy a potosság dő belül megö a frssítés, ezért a frssítés és a felhaszálás deére oda kell fgyel. Példa: A fet táblázatba szereplő gázpedál pozícó továbbítás dee 4 msec. Ha ekkor a perodkus lekérdezés üteme ksebb, mt 6 msec, akkor az RT kép parametrkus, ha pedg pl. 8 msec, akkor pedg fázs-érzékey. A fázs érzékeységet megfelelő mtavétel frekvecával, vagy állapotbecslés alkalmazásával kerülhetük el. Példák az dővszoyok saátosságara beágyazott redszerekbe: - relatvsztkus hatás: a kommukácó dővszoya eseméyek téyleges sorredét a vétel helyé megváltoztathaták. (Lásd az alább llusztrácót!) P kles A server B server Q kles E eseméy E eseméy t t t t Az ábrá az látható, hogy a Q kles esetébe az E eseméyről szóló híradás megelőz az dőbe korább E eseméyről érkező híradást. Az eseméyek sorredétől függő dötések eseté ebből ba lehet. Ha az E és az E eseméyek em függetleek egymástól, akkor ogos felvetés, hogy az E eseméyről szóló híradás megérkezését követőe a híradásokat fgyelembe vevő dötésekkel várakozzuk addg, amíg mde olya eseméyről szóló híradás, amely az E eseméyel egydeűleg vagy azt megelőzőe törtét a legkedvezőtleebb esetbe s beérkezk a Q kleshez. Ezt a várakozás dőt akcó késleltetés dőek (acto delay) evezzük. A szükséges akcó késleltetés dőt akkor tuduk 3

4 Beágyazott formácós redszerek:. gyakorlat, és meghatároz, ha va mmáls (alsó) és maxmáls (felső) korlátuk az üzeettovábbítás dőre, azaz a d üzeettovábbítás dőre feáll: d d. m d max Ha a szóba forgó csomópotok számára smert a globáls dő, azaz az üzeettovábbítás sorá va értelme dőbélyeget s külde, akkor a kles a vétel dőpota és a küldés dőbélyege alapá meg tuda határoz, hogy a vett üzeet továbbítása mey dőt vett géybe, és a legkedvezőtleebb vszoyokat feltételezve meddg kell még várakoza ahhoz, hogy mde egydeűleg vagy megelőzőe küldött üzeet megérkezze. Ez az dőpot természetese az üzeetküldés dőpotáak és a d max értékek összege lesz. Ilyekor az akcó késleltetés dő d max. Ha a szóba forgó csomópotok számára a globáls dő em smert vagy legalábbs lokáls órák em szkrozáltak, akkor az dőbélyeg közvetleül em haszálható, az akcó késletetés mértékéek meghatározásáál csak az üzeet beérkezéséből tuduk kdul. Mvel a téyleges üzeettovábbítás dőt em tuduk mér, ezért a legkedvezőbb d m dőt feltételezve még mdeképpe váruk d max - d m dőt az akcó bedításág. Mvel elképzelhető, hogy az üzeet a legkedvezőtleebb d max dő alatt érkezett, ezért az üzeet küldéséhez képest a legkedvezőtleebb esetbe d max - d m várakozásra kerül sor, lyekor tehát az akcó késleltetés dő d max - d m. Megegyzések:. Látható, hogy a másodk esetbe, agy d max - d m érték eseté, léyegese kedvezőtleebb helyzettel álluk szembe. Célszerű az üzeetküldés dőt ~álladó értéke tarta.. Bzoyos kommukácós protokollok eseté a d max - d m külöbség agy lehet: például tokevezérelt busz eseté, ha a toke körülárás dő moduk ms, maga az üzeettovábbítás pedg mdg ms, akkor d max = ms lesz, míg d m = ms, hsze a legkedvezőtleebb esetbe az üzeettovábbítás kezdeméyezését közvetleül megelőz a toke továbbítása az adott csomópotról/készülékről, tehát ms-g vár kell, és utáa a toket vsszakapva már ms alatt a címzetthez ut, de ez összességébe d max = ms dőtartamot eredméyez. 3. Az akcó késleltetés dő kvárásával olya helyzetet teremtük, hogy egy adott csomópotra érkező üzeet kapcsá elmodható, hogy mde, a küldésével egydeű, ll. korább üzeet megérkezett (ll. sosem fog megérkez). Ezt a relácót álladóságak (permaece), magát az üzeetet pedg permaesek evezzük. 4. Az álladóság/akcó késleltetés dő k em várása súlyos következméyekkel árhat vssza em fordítható akcók kezdeméyezése eseté. Godoluk fegyver elsütésére, plóta katapultálására. 5. Beágyazott redszerek esetébe a csomópotok között kommukácóba sok esetbe maguk a fzka/techológa beredezések s részt veszek. Egy beavatkozás eredméyekét eze beredezések működésébe beállt változásokat érzékelőkkel detektáluk. A beavatkozó és az érzékelő között fzka folyamatok lyekor kommukácós csatorakét (s) működek. Ezek valóába retett csatorák, amelyek dővszoyaról az akcó késletetés meghatározása sorá em szabad megfeledkezük. Példa: Az alább ábrá az A, B, C és D csomópotok processzoros egységek. A: alarm motor, B: beavatkozó egység (szelepállítás), C: érzékelő (pl. yomás v. folyadékszt), D: operátor mukahely. Az alarm motor két helyről s kap üzeetet, akkor ezek egymáshoz vszoya em közömbös. Ha az operátor szádék az, hogy operátor kezdeméyezésre törtéő határérték-túllépés eseté az alarm motor e kapcsolo be, akkor az erre voatkozó üzeet előbb kell, hogy elusso az alarm egységhez: t DA< t DB + t BC + t CA Ellekező esetbe az alarm motor bekapcsol, hacsak em érvéyesítük az akcókésleltetést. 4

5 Beágyazott formácós redszerek:. gyakorlat, és Megegyzés:. 986 tavaszá a cserobl katasztrófa azért következett be, mert az operátor kísérletezett a techológa beredezéseke, és ezt megelőzőe kkapcsolta védelm mechazmusokat.. A zöld szaggatott voal retett kommukácós csatorát elöl. A B D C 6. Valós deű redszerekbe az akcó késletetés mértéke problémát okozhat az üzeetekbe küldött formácó felhaszálhatóságát lletőe: egy mérés adat hamar elévülhet (em lesz elegedőe potos), ha a forrása egy dőbe gyorsa változó folyamat. - Idempoteca: Ha ugyaaz az üzeet tpkusa hbatűrés céllal többször s megérkezk ugyaarra a csomópotra, akkor ezt az üzeethalmazt dempotesek evezzük, ha a a többször azoos üzeet hatása ugyaaz, mt az egyszeré. Ez a fogalom azért fotos, mert ha az üzeet úgy kostruáluk meg, hogy az megváltozást hordozzo, akkor a többször üzeetküldés többször korrekcót eredméyez, mközbe csak egyszert szerettük vola. Példa: szelep-állás 45 (állapot üzeet) szelep-állás változás 5 (eseméy üzeet). - Programozható feszültségosztó: U (t) r R U(t) R U(t) = U (t) r + R, (t) = U (t) r + R, U(t) = (t)r R legye változtatható! R helyébe tegyük az alább programozható eszközt! R r (t)? r A/D D/A U(t) = (t)r µp, DSP, felhő, 5

6 Beágyazott formácós redszerek:. gyakorlat, és U A válaszfüggvéy a fellépő késleltetések matt: U(t) = R(t Δt). Ha U belépő, akkor (t = ) = U, hsze az osztó alsó tagá a feszültség ulla: U(t = ) =. t r dő múlva érvéyesül az áram hatása, ezért U(t = t) = R U r, (t = t) = (U R U r ) r = ( R r ) U r értékeket kapuk. Úabb t elteltével ez az áram s érvéyre ut, ezért U(t = t) = R ( R r ) U r, (t = t) = [U R ( R r ) U r ] r = [ R r + (R r ) ] U r értékekre utuk. Látható, hogy t elteltével a feszültség ő, az áram pedg csökke, mad a következő lépésbe a feszültség csökke, az áram pedg ő. A övekedés, ll. a csökkeés mértékét R határozza meg. r t dő elteltével, ha R r < : U(t = t) = R [ ( R r ) + (R r ) (t = t) = [ ( R r ) + (R r ) ± ( R r ) ] U R U r r + R ( R r ) ] U U r r + R. A határérték képzésél felhaszáltuk a mérta sor összegképletét. A fet két összefüggést elemezve azt látuk, hogy md a feszültség, md az áram csökkeő ampltúdóú gadozással ér el az álladósult állapotát. Ez a folyamat aál lassabb, mél közelebb áll az R aráy az egyhez. Egyelőség eseté a legés r csllapítatla. Ha R >, akkor a legés övekvő ampltúdóú. r Megegyzés:. A fet példa a késleltetés téyére híva fel a fgyelmet. A késleltetés agysága tt azért em befolyásola a a kalakuló ampltúdókat, mert az elemek rezsztívek, tehát cs eergatárolás. Ha lee, akkor a kalakuló sztek a késleltetésektől s függeéek.. Jól látható, hogy a példa szert redszer stabltása az elleállások aráyáak függvéye. 6

7 . Bevezetés (folytatás) Beágyazott formácós redszerek:. előadás, keméy és puha valós deű redszerek: keméy valós deű redszer (hard real-tme system (HRT)): katasztrofáls következméyekkel ár, ha em tartuk az dőkorlátot (pl. árművek vezérlése). puha valós deű redszer (soft real-tme system (SRT), o-le system): az eredméy értékes az dőkorláto túl s, de az dővel degradálódk (pl. bak/trazakcós redszerek). HRT és SRT ellemzése külöböző szempotok szert: válaszdő (respose tme): HRT esetébe msec, vagy aál kevesebb (pl. légzsák), az ember beavatkozás lehetősége kzárt, a redszer autoóm működésű és bztoságos kell, hogy legye. SRT eseté a válaszdő másodperc agyságredű, az dőkorlát túllépése em okoz katasztrófát. vselkedés csúcsterhelés eseté (peak-load performace): HRT eseté ól defált kell, hogy legye. Tervezéskor bztosíta kell, hogy a számítógépes redszer mde sztuácóba az dőkorláto belül telesítse feladatát, hsze a HRT redszerek éppe azáltal valósíták meg a velük szembe megfogalmazott elvárásokat, hogy még a rtká előforduló csúcsterhelések deé s ósolható módo vselkedek. Az SRT redszereket átlagos telesítméy-ellemzőkre tervezzük, a rtká előforduló csúcsterhelések következméyet - gazdaságosság megfotolásból - elvselük. az ütem vezérlése (cotrol of pace): A HRT redszerek mde körülméyek között szkroba kell lee köryezetéek (ráyított obektum, ll. az ember operátor) állapotával. Az SRT redszerek befolyásolák köryezetüket, ha em képesek eleget te feladatukak (egy trazakcós redszer például megövel a válaszdeét). bztoság (safety): A bztoság krtkusságáak mértékétől függőe sokféle feladat merülhet fel tervezés dőbe. Autoóm hbadetektálás mechazmusokat kell kdolgoz, amelyek valamlye talpra állítás (recovery) akcót dítaak az adott alkalmazás által dktált dővszoyok mellett. az adatfálok mérete (sze of data fles): HRT redszerek ksméretű adatfáloko dolgozak, amelyek valós deű adatbázst alkotak. Ezek ellemzőe az adattegrtás rövd deűsége, mert az dő múlásával az adatok eletős része aktualtását veszít. Az SRT redszerekbe éppe ellekezőleg a hosszú deű adattegrtás fotos. a redudaca típusa (redudacy type): SRT redszerekbe (pl. trazakcós redszerek) hba eseté a számításokat vsszagörgetk a legutolsó elleőrzés pothoz, amkor még bztosa helyes volt a működés és oa kezdk a talpra állítást. HRT redszerek eseté ez a stratéga csak korlátozotta haszálható mert: () az dőkorlát tartása ehéz, mert a vsszagörgetéshez szükséges dő em, vagy eheze ósolható, () a köryezetet befolyásoló utasítás em tehető meg em törtétté, (3) az elleőrzés potál érvéyes adatok az dő múlásával érvéyüket veszítk. adat tegrtás (data tegrty): HRT: rövd deű, SRT: hosszú deű. hbadetektálás (error detecto): HRT: autoóm, SRT: felhaszáló által segített.. Ütemezés Probléma: a processzor(ok)ak többféle dőzítés mellett többféle feladatot (task) kell ellátuk. Egy -edk feladathoz (task-hoz) köthető dővszoyok az alábbak szert értelmezhetőek: T D C a /r s R f d 7

8 Beágyazott formácós redszerek:. előadás, Itt a vagy r az érkezés dő (arrval/release/request tme), s a végrehatás kezdéséek dee (start tme), f a végrehatás befeezéséek dee (fshg tme), d a végrehatás határdee (deadle), T a peródusdő (perod tme), D =d -a a kérés dőpotához képest határdő, C a számítás dő (computato tme), R =f -a a válaszdő.. Cklkus ütemezés: a legegyszerűbb, tervezés dőbe fx dőszeletek osztuk k perodkus kérések kszolgálására, és ezt cklkusa smételük. A kosztást tpkusa óra-vezérelt módo olduk meg, ezért óra vezérelt vagy dő-vezérelt ütemezések s evezzük. Többféle változata va, de közös tuladoságuk, hogy az ütemezéssel kapcsolatos dötések tervezés dőbe törtéek, és ezáltal a futás dőbe eletkező overhead alacsoy. Ugyacsak ellemzőük, hogy a HRT task-ok paramétere smertek és fxek. Példa: ms-os dőszeletet kap mde feladat (ks keret). Négy fukcót úgy valósítuk meg: 5 Hz-es perodctással, azaz ms-okét aduk ms-ot az első fukcóak, 5 Hz-es perodctással, azaz 4 msokét ms-ot a másodk fukcóak,.5 Hz-es perodctással, azaz 8 ms-okét ms-ot a harmadk fukcóak, és végül 6.5 Hz-es perodctással, azaz 6 ms-okét ms-ot a egyedk fukcóak. Természetese az dőszeletek kosztása varálható, de érdembe csak tervezés dőbe, tehát az ütemezés meglehetőse kötött/merev lesz. Megegyzés: A fet példába az első fukcó a processzordő felét, a másodk a egyedét, a harmadk a yolcadát, stb. haszálta fel. Érdemes feldéz azt az eredméyt, hogy..., 4 8 azaz a fukcók száma övelhető a végteleségg, ha az géyelt processzordő redre az előző felére csökke! Ezt a tuladoságot haszálták k a vlág első dgtáls szűrőkkel működő valósdeű /3 oktáv elemzőéek, a Brüel & Kaer 3 tervező s 977-be! Ez a beredezés.6 Hz és khz tartomáyba, összese 4 sávba képes /3 oktávos aalízsre, lletve Hz és 6 khz sávközép frekvecákkal 4 sávba oktáv aalízsre. Mvel az oktáv aalízs olya sávszűrőket alkalmaz, amelyek 3 db-es sávhatáraak aráya :, ezért felvethető, hogy ameybe a 6 khz sávközepű dgtáls sávszűrő f m mtavétel frekvecával működk, akkor kellő mértékű sávkorlátozás eseté az eggyel alatta levő, 8 khz sávközepű dgtáls sávszűrőek elegedő f m / mtavétel frekvecával működe, és így tovább. Elvleg akármlye ks frekvecákg elmeheték, hsze a fet összeg csak határértékbe ér el az -et. A megvalósított beredezésbe f m = khz. A legmagasabb frekvecasáv és az összes több kszolgálása a mtavétel dő felét-felét vesz géybe. Ebbe az ütembe két dgtáls szűrő blokk működk. Az egyk egy hatod-fokú sávszűrő hardver, amelyet /f m dő alatt háromszor haszáluk redre más paraméterekkel a három egyharmad oktávos szűrő egy-egy úabb kmeet értékéek meghatározására, a másk egy egyedfokú aluláteresztő hardver, amelyet /f m dő alatt háromszor haszáluk redre más paraméterekkel egy tzeketted-fokú alul-áteresztő megvalósítására, amellyel a mtavétel tétel alkalmazhatóságáak érdekébe sávkorlátozást végzük. Az A/D átalakítóból érkező mtát először a sávkorlátozó alul-áteresztő szűrőre vezetük, mad eek kmetéről levehető mtát a sávszűrők kapák. A mtavétel dő másodk dőszeletébe valamelyk alacsoyabb frekvecás sávkorlátozó, mad sávszűrő működtetése törték.. Időosztásos (tme-shared)/körforgó (roud-rob) ütemezés: A futtatható task-ok egy FIFO-ba kerülek, és a legelöl álló task fog fut maxmum egy dőszelet deg. Az dőszelet általába éháyszor ms, am a task-októl függetle paraméter. Ha az adott task em fut le az dőszelet alatt, akkor futása megszakad, és a FIFO végére kerül. 3. Prortásos ütemezés: A futtatható task-ok közül az fut, amelykek legagyobb a prortása. A prortás hozzáredelés törtéhet tervezés és futás dőbe egyarát. A működést a következő ábra llusztrála. A három task redre alacsoy (L=low), közepes (M=medum) és magas (H=hgh) prortású. Ezeket a prortásokat tervezés dőbe osztottuk k. Az ábrá mdhárom task azoal fut kezd, amt futtathatóvá válk. 8

9 Beágyazott formácós redszerek:. előadás, H M L Az ábrá látható esetbe a legalacsoyabb prortású task válaszdee R L =C L +C M +C H. Ha a középső és/vagy a magas prortású task perodkusa kér, akkor az dővszoyok függvéyébe elképzelhető, hogy az R L dő alatt többször s lefut. A válaszdő számítást a legkedvezőtleebb esetre, az -edk task-ra voatkoztatva, a következő képlettel tuduk elvégez: R R C I C Ck, khp Tk ahol I az ú. terfereca dő, azaz az az dőtartam, amíg a magasabb prortású task-ok futása akadályozza az alacsoyabb prortású task-ok végrehatását. A k hp azokat a task-okat elöl k, amelyek prortása agyobb, mt (hp=hgher prorty). A záróel a felső-egész képzés operátora..,.. Mvel a fet képletbe a baloldalo szereplő R a obboldalo s szerepel egy erőse emleárs függvéy argumetumába, ezért teratív elárás alkalmazására kéyszerülük: R C I C Az terácót addg folytatuk, amíg: egy érték mellett R R. A bemutatott elárás Deadle Mootoc Aalyss (DMA) éve szerepel a szakrodalomba, és azt feltételez, hogy a task-okhoz aszert redelük prortást, hogy mekkora a D határdeük. A módszer alkalmazásáál feltételezzük, hogy D T. A módszer perodkus task-ok mellett ú. sporadkus task-okra s alkalmazható. Perodkus task: smert és fx T perodusdővel ellemezhető. Sporadkus task: a kérések em perodkusak, de smert és fx egy olya T dőérték, am mmálsa eltelk két kérés között. Aperodkus task: a kérések em perodkusak, és cs egy olya smert és fx T dőérték, am mmálsa eltelk két kérés között, tehát egy kérést követőe azoal megelehet egy következő kérés. Értelemszerűe ebbe az esetbe a DMA módszer em alkalmazható. Fotos megegyez, hogy a DMA módszer em a válaszdőt, haem aak a lehető legkedvezőtleebb értékét ada meg. (Worst-case respose tme.) khp Példa: Egy 4 task-ot kszolgáló redszer adata a következők (az dők pl. ms-ba értedők): R T Task T C D A task-ok sorrede a prortás sorred. Ha a határdők megegyezek, akkor másodlagos szempotok alapá dötük a prortásról. A példába az első task számítás dee agyobb, ksebb a lazasága, ezért ogos lehet az előbbre sorolása. Határozzuk meg a 3-as task worst-case válaszdeét az teratív elárás segítségével! Az teratív elárás táblázatos formába: k C k 9

10 Megegyzések: Beágyazott formácós redszerek:. előadás, Lépés R I R * * * <5, tehát a 3-as task legkedvezőtleebb esetbe s telesít az előírt határdőt.. Vegyük észre, hogy a 4-es task adatat az elárás sorá em haszáltuk fel, a számításhoz felesleges volt megaduk. 3. Vegyük azt s észre, hogy task-okat egymástól függetleekek képzeltük el. Egymástól em függetle, azaz például egymással kommukáló, egymásak adatot továbbító task-ok esetébe előfordul(hat), hogy magasabb prortású task alacsoyabb által szolgáltatott adatra vár kéytele. Ez a várakozás dő értelemszerűe a mdekor és a worst-case válaszdeét egyarát módosíta foga. Ütemezhetőség, ütemezhetőség tesztek: - szükséges: em ütemezhető, ha a szükséges feltétel em telesül. - elégséges: bztosa ütemezhető, ha az elégséges feltétel telesül. - egzakt: szükséges és elégséges, és a teszt az ütemezés létezését s megmutata. Az egzakt ütemezhetőség tesztek komplextásuk alapá az NP-teles problémák osztályába tartozak, ezért számítástechkalag kezelhetetleek, ezekkel a továbbakba em foglalkozuk. Perodkus task-ok eseté a szükséges feltételek között elsőkét az ú. processzor-khaszáltság téyező említhető, am az dőegységre vetített processzor-dő géyek összege: Egyprocesszoros redszerbe, ha em telesül, akkor a task-ok em ütemezhetőek, tehát a szükséges feltétel. Ütemezés stratégák: Rate-mootoc (RM) (973): Perodkus, egymástól függetle task-ok esetére, akkor, ha D =T és C smert és kostas. A prortás hozzáredelés úgy törték, hogy a legagyobb prortást a legksebb peródusdeű task kapa. Az elárás preemptív. Feltételezzük, hogy a task-ok között átkapcsolás dee elhayagolható. Az RM algortmusra elégséges teszt adható. A megadott feltételek telesülése mellett, ha Earlest Deadle Frst (EDF) stratéga: Perodkus, egymástól függetle task-ok esetére, akkor, ha D T és C smert és kostas. A prortás hozzáredelés úgy törték, hogy futás közbe a processzort (és ezzel a legagyobb prortást) az a task kapa, amelykek legközelebb a határdee. Az elárás preemptív. Itt s feltételezzük, hogy a task-ok között átkapcsolás dee elhayagolható. Az EDF algortmusra elégséges teszt adható: A megadott feltételekek eleget tevő task együttes ütemezhető, ha, azaz a %-os processzor-khaszáltság elérhető. A működést az alább ábra llusztrála: C T C l ~.7, T telesül ( az ütemezedő task-ok száma), akkor bztos va ütemezés. Nagyobb processzor khaszáltság mellett s elképzelhető, hogy az RM stratégával ütemezhetőek a task-ok, de erre cse garaca. Véletleszerűe választott T és C eseté a szmulácók. 88 értékg skerrel ártak. Ha a peródusdők egy alapérték egész-számú többszöröse, akkor bzoyítható, hogy elérhető.

11 Beágyazott formácós redszerek:. előadás, p d p p d p p3 d3 p p4 d4 p p q p d q d p p d p p3 d3 p p4 d4 p r d r p q r d q d p p r d p r p3 d r d3 p p4 d4 p Az első sorba a p task perodkus kéréset, futásat (p ) és a kapcsolódó határdőket (d p ) láthatuk. A másodk sorba megelek a q task kérése a p futás alatt. Mvel q határdee korább, mt p-é, ezért q fut le előbb. A harmadk sorba az r task kérése és határdee látszk. A egyedk sor összegz a három task futását: q és p lefutása utá az r task fut, hsze cse az övéél korább határdeű. A p beeletkezéskor ő lesz a legkorább határdeű, tehát lefut, mad r futása folytatódk. A p3-as futás határdee később, mt r határdee, ezért először r futása feeződk be, mad határdő előtt lefut p3 s. Least Laxty Frst (LLF) stratéga: Az EDF-hez hasoló. Az alkalmazás feltételek azoosak, de a processzort (azaz a legagyobb prortást) em a legközelebb határdeű, haem a legksebb lazasággal (laxty-vel) redelkező task kapa meg. Ez a vzsgálat dőpotba a határdő és a még hátralévő számítás dő külöbsége. A megadott feltételekek eleget tevő task együttes ütemezhető, ha, azaz a %-os processzor-khaszáltság elérhető. Megegyzés: Az EDF és az LLF stratéga aperodkus task-ok eseté s alkalmazható, de mvel a processzorkhaszáltság téyező aperodkus taskok esetébe csak eltérő módo értelmezhető, ezért a fetekbe megadott elégséges feltétel em alkalmazható.

12 Beágyazott formácós redszerek:. gyakorlat, és Bevezetés (Az előadáso és az első gyakorlato elhagzottak folytatásakét) - Eseméyvezérelt (evet trggered, ET) és dővezérelt (tme trggered, TT) redszerek: Az eseméyvezérelt redszerek a kváltó eseméyek/kérések hatására haták végre az eseméyhez redelt programot. Ezzel a megközelítéssel kedvező válaszdők érhetőek el, de a közel egydeű eseméyek számáak övekedésével a redszer kapactása/átbocsátóképessége/telesítméye elégteleé válk, és ebből adódóa a határdők betartása ellehetetleül. Az dővezérelt redszerek esetébe mde megoldadó feladathoz tervezés dőbe egy külöálló dőszeletet redelük, ezáltal a feladat-végrehatás előzetese smert válaszdő mellett garatálható. Példa: Egy techológa folyamatot csomópot felügyel. Mdegyk csomópot 4 bárs elet (vészelzés, például határérték átlépés formácó) fgyel. A csomópot egymással buszo kommukál. Ugyade csatlakozk egy vészelző (alarm) egység. A buszo a elátvtel sebesség kbt/s. A vészelzések ms-e belül el kell uta az alarm egységhez. Alarm egység Csomópotok - Techológa. Eseméyvezérelt eset: ET/CAN protokoll szert. A legksebb átvhető üzeethossz a bát. A protokoll szabálya szert felépülő üzeet teles hossza: 44 bt overhead, bát üzeet, amt 4 bt ú. ermessage gap követ. Ez összese 56 bt. A kbt/s azt elet, hogy az előírt msec-e belül bt ut át. 56 btes üzeetekbe godolkodva /56 ~ 8 uthat át a specfkált határdő belül. Mvel 8 < 4, ezért egydeűleg valamey elzés átküldésére cse lehetőség, az átvtel csatora ~8 egydeű üzeet eseté telítődk.. Idővezérelt eset: TT/CAN protokoll szert. A csomópotok redszerese beküldk az állapotelző bteket az alarm egységek. Ez 4 btekét egy-egy üzeet beküldésével megoldható. A protokoll szabálya szert felépülő üzeet teles hossza: 44 bt overhead, 4 bt (5 bát) üzeet, amt 4 bt ú. ermessage gap követ. Ez összese 88 bt. A kbt/s azt elet, hogy az előírt msec-e belül bt ut át. 88 btes üzeetekbe godolkodva /88 ~ uthat át a specfkált határdő belül. Mvel >, ezért valamey állapotelző bt átut az alarm egységhez, ráadásul álladó, ~ %-os csatora khaszálás mellett. Csatora khaszáltság % ~% - ~6 ~8 Aktív vészelzések/ ms

13 Beágyazott formácós redszerek:. gyakorlat, és Megegyezés protokollok eletősége Példa: elektrokus fékvezérlés (brake-by-wre): Csomópotok duplkált fékpedál szezor Kommukácó A példa szert a bztoság érdekébe duplkált fékpedál szezort alkalmazuk. Az egyes kerekek fékehez öálló vezérlő csomópotok tartozak. A csomópotok egymást táékoztaták arról, hogy m az ő véleméyük a szezor értékéről, és kszámíták a fékerőt. Ha megsérül egy csomópot, akkor automatkusa szabadofutó lesz, lyekor cse fékhatás. A több három, amkor észlel, hogy egy kesett, automatkusa úraszámíta a fékerőt, és bztoságosa fékez. Elosztott redszerekbe sokféle kérdésbe szükséges futás deű megállapodás: dő szkrozácó, elosztott állapotok kozsztecáa, elosztott kölcsöös kzárás, elosztott trazakcós megállapodás, elosztott befeezés, elosztott választás, stb. Közös probléma, hogy hbák fellépése eseté s megállapodásra kellee ut. Ez em mdg skerül: Példa: Két hadsereg problémáa: A szövetséges A és B hadseregek együttese több katoáa va, mt az E elleségek, de egyekét kevesebb. Megállapodásra kell ut a támadás dőpotáról. Ehhez kommukál kell, például hírököt (H) külde, akt azoba elfoghat az E elleség, tehát a kommukácó em hbametes. A E B Ha A paracsoka H hírököt küld B paracsokáak, hogy holap délutá 4-kor támaduk, akkor a em hbametes csatora matt kell vsszagazolás. (Ettől függetleül az s lehetséges, hogy B paracsoka s küld hírököt más dőpot avaslattal.) A probléma ylvávaló: - Ha H em tér vssza A-hoz, m a koklúzó? - Ha H a vsszaúto esk fogságba, akkor B eldul adott valószíűséggel, de A em fog, mert em kapott vsszagazolást. - Ha H az odaúto esk fogságba, akkor A va veszélybe, ha egyedül cselekszk. - Ha H vssza s tér A-hoz, va valószíűsége, hogy B em támad, mert em tuda vsszaért-e a hírök. Ezt elkerüledő B elküldhet a saát hírökét A-hoz, aak elleőrzésére, hogy a vsszagazolás odaért-e. Ha úabb hírököket küldük, akkor ő aak valószíűsége, hogy a vsszagazolás átut, de ez em olda meg alapvetőe a problémát, mert mdg va véges valószíűsége, hogy a hírököt elfogák. Lehetetleség tétel (Impossblty Result): Formálsa bzoyítható, hogy em garatálható, hogy két vagy több elosztott egység megegyezésre/megállapodásra ut véges dő alatt egy aszkro kommukácós közege keresztül, ha a közeg veszteséges vagy valamelyk egység kesk. Amt tehetük: a megegyezés valószíűségét övelük. Megegyezés bzác típusú hbák eseté: 3

14 Beágyazott formácós redszerek:. gyakorlat, és 7... Példa: Órák szkrozálása: Az A óra 4.-t mutat, a B óra 4.5-t mutat, a C óra az A-ak 3.55-t, a B-ek 4.-et. Ezt a hbafatát evezzük bzác típusú hbáak. Ilyekor em ö létre a megállapodás, mert az A óra és a B óra s arra a megállapításra ut, hogy az általa mutatott érték a másk két óra által mutatott érték számta közepe, tehát cs dok megváltoztat. A bzác típusú hbás csomópot kszűrése akkor lehetséges, ha legalább 3k+ csomópot vesz részt a szkrozácóba, ahol a k a bzác típusú hbás csomópotok számát elöl. Esetükbe egy hbátlaul működő tovább óra-csomópot (D) szükséges a hbás csomópot kszűréséhez. Példa: A bzác geerálsok problémáa: Az alább ábrá látható elredezésbe 4 hadtest geerálsa megegyezésre törekszk az egyszerre harcba küldhető katoák számát lletőe, de meetközbe kderül, hogy az egyk geeráls hazudós ( szoftver hba ). Az elleségek 5 katoáa va. # #3 3 5 # #4 4 A (formáls) szövetségesek egymással hbametese kommukálak: mdek megküld a katoá számát. Az egyes csomópotokba az alább adatok állak redelkezésre: #: (K, K, xk, 4K), #: (K, K, yk, 4K), #3: (,,3,4), #4: (K, K, zk, 4K), ahol x, y, z a téylegestől külöböző, egymástól potecálsa eltérő érték, mert a #3 számú geeráls/csomópot hazudós (szoftver hbás). Nylvá ezzel a #, # és #4-es csomópotokba cseek tsztába, mdek csak az értékeket smer. Aak érdekébe, hogy az értékek helyes voltát elleőrz tudák, az formácós vektorakat körbeküldk a kommukácós csatoráko keresztül, amelyek az előzőek szert fogak vselked, tehát a hazudós csomópot a körbeküldött vektor-elemeket lletőe s hazudós. A körbeküldést követőe az egyes csomópotokba a következő formácó áll redelkezésre (ezer katoába): y 4 x 4 x 4 #: [ a b c d] #: [ e f g h] #4: [ z 4] z 4 z 4 k l Mdhárom em hazudós geeráls a három formácós vektor esetébe két helyről ugyaazt az formácót kapa, kvéve a #3-as geeráls esetébe. Következtetésük, hogy [ smeretle 4], azaz lesz legalább 7 ezer katoa, akre számíta lehet a támadásál.. Ütemezés Válaszdő számítás perodkus és sporadkus task-ok eseté: Példa: Egy 4 task-ot és egy megszakítást ( ) kszolgáló redszer adata a következők (az dők pl. ms-ba értedők): Task T C D.5 3 t t t t

15 Beágyazott formácós redszerek:. gyakorlat, és 7... Határozzuk meg a t 4 task worst-case válaszdeét az teratív elárás segítségével! Az teratív elárás táblázatos formába: Lépés R I R Látható, hogy.75<5, tehát a határdő mde esetbe telesül. Megegyzés: az smertetett DMA aalízs techkákat autógyárak tezíve haszálák worst-case válaszdő aalízs célából, hogy a terméket optmalzálák a szükséges órael frekvecák/sávszélességek és az ehhez kapcsolódó zavarérzékeységek csökketésével. (A Volvo már 995-től haszál lyet, legelőször a S8-as típusál.) Példa: A DMA aalízs egy módosított formáa haszálható em preemptív, azaz az éppe futó task-ot em megszakító működés eseté s. Erre példakét szolgálo a prortásos CAN bus válaszdő aalízse. A CAN (Cotrol Area Network, ISO 898, Bosch) buszo törtéő kommukácó ellegzetességet az alább ábra mutata be. Itt három üzeet továbbítását kell megoldauk prortásos redbe. Frame # Frame # Frame #3 Q C Q C Q C B I Q C Q C Q 3 C 3 arbtrácós potok Az ábrá látható szaggatott voalak az ú. arbtrácós potokat elölk az dőtegely meté. Ezekbe az dőpotokba törték aak vzsgálata, hogy melyk üzeet (frame) továbbítására kerül sor. A prortás sorred felülről csökkeő. Az egydeű kérések vzsgálatág mdhárom üzeet várakozk. A vzsgálatot követőe a frame# átvtelére kerül sor. C a kommukácó dee, megfeleltethető a számítás dőek azzal, hogy tt mde frame eseté ugyaaz az érték. Ezt követ a frame# átvtele. Közbe a magas prortáso úabb kérés érkezk, am a vzsgálatg várakozk, mad sor kerül az üzeet továbbítására. Más kérés em lévé ezt követ a frame#3 átvtele. Közbe az egydeű magas és közepes prortású kérés várakozk. A közepes prortás tte várakozása két részre botható: az egyk a B ú. blokkolódás, am alatt alacsoyabb prortású üzeet átvtele folyk, a másk az I ú. terfereca, am alatt magasabb prortású üzeet továbbítására kerül sor. Mdezek alapá a válaszdő számítása a következőképpe törték: R Q. C Q, ahol Q B Ck khp Tk B a leghosszabb üzeet-átvtel dő egy tetszőleges alacsoyabb prortású frame részéről. Az ábra alapá látható, hogy mvel tt s a legkedvezőtleebb esetet vzsgáluk, ezért a leghosszabb blokkolás dő két arbtrácó között eltelt dő lehet. Ez az az eset, amkor a kérés éppe az arbtrácót követőe érkezett. 5

16 Beágyazott formácós redszerek:. gyakorlat, és 7... Üzeet T [ms] C[ms] Az üzeetek perodkusak és prortásuk felülről csökkeő. A küldésükre voatkozó kérés érkezése aszkro, tehát tetszőleges kezdőfázssal érkezhetek. A 7. üzeet fékezéssel kapcsolatos formácót hordoz, ms alatt a redeltetés helyére kell kerülö. Az teratív elárás a várakozás dőre voatkozóa: Lépés Q I B Q Összeg A worst-case várakozás dő tehát 9.7 ms, amvel a worst-case válaszdő: 9.7ms+.35ms=3.5 ms. Ez ksebb, mt a megadott ms, tehát telesül a specfkált határdő. Megegyzés: az smertetett DMA aalízs techkákat autógyárak tezíve haszálák worst-case válaszdő aalízs célából, hogy a terméket optmalzálák a szükséges órael frekvecák/sávszélességek és az ehhez kapcsolódó zavarérzékeységek csökketésével. (A Volvo már 995-től haszál lyet, legelőször a S8-as típusál.) 6

17 . Ütemezés (folytatás) Beágyazott formácós redszerek: 3. előadás, Rate-mootoc (RM) (973): Perodkus, egymástól függetle task-ok esetére, akkor, ha D =T és C smert és kostas. A prortás hozzáredelés úgy törték, hogy a legagyobb prortást a legksebb peródusdeű task kapa. Az elárás preemptív. Feltételezzük, hogy a task-ok között átkapcsolás dee elhayagolható. Az RM algortmusra elégséges teszt adható. A megadott feltételek telesülése mellett, ha C l ~.7, T telesül ( az ütemezedő task-ok száma), akkor bztos va ütemezés. Nagyobb processzor khaszáltság mellett s elképzelhető, hogy az RM stratégával ütemezhetőek a task-ok, de erre cse garaca. Véletleszerűe választott T és C eseté a szmulácók. 88 értékg skerrel ártak. Ha a peródusdők egy alapérték egész-számú többszöröse, akkor bzoyítható, hogy elérhető. Példa: A példa azt llusztrála, hogy mlye peródusdő és számítás dő vszoyok eseté utuk el az ütemezhetőség határára. Ha =, akkor T T C T, T, C T T T T, akkor C T T T C választással: T, akkor. T T T, lletve tetszőleges eseté, ha Egy két task-ból álló redszer eseté legye T, C 4, T 4, C 59, md ms dmezóú. A 4 59 processzor-khaszáltság téyező , azaz léyegébe a képlettel kapható 4 érték. Az ütemezés dővszoya egydeű kezdést feltételezve: Látható, hogy a számítás dők mmáls övelése eseté az ütemezés az RM stratéga eseté ellehetetleül. Ugyaakkor 4 és 8 között cse ütemezhető feladat, tehát a processzor-khaszáltság em övelhető. Megegyzés:. Az RM elárás alkalmazása eseté a legkedvezőtleebb esetet a task-ok duláskor egydeű kezdése elet. Azt moduk, hogy lyekor a kezdőfázs ulla. Nullától külöböző kezdőfázs ütemezhetőség szempotból kedvező.. Az RM elárás alkalmazása eseté, ha csak a szükséges feltétel telesül, az elégséges em, akkor az ütemezhetőség vzsgálatot a peródusdők legksebb közös többszörösére kell elvégez. Példa: Ütemezhető-e RM algortmussal az a 8 task-ból álló redszer, amelyél a peródusdők redre,, 3, 4, 5, 6, 7, 8, a számítás dő pedg redre,, 3, 4, 5, 6, 7, 8? Mvel , és.8, ezért első beyomásuk az lehet, hogy az elégséges feltétel em telesül, ezért cse garaca az 7

18 Beágyazott formácós redszerek: 3. előadás, ütemezhetőségre. De ha észrevesszük, hogy a peródusdő egészszámú többszörösök, amkor mellett s garatált az ütemezés, akkor a kérdésre egyértelmű geel válaszoluk. Ha vszot a peródusdők redre,, 3, 43, 54, 65, 76, 87, a számítás dők pedg redre,., 3., 4.3, 5.4, 6.5, 7.6, 8.7, amkor. 8 éppe úgy, mt az előző esetbe, akkor már csak az általáos esetre voatkozó elégséges feltétel alapá tuduk válaszol. Az ütemezhetőségről ebbe a másodk esetbe előzetese csak ayt tuduk moda, hogy lehet, hogy ge, de lehet, hogy em. Megegyzés: Az előzetese kértékelhető tesztek eletőségét alátámaszta az a téy, hogy egyértelmű teszteredméy háyába a vzsgálatot a peródusdők legksebb közös többszörösére kell elvégez, am a megadott értékek eseté gecsak agy szám. Earlest Deadle Frst (EDF) stratéga: Perodkus, egymástól függetle task-ok esetére, akkor, ha D T és C smert és kostas. A prortás hozzáredelés úgy törték, hogy futás közbe a processzort (és ezzel a legagyobb prortást) az a task kapa, amelykek legközelebb a határdee. Az elárás preemptív. Itt s feltételezzük, hogy a task-ok között átkapcsolás dee elhayagolható. Az EDF algortmusra elégséges teszt adható: A megadott feltételekek eleget tevő task együttes ütemezhető, ha, azaz a %-os processzor-khaszáltság elérhető. A működést az alább ábra llusztrála: p d p p d p p3 d3 p p4 d4 p p q p d q d p p d p p3 d3 p p4 d4 p r d r p q r d q d p p r d p r p3 d r d3 p p4 d4 p Az első sorba a p task perodkus kéréset, futásat (p ) és a kapcsolódó határdőket (d p ) láthatuk. A másodk sorba megelek a q task kérése a p futás alatt. Mvel q határdee korább, mt p-é, ezért q fut le előbb. A harmadk sorba az r task kérése és határdee látszk. A egyedk sor összegz a három task futását: q és p lefutása utá az r task fut, hsze cse az övéél korább határdeű. A p beeletkezéskor ő lesz a legkorább határdeű, tehát lefut, mad r futása folytatódk. A p3-as futás határdee később, mt r határdee, ezért először r futása feeződk be, mad határdő előtt lefut p3 s. Least Laxty Frst (LLF) stratéga: Az EDF-hez hasoló. Az alkalmazás feltételek azoosak, de a processzort (azaz a legagyobb prortást) em a legközelebb határdeű, haem a legksebb lazasággal (laxty-vel) redelkező task kapa meg. Ez a vzsgálat dőpotba a határdő és a még hátralévő számítás dő külöbsége. A megadott feltételekek eleget tevő task együttes ütemezhető, ha, azaz a %-os processzor-khaszáltság elérhető. Megegyzés: Az EDF és az LLF stratéga aperodkus task-ok eseté s alkalmazható, de mvel a processzorkhaszáltság téyező aperodkus taskok esetébe csak eltérő módo értelmezhető, ezért a fetekbe megadott elégséges feltétel em alkalmazható. 8

19 Beágyazott formácós redszerek: 3. előadás, Példa: Az RM és az EDF algortmusok összehasolítása. Két task-uk va. A peródus deük és a határdeük megegyezk. T =5 ms, C = ms, T =7 ms, C =4 ms. A processzor-khaszáltság téyező: A szükséges feltétel az ütemezhetőséghez telesül, de az elégségesség csak az EDF eseté. Iduláskor egydeű kérést feltételezve a RM elárás, az EDF elárás és a LLF elárás: RM EDF LLF Látható, hogy a RM elárás esetébe a másodk task 7 ms-ál lekés a határdőt, az EDF és az LLF elárással pedg ütemezhetőek leszek a task-ok. Md az EDF, md az LLF elárásál természetese adódó szabály, hogy azoos határdő, ll. laxty eseté a kevesebb task-váltást eredméyező választással élük. A task váltások ugyas processzor-dőt veszek géybe, hsze az éppe futó task futtatás köryezetét (regsztertartalmak) mete kell a task-hoz redelt, és a memórába található Task Cotrol Bock-ba (TCB), míg váltás keretébe a futtatadó task futás köryezetét pedg a memórából a processzor regszterebe kell tölte. A regszterek feltöltésére, ll. tartalmuk kmásolására a processzorok általába redelkezek gyors mechazmusokkal, de értelemszerűe ezekek s va dőgéyük. Az EDF ütemezhetőség bzoyítása A bzoyítást perodkus task-ok és D =T esetére mutatuk be. Az állítás a következő: egy perodkus taskkészlet EDF-fel akkor és csak akkor ütemezhető, ha C. T A bzoyítás: csak akkor rész: Azt mutatuk meg, hogy esetébe a task-készlet em ütemezhető. Ehhez defáluk a T TT... T dőtartamot, azaz a peródusdők közös többszörösét. Ez alatt az dő alatt a task-ok által géyelt processzor dő a következőképpe számítható: T C T. T Ha, akkor az géyelt processzordő meghalada a hozzáférhető processzor-dőt, tehát a taskkészlethez em létezk ütemezés. A bzoyítás: ha rész: Az elégségességet elletmodással bzoyítuk. Tegyük fel, hogy, de a taskkészlet mégsem ütemezhető. A bzoyítás godolatmeetéek megértését az alább ábra segít. 9

20 Beágyazott formácós redszerek: 3. előadás, task task k task túllépés határdő túllépés task m t t Az ábrá perodkus task-ok ütemezését látuk EDF stratéga szert. Ha feltételezésük szert a taskkészlet em ütemezhető, akkor kell legye olya task, amelyk lekés a határdőt. Legye t az az dőpot, amkor a határdő túllépés bekövetkezk, és [t,t ] pedg a leghosszabb folyamatos processzor-haszálat a határdő-túllépés előtt úgy, hogy a [t,t ]-be csak t előtt vagy azzal egyező határdeű kérések végrehatására került sor. t valamelyk perodkus kéréssel egybeeső dőpot. Legye C P (t,t ) a perodkus task-ok által a [t,t ]-be kért teles számítás dő, am a következő módo számítható: t t CPt, t Ck C, T ahol r t, d t k k... az alsó-egészt kelölő függvéy. (Vegyük észre, hogy a legfelső sorba a harmadk kérés telesítésére az algortmus szabálya szert em kerül sor, ezért helytálló az alsó-egész hozzáredelés.) Ha ezt maoráluk az alábbak szert: t t t t CPt, t Ck C C t t, T T r t, d k k t akkor, mvel t -be túlléptük a határdőt, a C P (t,t ) dőek agyobbak kell lee, mt a redelkezésre álló processzor-dő, azaz (t -t ). Ezzel ( t t) CP( t, t) t t, amből következk, am pedg elletmodás, vagys a kduláskor megfogalmazott állítás hams. Perodkus és aperodkus task-ok együttes kezelése: elsősorba keméy valós deű (keméy határdeű) redszerekre kocetráluk, de a puha valós deű (puha határdeű) redszerek ütemezését s kezelük. Keméy és puha határdeű taskok együttes kezeléséél két szabály alkalmazására kerül sor:. szabály: Mde task ütemezhető kell legye átlagos végrehatás és érkezés dő feltételezésével.. szabály: Mde keméy határdeű (keméy valós deű) task ütemezhető kell legye valamey task legkedvezőtleebb végrehatás (worst-case executo) és érkezés (worst-case arrval) deéek feltételezése mellett. Az alábbakba smertetett módszerek esetébe a következő előzetes feltételezésekkel élük:. A perodkus task-ok ütemezése RM algortmus szert törték.. A perodkus task-ok egydeűleg (ulla kezdőfázssal) dulak és D =T. 3. Az aperodkus kérések érkezés dee smeretle. 4. Sporadkus task-ok eseté D =T. A háttérbe ütemezés (Backgroud Schedulg) módszere:

21 Beágyazott formácós redszerek: 3. előadás, Perodkus task-ok Magas prortású sorba állás Aperodkus task-ok RM FCFS CPU Alacsoy prortású sorba állás A módszer előye egyszerűsége, hátráya pedg az, hogy az aperodkus taks-ok válaszdee agyo agy lehet. (FCFS=Frst-Come-Frst-Served.) Ha az aperodkus task-ok eseté a válaszdő krtkus, akkor az ú. server-módszerek alkalmazása obb eredméyt adhatak. A server-módszer az aperodkus task-ok végrehatásához szeparálta bztosít processzor dőt. Eek eszköze a server-task, amelyet a perodkus task-okkal együtt ütemezük. Pollg Server (PS): Az aperodkus kérések telesítése külö ú. szerver task (S) segítségével, a szerver kapactás (T S,C S ) terhére, függetle ütemezés stratégával törték. Ha cse aperodkus kérés, amkor a szerver futására sor kerülhete, akkor a PS felfüggeszt magát, kapactása em őrződk meg. Példa: Legye T S =5, C S =. Az eze kívül ütemezedő task-ok adatat az alább táblázat tartalmazza: C T 4 6 A szerver task (RM szert) a középső prortásra kerül. A task-ok egydeű dítását, azaz azoos kezdőfázst feltételezve az ütemezés a következőképpe alakul: aper. kérések () () () () S Látható, hogy a legkedvezőtleebb esetbe az aperodkus kérések telesítésére a magasabb prortású taskok által okozott terferecát em számítva csak egy teles szerver task peródus elteltével kerül sor. Deferrable Server (DS): Az aperodkus kérések telesítése külö ú. szerver task (S) segítségével, a szerver kapactás (T S,C S ) terhére, függetle ütemezés stratégával törték. Ha cse aperodkus kérés, amkor a szerver futására sor kerülhete, akkor a DS task futása halasztódk, kapactását a peródus végég megőrz. Ezzel a módszerrel az aperodkus task-okra sokkal obb válaszdők érhetők el. Példa: Az előző példa adataval, és futtatás feltételevel az ütemezés a következőképpe alakul:

22 Beágyazott formácós redszerek: 3. előadás, aper. kérések () () () () S Látható, hogy a szerver task prortás sztétől s függőe az aperodkus kérések telesítése léyegese obb válaszdők mellett törték. (A példába a szerver task ütemezése az előzővel azoos módo, RM stratégával törtét.)

23 . Ütemezés (folytatás) Beágyazott formácós redszerek: 4. előadás, Prorty Exchage Server (PE): Olya, mt a DS, magas prortáso futó szervert haszál, de másképpe őrz a kapactást: alacsoyabb prortású perodkus task kapactásával cserél k. Példa: Legye T S =5, C S =. Az eze kívül ütemezedő task-ok adatat az alább táblázat tartalmazza: C T 4 8 A szerver task (RM szert) a legmagasabb prortásra kerül. Vegyük észre, hogy a processzor khaszáltság 4 8 téyező:. A task-ok egydeű dítását, azaz azoos kezdőfázst feltételezve az ütemezés 5 a következőképpe alakul: aper. kérések () () S megmaradt kapactás Mvel cse előzetese aperodkus kérés, az első ütembe megeleő szerver kapactást felhaszála a task. Eek következtébe task korábba dulhat, vagys a szerver kapactás de kerül. A másodk ütembe megeleő szerver kapactást közvetleül felhaszáluk. A harmadk ütembe megeleő szerver kapactást a task haszála fel, amt a másodk aperodkus kérés kszolgálására vsszacserél. A egyedk ütembe érkező szerver kapactást a task haszosíta. Ezzel együtt kétperódusy szerver kapactás halmozódk fel a végrehatásáál, am mozgósítható lee, ha lee tovább aperodkus kérés. Példa: Legye T S =5, C S =. Az eze kívül ütemezedő task-ok adatat az alább táblázat tartalmazza: C T A szerver task (RM szert) a legmagasabb prortásra kerül. Vegyük észre, hogy a processzor khaszáltság téyező:. A task-ok egydeű dítását, azaz azoos kezdőfázst feltételezve az ütemezés 5 a következőképpe alakul: 3

24 Beágyazott formácós redszerek: 4. előadás, aper. kérések () () megmaradt kapactás S Az ábrá yomo követhetük a szerver kapactások felhaszálásáak módozatat, és azt s megfgyelhetük, a kapactás másk task-hoz törtéő áthelyezése azzal s ár, hogy az áthelyezett kapactás a befogadó task prortásá haszálható fel. Lásd: a. dőpllaatba kért dőegységy dő első fele a task-ál lelhető fel, a másodk fele pedg a task-ál. Az első fél futását követőe a task fut tovább, mad csak aak lefutása utá áll redelkezésre a task prortásá elérhető másodk fél. Itt egy peródusy szerver kapactás halmozódk fel a végrehatásáál, am mozgósítható lee, ha lee tovább aperodkus kérés. Sporadc Server (SS): Olya, mt a DS, megőrz kapactását, de másképpe tölt vssza: em a peródus eleé, haem a felhaszálást követőe. A felhaszálás kezdetétől egy szerver task peródusyra elek meg a szerver kapactás. Példa: Legye T S =8, C S =. Az eze kívül ütemezedő task-ok adatat az alább táblázat tartalmazza: C T A szerver task (RM szert) a legmagasabb prortásra kerül. A task-ok egydeű dítását, azaz azoos kezdőfázst feltételezve az ütemezés a következőképpe alakul: aper. kérések () () vsszatöltés S

25 Beágyazott formácós redszerek: 4. előadás, Slack stealg: Az egyes task-ok végrehatása között fellelhető szabaddőt, lazaságot haszáluk fel. Sokkal obb válaszdőt ad, mt a DS, a PE vagy a SS elárás. A számítás, megvalósítás komplextást, és a memóragéyt lletőe a legkább ráfordítás géyes elárás. Példa: A ormál ütemezés RM szert: C T Aperodkus kérés érkezését követőe kszámításra kerül, hogy mey tartalék/ lazaság va a redszerbe, és azt megkapa az aperodkus task a legagyobb prortással az alábbak szert: aper. kérés (3) Dual Prorty Schedulg: Három prortás szt va: alacsoy, közepes és magas. Kezdetbe a keméy valós deű task-ok az alacsoy prortáso futak. A puha valós deű task-ok és az aperodkus task-ok a közepes prortás sztre kerülek. A keméy valós deű taskok a határdő előtt X D R, ú. promócós dővel átkerülek a magas prortásra, hogy a határdőt be tudák tarta. ( R B C I ). Az alacsoy, közepes és magas sztek értelemszerűe ömaguko belül tovább prortás sztekre bothatók. Megegyzés: A fetekbe bemutatott szerver megoldások redre a RM ütemezés stratégát követve működek. Hasoló megoldások származtathatóak az EDF ütemezés stratégára alapozva, de ezek bemutatásától tt eltektük. Míg az előzőeket fx prortású, az utóbbakat damkus prortású szerverekek evezzük. Ütemezhetőség D <T esetbe: Az eddg vzsgálatok és állítások szte kvétel élkül a D =T esethez tartoztak. Ha a határdő ksebb, mt a peródusdő, akkor a prortás hozzáredelés törtéhet a határdők alapá. Eek ellegzetes formáa a Deadle Mootoc (DM) algortmus. Ehhez természetese a C D 5

26 Beágyazott formácós redszerek: 4. előadás, elégséges ütemezhetőség feltétel, de em szükséges, pesszmsztkus. Kevésbé pesszmsztkus, ha egydeű dítást feltételezve (mvel a processzor géy szempotából ez a legkedvezőtleebb) mde task-ra D megvzsgáluk a C I D feltétel telesülését. Itt I Ck. Ez a feltétel s elégséges, de em T szükséges. A szükséges és elégséges feltételt a már korábba megtárgyalt válaszdő kfeezés telesülése ada: R R C I C Ck D. khp T k Ha az EDF algortmust D <T mellett haszáluk, akkor közvetleül a processzor khaszáltság téyezőt em tuduk haszál. Helyette az ú. processzor-géy módszer (processor demad approach) aálható. Ezt először a D =T esetre mutatuk be. Általába egy tetszőleges [t, t + L] tervallumba egy task processzor géye a t+l dőpotg vagy azt megelőzőe befeezedő feladatokhoz szükséges processzor dő. Olya perodkus task-ok esetébe, amelyek t= dőpotba kezdeek fut, és amelyekre D = T, tetszőleges [, L] tervallumba a teles processzor dő L Cp(, L) Ck. T Állítás: Egy perodkus task-készlet akkor és csak akkor ütemezhető EDF algortmussal, ha mde L > esetébe L L Ck. (*) T k C L L Bzoyítás: Egyrészt, mvel, ezért L L Ck Ck T k T. Másrészt, ha, k k Tk akkor va olya L >, amelyre (*) em áll fet, ugyas például L-et a T, T,, T legksebb közös L L többszörösére választva: L L C k Ck k T. k k Tk Ha D < T, akkor a C p (, L) számítása a fetektől eltérő módo törték. Ehhez tektsük a következő ábrá két task esetét, melyek az egyszerűség kedvéért legyeek azoos perodctásúak, de eltérő határdeűek: k k k k k L-D D D L-D L Az ábra alapá a task processzor dő géye, fgyelembe véve, hogy a harmadk peródus határdee már L kívül esk az L hosszúságú tervallumo a C (, L) C T összefüggéssel adható meg, míg ugyaez a L task esetébe C(, L) C T összefüggéssel adható meg, mert tt a harmadk peródus határdee az 6

27 damkus prortás Beágyazott formácós redszerek: 4. előadás, L hosszúságú tervallumo belül esk. Az ábra segítségével köye belátható, hogy a két eset együtt kezelhető, ha a következő módo számoluk: L D C (, L) C T. Eek felhaszálásával: Állítás: Egy perodkus task-készlet akkor és csak akkor ütemezhető az EDF algortmussal, ha mde L > eseté L D k L Ck k T. k Összefoglalva: D =T D <T statkus RM Processzor khaszáltság megközelítés DM Válaszdő megközelítés prortás R re R C Ck D khp T k EDF EDF Processzor khaszáltság megközelítés Processzor-géy megközelítés L D k L L Ck k T k Kegészítések a válaszdő képletéhez:. Kooperatív ütemezés: A task futásáak adott potá szempot lehet a task futás melőbb befeezése. Eek eszköze a preempcó/futás megszakítás tltása a task futásáak a végég. Ha eek dőtartama F, akkor a válaszdő R =R +F formába írható, ahol ' ' R R B C F Ck. T khp Ilyekor az utolsó szakasz, ha fut, akkor a legmagasabb prortáso fut.. Hbatűrés: excepto hadler, recovery block, általába többletfutást géylő hbakezelés: számítás dő mde task esetébe. Egyetle hbára: R R f B C Ck max Ck. T khp k k khep f C extra Mvel em tuduk, hogy a vzsgált és a magasabb prortású task-ok melyke hbásodk meg, ezért a leghosszabb futás deű hbakezelő programot választuk. (hep=hgher or equal prorty) F hbára: R f R B C Ck max FCk. khp T k khep Ha T f elöl két hba előfordulás között legrövdebb dőt (ter arrval tme): R R f R B C Ck max Ck. khp Tk khep T f 3. Az óra hadler és az átkapcsolások többletdő-géye: 7

28 Beágyazott formácós redszerek: 4. előadás, Az ütemező sok esetbe óra terrupt-ra dul (tck schedulg), lyekor a kérés beérkezése és az óraütés között eltelt dővel a válaszdő megöveledő. Ha a beérkezés dőpota külö em mérhető, akkor két óraütés között eltelt dővel öveledő a válaszdő: ez a legrosszabb eset. - Ha az ütemező egy task-ot futó állapotba helyez, akkor először a processzor regszterebe lévő tartalmakat mete kell, mad a processzor regszterebe bele kell ír a task futtatás köryezetét megadó értékeket, és csak utáa futtatható a kód. A válaszdő tehát öveledő a task köryezet kapcsolás (cotext swtch) deével. A task futását megszakító magasabb prortású taskok futtatásakor s válta kell a futtatás köryezetet, ezért a magasabb prortású task-ok számítás deéhez hozzá kell ad átkapcsolás és a vsszakapcsolás dőgéyét. Ütemezés em függetle task-ok eseté Az ú. tme-sharg redszerek kvételével, ahol egymástól függetle felhaszálók osztozak a számítógép processzor kapactásá, az alkalmazások túlyomó többsége azzal ellemezhető, hogy a task-ok futása egymástól em telese függetle, a task-ok egymással kommukálak, egymással adatot cserélek, egymás számítás eredméyere várak, közös erőforrást haszálak, ezért előfordulhat, hogy magasabb prortású futását alacsoyabb prortású akadályozza (blokkola). Idézzük fel egy korább óra prortásos ütemezést llusztráló ábráát! Ha a vázolt sztuácóba a L task olya erőforrást haszál, amt később a H task s haszál szerete, akkor előfordulhat, hogy várakoza kell mdaddg, amíg az erőforrás úból szabaddá em válk. H M L Ezt llusztrála a következő ábra: H S M L S S Az ábrá látható, hogy az L task az S szemaforral védett közös erőforrás haszálatába kezd (a szemafort foglaltra / prosra állíta, ú. krtkus szakaszba lép), de az M task a futását megszakíta. Az M task futása a H task kéréséek megérkezése utá megszakad, mad a H fut, de szereté haszál az L task által haszálatba vett közös erőforrást. Mvel az em lehetséges addg, amíg az L a közös erőforráso elvégzedő műveletekkel em végez, ezért futása megszakad, azt moduk, hogy blokkolódk. A blokkolódás addg tart, amíg L úra sorra em kerül, és fel em szabadíta a közös erőforrást (az S szemafor szabadra / zöldre állításával). Látható, hogy a H task végrehatása eletős késedelmet szevedhet, mert az L task csak azutá ut processzorhoz, mutá az M lefut. A eleséget prortás verzóak evezzük, mert látszólag az M és a H taskok prortása felcserélődek. A prortás öröklés algortmus (Prorty Ihertace Protocol, PIP): 8

29 Beágyazott formácós redszerek: 4. előadás, A prortás verzó elkerülése úgy lehetséges, hogy a H task krtkus szakaszba lépés szádékáak megeleésekor az L task degleese megörökl a H task prortását (damkus prortás), hogy melőbb feezze be a krtkus szakaszbel teedőt, mad ezt követőe vsszatér az eredet (statkus) prortás red. Ilyekor a futás a következőképpe alakul: H S M L S S Látható, hogy a H task válaszdee léyegese csökke, a blokkolás dő a legkedvezőtleebb esetbe az L task krtkus szakaszba töltött deével egyelő. A blokkolás dő (B ) fgyelembevétele válaszdő számításál: R C B I C B khp R C k T Megegyzés: Több közös erőforrás/krtkus szakasz egydeű működtetéséél felmerülhet a holtpot (deadlock) problémáa, azaz a kölcsöös egymásra várás esete, am a szemaforok kokrét mplemetácóától függőe a program lefagyását s eredméyezhet. A prortás öröklés algortmus több erőforrás eseté kegészítésre/módosításra szorul, amt a következő ábra llusztrál: k H S S M L S S Az L task az S szemaforral védett krtkus szakaszba kerül. Az L task a krtkus szakaszo belül egy tovább, az S szemaforral védett erőforráshoz fog fordul. Ezt az erőforrást a H task az ábrá látható dővszoyok mellett ugyacsak haszála. Amkor a H task az S szemaforral védett erőforráshoz fordul, akkor blokkolód kéyszerül: az L taskak - örökölve a H prortást - előbb be kell feeze a krtkus szakaszba lévő kódrészéek futtatását. Azoba az S szemaforhoz fordulva kalakul az egymásra várás, az ú. holtpot (deadlock). Eek megakadályozására dolgozták k a prortás felső-határ/plafo (celg) protokollokat. 9

30 Beágyazott formácós redszerek: 3. gyakorlat, és Memóra meedzsmet A em függetle task-ok ütemezés kérdése kapcsá szembesültük az erőforrások kezeléséek éháy problémáával. Ebbe a feezetbe az erőforrások közül a memórára voatkozó éháy kérdést tárgyaluk a beágyazott redszerek szempotából. Előre bocsátva: a beágyazott redszerek eletős részéél em számíthatuk arra, hogy az eszköz dőről-dőre alaphelyzetbe kerül (reset-elődk), és a programfutások káros mellékhatása ezzel elmálódak. Ezért mde esetbe úgy kell tervezük, hogy az alkalmazás futásával párhuzamosa az erőforrások telesítőképessége e degradálódo. - Statkus memóra allokácó: mde fxe kosztva. Előy: egy csomó hbaforrás kzárva. Vszot em alkalmazható rekurzó és semm olyasm, am az úrahívhatóságot géyl. - Verem (stack) alapú meedzsmet: Sok program esetébe fordítás dőbe em modható meg a szükséges stack méret. Nem tuduk ugyas, hogy például (közel) egy dőbe háy megszakításkszolgálás válk szükségessé. Ilyekor tesztelés szükséges. Ehhez adott mtával fel kell tölte az előre beállított méretű stack területet, mad a teszt-futtatás utá rákeres, hogy a program meddg haszálta, azaz meddg írta felül a betöltött mtázatot. Ez az ú. watermark meghatározás. Sok RTOS támogata. Az elleőrzést célszerű lehet összeköt a watchdog tmer dításával. Ökölszabály: a stack méretét 5%- kal agyobbra kell választa, mt a tesztelések sorá tapasztalt legagyobb (worst case) géy. - Halom (heap) alapú meedzsmet: A C a malloc( ) és free( ) függvéyekkel kezel, am a programozóra agy felelősséget hárít. Az egyk legehezebb probléma, amelyet az alkalmazó program szté em s lehet kezel, a memóra feldarabolódás/tördelődés problémáa (fragmetato). Ez azáltal ö létre, hogy a felszabadított blokkokál ksebbek kérése eseté olya (kcs) memóra darabok maradak, amelyek sosem kerülek felhaszálásra. Ilyekor egyrészt cs garaca arra, hogy em fogy el a memóra a töredék darabok matt, másrészt a ylvátartott szabad memóradarabok száma ő, amek következtébe ő a memóra-keresés végrehatás dee. A másk probléma a memóra zárváy (vagy más szóval elfolyás (leakage)), amely a következők matt öhet létre: a kódolás egy adott potá a programozó elbzoytalaodhat, vao egy adott memóra blokkra szükség va-e még? Ha felszabadíta, de továbbra s haszála, például egy, az ugyaarra a blokkra mutató másodk poter segítségével, akkor a program ól működhet mdaddg, amíg az adott memóra területet a program egy másk része le em foglala. Ezt követőe a program két része felül foga ír egymás adatat. Ha em szabadíta fel, például azo az alapo, hogy még szükség lehet rá, akkor előfordulhat, hogy soha többet em lesz rá lehetősége, mert a rámutató poterek dőközbe érvéyüket veszítették, vagy másra haszálta fel őket. Ettől maga program még ó marad, de ha redszerese meghívuk ezt a program-részletet, akkor a zárváyok száma álladóa ő fog, amek következtébe a program futás dee megő. 3

31 Beágyazott formácós redszerek: 3. gyakorlat, és Az ábrá az első byte foglalása és aak admsztrálása látható. (Ezt és a következő ábrát Nall Murphy (Paelsoft): Memory Maagemet c. előadása tartalmazza, am több helye, így például az Embedded Systems Coferece Europe -e hagzott el.) Az ábra bal oldalá, 5 és 8 byte foglalása és aak admsztrálása látható. Az ábra obb oldalá a 5 byte-os blokk felszabadítása és aak következméye láthatók. Példa: UNIX alkalmazásokba mérték, hogy az allokácók 9%-ába 6-féle méret, 99.9%-ába pedg 4- féle méret fordult elő. Beágyazott redszerekbe cseek fle-ok, kevés a szöveg-kezelés, valószíűleg eél obb a helyzet. Példák felszabadítás stratégákra: () a felszabadított tartomáy címe a Free Lst eleére teedő, ezáltal a végrehatás dő rögzített hosszúságú lesz. () a felszabadított tartomáyokat cím szert sorredbe állíta - a végrehatás dő lyekor a lsta hosszával változk. Redezett lstákba a felszabadított blokkok gyorsabba összevohatók - am segít a feldarabolódás elkerülésébe. Példák foglalás stratégákra: () frst ft (gyors), () best ft (kmerítő keresés) Megegyzés: Az dő múlásával md a felszabadításál, md a foglalásál a () szert változat futás dee ő: egy dő utá már szte csak ez fut. Koklúzó: Nagy megbízhatóság eseté beágyazott redszerekbe em haszálható a heap alapú meedzsmet. UNIX alkalmazásokba, körültektő tervezés eseté, a töredezés csak % sztű veszteséget elet a tapasztaltok szert, de cs gazá garaca. Javaslat: korlátozott heap haszálat: statkus allokácó: () csak az calzáláskor haszáluk a malloc( ) függvéyt és cs felszabadítás. () célszerű saát programot ír: ezzel a blokk header elkerülhető (pl. salloc( ) függvéy (statkus allokácó)). (3) az calzálást követőe a salloc( ) tltva va. Javaslat: damkus allokácó, de fx blokk mérettel. (partícókak s evezk). - Multtaskg: Mde task-ak saát stack-e kell legye, heap lehet saát, vagy em saát függetleül attól, hogy statkus, partícó ellegű, vagy általáos allokácós módszert haszáltuk. () ha mde taskak saát heap-e va, akkor a méretbeállítás problémás. () ha közös a heap, akkor a hozzáférésél bztosítadó a kölcsöös kzárás. (3) ha közös a heap, akkor lehetséges, hogy az egyk task által foglalt memórát a máskak kell felszabadítaa. (4) ha a taskok között memóra tartalmakat mozgatuk, akkor 3

32 Beágyazott formácós redszerek: 3. gyakorlat, és ó tud, hogy aktuálsa melyk task brtokola a memórát. (4) közös heap eseté s avasolható a taskokét statsztka készítése a redszer működéséek obb megértése érdekébe. - Átvett köyvtárak memóra haszálata: Problémák: () memórát a köyvtár programak kell foglala. () memórát felszabadíta az alkalmazás tud. (3) a köyvtár programhoz s redelhetük statkus memórát, de lyekor em lesz úrahívható, bár ez sokszor kell. (4) mdezekre a köyvtár íróáak kellee godola: esetleg saát köyvtár rutok felkíálása a memóra felszabadítására (ú. Pluggable memory maagemet). - Automatkus szemétgyűtés: (automatc garbage collecto): a Java, LISP, Smalltalk yelvekbe va lye. Két alapvető mechazmus: () a poterek obektumkét megszütethetk magukat, ha cs ráuk szükség. () az egész memórát átézzük, hogy va-e az adott memóra blokkra hvatkozó poter bee. Ha cs, akkor a blokk felszabadítható. Megegyzés: a C++-ba létrehozható ú. smart poter, amely segít a szemétgyűtés megvalósítását. 4. Időmérés, dőszolgáltatás, óra-szkrozácó Időmérés eszköze és módszere: () Időmérés elektrokus számlálóval: Precíz órageerátor eléek számlálása a megméredő deg az alább ábra szert: Órael f SZÁMLÁLÓ KIJELZŐ Forrás T x A forrás által geerált ú. kapudő maga a méredő dőtartam. A mérés kezdetekor ullázott számláló a N kapudő alatt beérkezett mpulzusokat számlála. T x, ahol N a számláló tartalma, f o pedg az órael frekveca. A közelítő egyelőség arra utal, hogy N mdg egész, míg T x f em feltétleül az. Ebből fakad a mérés ú. kvatálás hbáa. A mérés elvbe s csak legfelebb akkor potos, ha T x az f egészszámú többszöröse. Az dőmérés (worst-case) relatív hbáa az alább összefüggéssel adható meg: T T x x f N azaz a potos méréshez potos és a méredő dőhöz képest agy frekvecáú óra szükséges, hogy N értéke kellőe agy legye. Ezt az összefüggést a teles dfferecál felírásából kdulva származtatuk: Tx Tx N N dtx dn df dtx dn df dn df, amt elosztva T x -szel értéket kapuk N f f f f Tx N f dfferecáls megváltozások esetére. Természetese N csak dszkrét értékeket vehet fel, ezért megváltozása csak egészszámú többszöröse lehet. Bár a képlet szert N és f relatív megváltozása egymást kompezáló hatású tud le, mvel a megváltozások előelét em smerük, ezért legtöbbször a relatív megváltozások abszolút értékét íruk fel a legkedvezőtleebb esetre. () Kettős óuszos dőmérés: A méredő dőtartam kezdete és vége egy-egy T ( ) peródusdeű, kvarcpotosságú órát dít. f f, 3

33 Beágyazott formácós redszerek: 3. gyakorlat, és N T N T (+δ) N T (+δ) T x Ezek elét egy szabado futó T peródusdeű, kvarcpotosságú óra elével hasolítuk össze, fgyelve a felfutó élek egybeesését. A méredő dőtartam kezdetétől az első kocdecág eltelt dő N ( T ), a méredő dőtartam végétől az első kocdecág eltelt dő N ( T ), a két kocdeca között eltelt dő pedg N T. Mdezek alapá T x T N N N, ahol az N előtt előelet a két kocdeca dőbe sorrede határozza meg. Ha T =5 sec és δ=.4, akkor a legksebb, még mérhető dőtartam psec. Megegyzés: a kvarcpotosságú, de dítható óra, valamt a kocdeca megvalósítása ehéz feladat. C(t) Az órák, mt a valós dő adott potosságú forrása: Az dő forrását óráak evezzük. A k-elű óra a valós dő egy C k (t) függvéye. Refereca óra: a telese potos óra. Ha a k-elű telese potos, akkor C k (t) = t; t Helyes óra: a k-elű óra helyes (correct) t -ba, ha C k (t ) = t Potos óra: a k-elű óra potos (accurate) t -ba, ha C k ( t) / t = ; t= t Ha egy óra potatla egy adott dőpllaatba, akkor azt moduk, hogy csúszk abba az dőpotba. A fzka óra: Oszcllátor+számláló, felbotóképessége g (g: graularty), mkro-óraütés (mcrotck) t Reload regster N Oszcllátor f Lefelé számláló Mcro tck ZE Macro tck = N*(Mcro tck) Az ábrá látható elredezésbe a agyfrekvecás kvarc-oszcllátor elét egy lefelé számláló leoszta, és a ulla (ZE) elérésekor kad egy mpulzust. Ez ada a fzka óra alapütemét, és eek hatására töltődk a számlálóba a reload regszter tartalma (N). A fzka óra alapütemét az oszcllátorból származó mkro óraütéshez képest makro óraütések evezhetük. Eek gyakorsága N állításával lehetséges. Mvel tpkusa az így előállított óráak csak a makro óraütése férhetők hozzá, ezért ezt a szóhaszálatot a továbbakba em követük, helyette eek gyakorságára/felbotóképességére utaluk. 33

34 . Ütemezés (folytatás) Beágyazott formácós redszerek: 5. előadás, 7... Megegyzés: Több közös erőforrás/krtkus szakasz egydeű működtetéséél felmerülhet a holtpot (deadlock) problémáa, azaz a kölcsöös egymásra várás esete, am a szemaforok kokrét mplemetácóától függőe a program lefagyását s eredméyezhet. A prortás öröklés algortmus több erőforrás eseté kegészítésre/módosításra szorul, amt a következő ábra llusztrál: H S S M L S S Az L task az S szemaforral védett krtkus szakaszba kerül. Az L task a krtkus szakaszo belül egy tovább, az S szemaforral védett erőforráshoz fog fordul. Ezt az erőforrást a H task az ábrá látható dővszoyok mellett ugyacsak haszála. Amkor a H task az S szemaforral védett erőforráshoz fordul, akkor blokkolód kéyszerül: az L taskak - örökölve a H prortást - előbb be kell feeze a krtkus szakaszba lévő kódrészéek futtatását. Azoba az S szemaforhoz fordulva kalakul az egymásra várás, az ú. holtpot (deadlock). Eek megakadályozására dolgozták k a prortás felső-határ/plafo (celg) protokollokat. Prortás felső-határ (plafo) protokoll (Prorty Celg Protocol, PCP): A közös erőforrások kezelése kölcsöös kzárással/krtkus szakasszal törték. Eek megvalósítására szemaforokat haszáluk, amelyek elzk az erőforrás szabad vagy foglalt állapotát. Szabad állapotú erőforrás haszálata a kéréskor azoal lehetséges, a foglalt állapotú erőforrás a kérő task-ot blokkola. A blokkolt task az erőforrás szabaddá válásakor ébred fel, és válk futtathatóvá. Fut akkor fog, amkor az ütemező futó állapotba helyez. A PCP protokoll: - Prortásos redszert működtetük, és feltesszük, hogy éppe a elű task fut. - Mde S k szemaforak va C(S k ) prortás plafoa, am egyelő a futása sorá az S k szemafort foglalt állapotba helyez képes task-ok között a legmagasabb prortással redelkező task prortásával. - Jelöle S * a legagyobb C(S * ) prortás plafoú szemafort a -től külöböző task-ok által foglaltra állított szemaforok közül. - Ahhoz, hogy egy S k szemafor által védett krtkus szakaszba lépük, a task prortása (P ) magasabb kell legye C(S * )-ál. Ha P C(S * ), akkor a task felfüggeszt a futását, blokkolódk. - A task blokkolódása eseté az ő prortását a szemafort foglaltra állító k task megörökl. - Amkor a k task a task blokkolódását elődéző szemafor foglaltságát megszütet, akkor örökölt prortását elveszít, az ütemező a taskok ütemezését eek megfelelőe módosíta. Megegyzés: Az első erőforrás lefoglalása egedélyezett. A protokoll hatása az, hogy egy másodk erőforrás lefoglalása csak akkor lehetséges, ha cse magasabb prortású task, amely md a két erőforrást haszála. Ebből következk, hogy a leghosszabb dő, amvel egy task blokkolható, egyelő az alacsoyabb prortású taskokba a leghosszabb krtkus szakasz végrehatás deével. Ezt az dőt íruk a worst-case válaszdő számítás képletébe szereplő B helyére. 34

35 Beágyazott formácós redszerek: 5. előadás, 7... Példa: A futtatadó task-ok csökkeő prortású sorredbe:,,. A prortásak: P, P és P. Az erőforrásokat S, S és S szemaforok őrzk. Prortás plafoak: C(S ) = P, C(S ) = P, C(S ) = P. S S S S S S S S S S P P P Fgyelük meg az ábrá, hogy a protokoll hatására aak elleére blokkolódk az S szemaforral védett erőforrás haszálata előtt, hogy az erőforrás szabad. Eek az a kváltó oka, hogy a task a -val azoos prortás plafoú S szemaforral védett krtkus szakaszba tartózkodk. Példa: A futtatadó task-ok csökkeő prortású sorredbe:,,, 3. A prortásak: P, P, P és P 3. Az erőforrásokat S és S szemaforok őrzk. Prortás plafoak: C(S ) = P, C(S ) = P. S S S S B S S B I B I I B I B I S S I I I Az ábrá yomo követhető a protokoll működése. I-vel az terfereca tervallumokat, B-vel pedg a blokkolás tervallumokat elöltük. Ezekek az összege ada az adott task téyleges blokkolás deét, amek a maxmuma a legkedvezőtleebb esetbe a 3 task krtkus szakaszáak processzordő géyével egyezk meg. Azoal prortás felső-határ (plafo) protokoll (Immedate Prorty Celg Protocol, IPCP): A protokoll léyege, hogy a taskok a krtkus szakaszba lépéskor azoal a krtkus szakaszt védő szemafor prortás plafoáak megfelelő damkus prortást kapak. Eek értelmébe az alább ábrá a 3 task a krtkus szakaszba lépve azoal P prortást kap, és egésze a krtkus szakasz elhagyáság azo marad. Az IPCP protokoll köyebbe mplemetálható, mt a PCP, látható módo kevesebb a task-váltás, és eek következtébe a futtatás köryezet-váltás. A szemaforokat em kell mplemetál, mert mdg szabad állapotúak. Érdemes megfgyel, hogy ebbe a példába - az IPCP alkalmazása eseté - a legagyobb prortású task válaszdee egy dőegységgel csökket. 35

36 Beágyazott formácós redszerek: 5. előadás, 7... B S S S S B I S S B I S S I Az IPCP elevezése a POSIX szabváyba Prorty Protect Protocol, a Real-Tme Java-ba pedg Prorty Celg Emulato. 4. Időmérés, dőszolgáltatás, óra-szkrozácó (folytatás) C(t) Az órák, mt a valós dő adott potosságú forrása: Az dő forrását óráak evezzük. A k-elű óra a valós dő egy C k (t) függvéye. Refereca óra: a telese potos óra. Ha a k-elű telese potos, akkor C k (t) = t; t Helyes óra: a k-elű óra helyes (correct) t -ba, ha C k (t ) = t Potos óra: a k-elű óra potos (accurate) t -ba, ha C k ( t) / t = ; t= t Ha egy óra potatla egy adott dőpllaatba, akkor azt moduk, hogy csúszk abba az dőpotba. A fzka óra: Oszcllátor+számláló, felbotóképessége g (g: graularty), mkro-óraütés (mcrotck) t Reload regster N Oszcllátor f Lefelé számláló Mcro tck ZE Macro tck = N*(Mcro tck) Az ábrá látható elredezésbe a agyfrekvecás kvarc-oszcllátor elét egy lefelé számláló leoszta, és a ulla (ZE) elérésekor kad egy mpulzust. Ez ada a fzka óra alapütemét, és eek hatására töltődk a számlálóba a reload regszter tartalma (N). A fzka óra alapütemét az oszcllátorból származó mkro óraütéshez képest makro óraütések evezhetük. Eek gyakorsága N állításával lehetséges. Mvel tpkusa az így előállított óráak csak a makro óraütése férhetők hozzá, ezért ezt a szóhaszálatot a továbbakba em követük, helyette eek gyakorságára/felbotóképességére utaluk. A fzka refereca óra: ele C, felbotóképessége g C. Pl.: 5 óraütés/sec g C = -5 sec. Értéke a emzetköz dő szabváy szert abszolút dő. Időbélyeg: C(e): az e eseméy abszolút dőbélyege. Óra drft: k-elű fzka óra két, ökéyese kválasztott óraütése között eltelt dőt a refereca órával megmérük, és a vzsgált óra által mutatott dőkülöbséget vszoyítuk eek telese potos értékéhez: drft ( t, t k Ck ( t ) C( t 36 ) Ck ( t ) ) C( t ).

37 Beágyazott formácós redszerek: 5. előadás, 7... Mvel a drft deáls értéke, ezért szokás defál a drft-mértéket: drft formába, am specfkácós adat az órára, tpkusa egyhez képest agyo ks érték ( sec/sec). (Előfordul, hogy a szóhaszálat ezt evez drft-ek, am a agyságred eltérés matt em okoz félreértést. A drft mérték maga a drft egytől való eltéréséek előelét em hordozza. Általába feltételezhető, hogy a drft egy körül, a drft-mérték ulla körül számérték.) Ha cs szkrozácó, akkor az órák a drft következtébe eltérő ütembe haladak, elmászak. Eek súlyos következméye lehetek. Példa: Öböl háború, Dhahra, 99. február 5. Egy Patrot redszer elvétett egy Scud rakétát, mert egy óra mtegy órág szkrozálás élkül maradt, ez alatt - kvatálás hba következtébe - összeszedett.3433 sec késést, am 687 méteres követés hbát okozott a célkövető számításaba, és ez által a mtegy.7 km/sec sebességgel haladó rakéta kkerült a célkövető látóköréből. Következméy: 8 halott, 98 sebesült. A hba hátterébe az állt, hogy korábba a Patrot redszereket rövdebb működés dő feltételezésével, léyegese lassabb eszközök elle felesztették, és az Öböl háború deé felesztették tovább Scud redszerekhez. A kokrét tragédát okozó hbát már február eleé felfedezték, február 6-á a módosított szoftvert k s adták, de az em utott el az értett Patrot redszerbe. Óra ofszet: Tektsük két órát azoos felbotóképességgel: ofszet ( t) C ( t) C ( )., k k t Együttfutás (precso): Tektsük órát! Az együttfutás: ( t) max ofszet, k ( t)., k Megegyzés: a drft matt ez az dő múlásával ő, ezért kell szkrozál. Ez az ú. belső szkrozácó, mert az órákat egymáshoz gyekszük szkrozál. Potosság (accuracy): a k elű óra ofszete a refereca órához képest: ofszet ( t) C ( t) C ( ). k, ref k ref t Megegyzés: a drft matt ez az dő múlásával ő, ezért kell szkrozál. Ez az ú. külső szkrozácó, mert az órákat a refereca órához gyekszük szkrozál. Példa: Igaz-e a következő állítás? Ha mde óra a vzsgált halmazba kívülről szkrozált A potossággal, akkor az óra-együttes belülről s szkrozált A együttfutással. Az állítás gaz, fordítva ylvá em. Az dő mérése Az eddgektől eltérőe ellegzetese külöböző órákkal; az elosztott redszerbe mdekek saát óráa va. Globáls dő: az uverzáls refereca dő gyegített változata. Tegyük fel, hogy a csomópotokba lévő C k órák g k felbotással ketyegek. Belülről szkrozáltak Π együttfutással, azaz tetszőleges és k párra C ( t) C ( t), t re. k A globáls dő az uverzáls refereca dővel azoos potosságú, de durvább felbotású órakét fogható fel, melyek ütése az ú. makro-ütések. Mkor haszálható értelmese a globáls dő? Akkor, ha a globáls dő felbotása g>π, vagys a szkrozácós hba ksebb, mt a felbotóképesség! Ez egybe azt s elet, hogy egy e eseméy dőbélyege a és k csomópotok globáls dő értékevel legfelebb egyetle értékbe külöbözek. C ( e) C ( e) k. Ez a legobb, amt elérhetük, mert mdg előfordulhat az a sztuácó, hogy először a óra üt, mad bekövetkezk az e eseméy, mad üt a k óra s. Ilyekor a két óra egy óraütés dfferecával bélyegz az e eseméyt. 37 k k k

38 Beágyazott formácós redszerek: 5. előadás, 7... Példa (mde makro-ütés tíz mkro-ütések felel meg): C k Az e: mkro-ütésél lévő eseméyt :-ek, k:-ek elz. Egy óraütés dffereca mlye formácót hordoz? C k Az e:7 mkro-óraütésél :, k:. Az e:4 mkro-óraütésél :4, k:3. Ha az e:4 és az e:7 eseméyek dőkülöbségét a C k és C órák külöbségekét mérük, akkor a mérés -et ad a globáls dőbélyegbe aak elleére, hogy a téyleges külöbség 5 mkro-ütés. Az e:67 mkro-óraütésél :7, k:6. Az e:69 mkro-óraütésél :7, k:6. Ha az e:69 és az e:67 eseméyek dőkülöbségét a C és C k órák külöbségekét mérük, akkor a mérés -et ad a globáls dőbélyegbe aak elleére, hogy a téyleges külöbség mkro-ütés. Probléma: Az dőbe sorredet a másodk esetbe em tuduk egyértelműe megállapíta a makro-ütések alapá. Az e:67 mkro-óraütésél :7, az e:69 mkro-óraütésél k:6! Állítás: Ha két makro óraütés a dffereca, akkor már meg tuduk moda az dőbe sorredet, mert a szkrozálás és a dgtalzálás hba mdg ksebb, mt. Idő-tervallum mérése: d g d d g, m v m ahol d v az tervallum téyleges értéke, d m pedg a mért érték. Eek llusztrácóa: C k 7 4 C k 47 38

39 Beágyazott formácós redszerek: 5. előadás, 7... A felső ábrá, ha az e:4 és az e:7 eseméyek dőkülöbségét a C k és C órák külöbségekét mérük, akkor a mérés -et ad a globáls dőbélyegbe aak elleére, hogy a téyleges külöbség 5 mkro-ütés. Az alsó ábrá, ha az e:47 és az e: eseméyek dőkülöbségét a C és C k órák külöbségekét mérük, akkor a mérés 4-et ad a globáls dőbélyegbe aak elleére, hogy a téyleges külöbség 5 mkro-ütés. Óra redszerek típusa: Közpot óra redszerek (cetral clock systems): - egy potos óra szolgáltata az dőt a teles redszer számára, a több órát a redszer a ormáls működés alatt fgyelme kívül hagya, - hbatűréshez készelét (stadby) redudacát alkalmazak, - potos módszer (s-e, ms-e belül), költséges - specáls, a processzorba tegrált hardvert géyel; a közpot óra állíta ezt a hardvert a megfelelő értékre; ezt mde végreható folyamat olvas tuda, - a kommukácós géy alacsoy (egy üzeet frssítésekét), - a GPS (Global Postog System) ó példa erre (4 óraelet sugárzó műhold, amellyel éháy s potossággal lehet szkrozál). Közpotlag felügyelt óra redszerek (cetrally cotrolled clock systems): - egy (potosak elfogadott) master óra lekérdez a slave órákat, - megmérk az óra eltéréseket és a master korrekcót ír elő a slave számára, - ha a master óra meghbásodk, akkor valamlye választás algortmussal ú master-t választaak, - az átvtel dőket és a késleltetéseket becsül kell, mert léyegese befolyásolák a mért óra eltéréseket, - a kommukácós terhelés erősebb, mt előbb. Elosztott óra redszerek (dstrbuted clock systems) - az óra szempotából az összes csomópot homogé, ugyaazt az algortmust futtata, - mde csomópot frssít az óráát, mutá megkapta, és helyesség szempotából elleőrzte/becsülte a más órák által kapott dőt, - a hbatűrés protokoll alapú. Ha egy csomópot kesk, az em befolyásola a több csomópot működését; észlelk a hbát és fgyelme kívül hagyák a meghbásodott csomópotot, - a kommukácós géy vszoylag agy, külööse akkor, ha alattomos hbák (pl. bzác hbák, lásd később) eseté s a robusztusság követelméy. Idő ormálák (stadardok) Elosztott, valós deű redszerekbe kettőt haszálak elteredte: Nemzetköz Atom Idő (Temps Atomque Iteratoale, TAI). Alapa egy ú. atomóra: Cesum-33 atom által (specfkált módo) ksugárzott frekveca ed része sec. A TAI által bztosított dőskála krooszkópkus, azaz folytoos. Uverzáls dő vagy Egyezméyes koordált vlágdő (Uversal Tme Coordated, UTC). A Föld és a Nap mozgásából, azaz asztroóma megfgyelésekből vezették le be lépett a GMT (Greewch Mea Tme) helyébe azzal, hogy a másodperc a TAI szert értedő. - A Föld mozgása eyhé szabálytala, ezért alkalmakét beszúrak egy szökő másodpercet auár elseé a TAI és az UTC (egy megegyezés alapá) ugyaazt mutatta. Azóta az UTC mtegy 3 másodperccel eltérést szedett fel. Mvel ezeket a Bureau Iteratoale de l Heure - szükség szert - szökő másodpercekkel korrgála, a téyleges eltérés mdg smert és ksmértékű. Megegyzés: a szökő másodperc bellesztése a aptár év váltás pllaatába veszélyes: az 996. auár -é ::-kor egy másodperccel vsszaállított óra még egyszer léptette a apot megadó számlálót és ezért a következő másodpercbe az óra auár -át mutatott. - Az USA mérésügy hvataláak (Natoal Isttute of Stadards ad Techology: NIST) rövdhullámú rádóadóa (hívóele: WWV) folyamatosa ad frekveca és dőelet.5, 5.,, 5 és MHz 39

40 Beágyazott formácós redszerek: 5. előadás, 7... frekvecá. A elek dőbe potossága msec, véletle atmoszférkus gadozások matt msec. (Geostacoárus műholdról. 5 msec.) Idő formátum: legelteredtebb: Network Tme Protocol (NTP). Ez a formátum 8 bátot haszál, amelyből 4 az UTC másodperceket, 4 pedg a másodperc törtrészét tárola, az utóbbt 3 psec felbotásba. 97 auár elseé ::-kor került a 8-bátos számlálóba, am az 9. auár elsee ::-tól eltelt másodpercek száma volt. Ez az ábrázolás mód 36-g ó (36 év a körülfordulás cklusa). Példa: Az óraszkrozácó szükségessége/eletősége: UNIX make program: agy programok forrása fel vaak osztva részekre (pl fle). Csak azokat kell úrafordíta, amelyekhez tartozó forrás megváltozott. Ha a forrás dőbélyege később, például put.c (tmestamp 5), és put.o (tmestamp 5), akkor úra kell fordíta a forrás fle-t. De ha az edtor és a compler külöböző gépe fut, akkor az dőbélyegek értelmezésével ba lehet, ha az órák cseek szkroba. Ha azt tapasztaluk, hogy a forrás dőbélyege korább, mt a lefordítotté, azaz output.c (tmestamp 43), és output.o (tmestamp 44), akkor em fordítuk, de ha eek az az oka, hogyaz edtort futtató gép óráa késk két dőegységet, akkor ba va! Órák szkrozálása: Berkeley algortmus Az dőszerver aktív: redszerese lekérdez a csomópotok óráát, átlagola azokat, mad vsszaküld. Órák szkrozálása: Crsta algortmus A szkrozálást a kles kezdeméyez a T dőpllaatba egy UTC rádóvevővel redelkező szerverél. A kérés megérkezésekor, az terrupt kszolgálását (I) követőe a szerver lekérdez az UTC rádót, mad a lekérdezett C UTC megküldük a klesek. A T dőpllaatba megérkező óra adatot korrgál kell az üzeettovábbítás deével. Ha az üzeettovábbítás dee mdkét ráyba közel azoos, akkor a szükséges T T I korrekcó közelítése: ~. Kles T T t Kérés Server UTC rádóvevővel I C UTC t Megegyzés: Problémát okozhat, ha a C UTC +korrekcó < T, azaz a kles óráát vssza kell állíta, mert set. Ha kles óra éppe egymást követő eseméyekhez redel dőbélyeget, akkor előfordulhat, hogy vsszaállítását követőe később eseméyhez korább dőbélyeget redel, és ezzel az eseméyek dőbe sorredét látszólag megfordíta. Ha ez a veszély feáll, akkor az órát em szabad vsszaállíta, csak lassíta addg, amíg futása szkroba em kerül az UTC rádó óráával. Órák szkrozálása: Master-slave algortmusok. A master óra (-elű) szkrozálást kezdeméyez T -be. Az órából kolvasott érték hbáa e. (T = C (T ) + e ). A slave a csomópotba va. A T -be elküldött üzeet deg utazk és T -be érkezk meg. Ekkor C (T ) olvasható k, amvel T = C (T ) + e.. A slave kszámola a külöbséget: d C T ) C ( ) ( T A vétel és az adás deéek összehasolításával: C ( T ) e C ( T ) e d C ( T ) C ( T e e ) Ha a slave és a master órááak átlagos eltérését elöl, akkor e e E, 4

41 ahol Beágyazott formácós redszerek: 5. előadás, 7... e E zat modellez. (Az e d C pllaatértékek külöbsége.) Ezzel e e E ( T ) C ( T ) 3. A slave elküld óráa állását a masterak T3 C ( T3 ) e3 dőbe. Az üzeet T4 C ( T4 ) e4 dőbe érkezk utazás dőt követőe. Ekkor a master kszámíta a d C ( T4 ) C ( T3 ) külöbséget. A valóságos dők összevetésével: C ( T ) e C ( T ) e d C ( T ) C ( T e e. A slave és a master órááak ) eltérését most e e E 3 4 formába írhatuk, ahol E ugyacsak zat modellez. Ezzel d E. A két külöbség külöbsége ada az órák átlagos eltérését, azaz a szükséges (slave) korrekcó értékét: d d / / E E / h, ahol h a kommukácós dők eltéréséből és az órák kvatálás hbáak eltéréséből adódó hba. Eek a véletle kompoesét átlagolással csökkethetük. Slave T T 3 korrekcó 3 4 Master T T 4 Példa: Tempo algortmus: master-slave szkrozácó az elosztott Berkeley Uxba. Master oldal: Az alapalgortmust N-szer lefuttatuk: for k= to N do Icalzálás: do TA C (ow) Sed T A to edo A slave-ektől kapott adatok feldolgozása: : do d C ( ow) T B ( k) d d / edo edo ; redelkezésre áll N dffereca re Slave oldal: do d C ( ow) T T B C (ow) Sed (T B, d ) to edo A do edo : N / N ( k) k Sed to 4 do edo C ( t) C ( t)

42 Beágyazott formácós redszerek: 5. előadás, 7... A szkrozálást követőe megmaradó hba a drft matt változ/ő fog. Eek tartomáyát mutata az alább ábra: τ Az ábra alapá látható, hogy a korrekcó utá megmaradó hba és a drft matt τ dő multá, a legkedvezőtleebb esetbe az órák egymástól max max h távolságra kerülhetek. Megegyzés: () A közölt változatba a korrekcó potossága a master és a slave között a mérések többször megsmétlésével és az eredméyek átlagolásával avult. () Ameybe a master és a slave kommukácóáak tovább részlete smertek (például LAN köryezetbe), akkor eek felhaszálásával a korrekcó tovább fomítható. (3) Ha processzor órááak frssítése a feladat, és mde slave p-szer lekérdezésre kerül, akkor a master-slave szkrozácó kommukácó géye (p+)-el ellemezhető dőközökét. 4

43 Beágyazott formácós redszerek: 6. előadás, Időmérés, dőszolgáltatás, óra-szkrozácó (folytatás) Órák szkrozálása: Elosztott óra szkrozálás algortmusok Az elosztott óra-szkrozácó esetébe elsősorba az együttfutás bztosítása a cél. Mdek mdekvel beszél, és az így szerzett formácók alapá módosíták az órákat. I. Sorba-redezés módszer Az üzeetek dőbélyegzésé alapszk. Az óra potosságát korlátozza a drft mérték: t: d dt C (t) < δ A kommukácó sorá a késletetés μ < D < η. Mde óra a következő algortmust mplemetála: - Mde lokáls óra ütésére a lokáls óra kremetálódk; - Mde órával redelkező egység üzeetet küld a többek legalább mde τ másodpercbe. Mde üzeetek része az dőbélyeg T m. - Egy külső dőbélyeg érkezését követőe mde vevő az óráát C (t) max(c (t), T m + μ). Az algortmus a leggyorsabb, és em szükségképpe a legpotosabb órához szkrozál. A teles redszer egyszer frssítéséek kommukácós géye: ( ). II. Maxmáls hba mmalzálása [ Mde óra tuda, hogy helyes C ( t ) t ] egy adott tervallumba: [ C ( t) E ( t), C ( t) E ( t)]. E (t) összetevő: alaphba, vagy maradék-hba a reset dőpotba. a késleltetés az óra olvasása és a óra frssítése között. A drft következtébe a késleltetés okozta hba. A kommukácó dőtartama és a drft okozta hbát egyarát a E (t) megövelésével vesszük fgyelembe: Maga az algortmus: ( ). Ha kérés érkezk -től do E ( t) C ( t) Egyk szabály (az -edk óra szemszögéből). Sed C ( t), E ( t) to. edo Legalább egyszer dőközökét 43

44 Beágyazott formácós redszerek: 6. előadás, : Request C ( t), E ( t) ; for edo do beg Receve C ( t), E ( t) ; f C ( t), E ( t) s cosstet wth C ( t), E ( t) E ( t) E ( t the f ) ed the beg Másk szabály C ( t) C ( t) E ( t) C (t) ed else gore t A kozszteca alatt azt értük, hogy az dőtegely meté az tervallumok átlapolódóak. Ellekező esetbe azt feltételezzük, hogy valamelyk óra olya mértékbe hbás, hogy fgyelembe vétele rotaá a E ( t) formába szkrozálás eredméyét. A lekérdezett óra hba-tervallum határát haszáluk az összehasolítás folyamá, ll. a szkrozálás maradékhba betöltésekor, mert a mérés és a felhaszálás között eltelt (kommukácós) dő alatt a leolvasott C (t) dőbélyeg értékhez képest a -edk óra hbáa eyvel őtt. III. Itervallumok metszése Eél a módszerél összehasolítuk az órákat ellemző tervallumokat, és megkeressük a baloldal tervallumhatárok maxmumát, és a obboldal tervallumhatárok mmumát, és ha ez a két érték egy valóságos tervallum határat ada meg, akkor ez az tervallum lesz az órát ellemző ú tervallum. Az első szabály ugyaaz, mt előbb. A folytatás: Legalább egyszer dőközökét : Request C ( t), E ( t) ; ( t), E ( t) ; : Receve C : L ( t) C ( t) E ( t) : R ( t) C ( t) E ( t) L max ; m f the edo R ; C (t) ; ed else gore them all ; baloldal tervallum határ +( + δ )μ ; obboldal tervallum határ 44

45 Beágyazott formácós redszerek: 6. előadás, Megegyzés: () Az tervallumok metszése módszer potosabb, de kevésbé robusztus. () Ha processzor órááak frssítése a feladat, ( ) az elosztott óra szkrozálás kommukácó géye dőközökét. Megegyzések az óraszkrozálás témaköréhez. Kétarcú/kétszíű (bzác) hba Az A óra 4:-t mutat, a B óra 4:5-öt mutat, a C óra az A óráak 3:55-öt, a B-ek pedg 4:-et. A C óra bzác hbás. Ezek az órák em tudák szkrozál magukat. Bzoyítható, hogy a szkrozálhatóság feltétele, hogy N (3k+) óra legye, ahol k a bzác hbás órák száma.. A szkrozácós üzeet ttere A tter: d d max m - alkalmazó programból törtéő szkrozácó eseté: 5 s 5ms - operácós redszer kerelből: s s - kommukácós vezérlő hardveréből: < s. Bzoyítható, hogy N óra eseté, ha e értékű ttert (latecy ttert) tételezük fel a kommukácóba, akkor telese potos órák eseté sem érhető el obb együttfutás, mt e. N 3. Hbatűrő átlagolás algortmus: N órából k bzác típusú. Első lépéskét mde órához (a hozzátartozó csomópotba) összegyűtük a saát óra és a több csomópot órááak a külöbségét. (A saát órára ez ulla.) A külöbségek közül a k legksebbet és a k legagyobbat elhagyuk és a maradék N-k értéket átlagoluk, mad a korrekcót erre az átlagra alapozva végezzük el. Valóába azzal a feltételezéssel élük, hogy a hbás órák obba eltérek a óktól, így azokat elhagyva a több képes kell legye arra, hogy ó eredméyt szolgáltasso. 5. Meységek, változók valós deű redszerekbe A befogadó köryezet modellezése: A mérés elárás: a megsmerés folyamat része, amelyek sorá a redelkezésükre álló smereteket potosítuk, ll. bővítük. Az alább ábra a folyamat terpretálását segít. A mérés sorá a valóság eleséget szereték megragad. Ezt a megragadást előszeretettel végezzük olya ellemzőkre építve, amelyek valamlye értelembe stabltást mutatak. Ilye ellemzőkhöz (s) absztrakcó révé utuk. Kemelt szerephez utak - az állapotváltozók (x), amelyek változása a kölcsöhatások révé fellépő eerga-folyamatokhoz köthetők (feszültség, yomás, hőmérséklet, sebesség, stb.) - a paraméterek (a), amelyek a kölcsöhatások teztásvszoyat ragadák meg, és - a struktúrák (S), amelyek a redszer-kompoesek kapcsolatat írák le. Valóság tere Megfgyelések tere Dötések/becslések tere 45

46 Beágyazott formácós redszerek: 6. előadás, A valóság tere egy olya absztrakcó, amelybe a vzsgált ellemzők kokrét értéke a tér egy potáak felelek meg. A mérés előtt a pot koordátát em smerük. A mérések sorá egy-egy lye pot koordátáak meghatározására (megmérésére) törekszük, am smert módo csak közelítőleg lehetséges (a mérés hbával terhelt). Tovább ehézség, hogy a méredő meységhez sok esetbe em férük közvetleül hozzá, ezért többyre csak valamlye leképzéséből tuduk kdul. Ezt a leképzést evezzük megfgyelések. A méredő és a megfgyelt érték között út a mérés/elátvtel csatora. Megfgyelés determsztkus csatora eseté: az alább ábra llusztratív példakét egy dőbe dszkrét megfgyelőt mutat be. A megfgyelt valóságot autoóm redszerkét képzelük el, és dszkrét modellel íruk le. A valóságot és a megfgyelést leíró állapot, ll. megfgyelés egyeletek: x( ) Ax( ), () y( ) Cx( ), () - y() e() Korrekcó ahol az x() állapotvektor N dmezós, az A állapotátmeet mátrx N*N dmezós, az y() megfgyelés M N dmezós vektor, a C megfgyelés mátrx pedg M*N dmezós. Céluk az x() állapotvektor becslése. Eek eszköze a megfgyelő, amely a valóság másolata gyekszk le azáltal, hogy egy korrekcós/tauló/adaptáló mechazmus eredméyeképpe praktkusa egy számítógépes program által megvalósult módo - követ azt. A követés bekövetkeztével a mérés eredméye xˆ ( ) a megfgyelőből olvasható k. A megfgyelőbe megvalósuló másolat állapot, ll. megfgyelés egyelete: xˆ ( ) Axˆ( ) Ge( ), (3) yˆ ( ) Cxˆ( ), (4) ahol a G korrekcós mátrx N*M dmezós, e( ) y( ) yˆ( ). A G mátrxot úgy tervezzük meg, hogy xˆ ( ) x(). () és (3) külöbségét képezve: x( ) xˆ( ) Ax( ) Axˆ( ) Ge( ) ( A GC)( x( ) xˆ( )). (5) Bevezetve az ( ) x( ) xˆ( ), valamt az F A GC elöléseket, az ú. hbaredszer állapotátmeet mátrxa: ( ) F ( ). (6) A G korrekcós mátrxot úgy kell megtervez, hogy ( ), amek érdekébe célszerűe ( ) ( ), -re, azaz F csökket () hosszát mde lépésbe, vagys dege szóval kotraktív. Megegyzések:. Az () hbavektorral kapcsolatos egyelőtleség értelemszerűe a vektor hosszára (ormáára) értelmezedő, skalár esetbe pedg a hba abszolút értékére.. A hba eltűéséhez természetese em kell megkövetelük a csökkeés moototását, csak a hbaredszer stabltását, azaz külső geresztés élkül esetbe a ullához kovergálását. Ez terpretálható úgy s, hogy a hbaredszer a belső eergáát a stabl állapot elérése érdekébe leada, dege szóval dsszpála. Ha ez a dsszpácó az terácó mde lépésébe feáll, akkor a hbavektor hosszáak csökkeése mooto folyamat lesz. 46

47 Beágyazott formácós redszerek: 6. előadás, Esetek:. F AGC. Ebbe az esetbe G AC. Ez akkor lehetséges, ha C égyzetes, azaz a megfgyelés éppe ay kompoesű, mt maga az állapotvektor. Így aztá em s csoda, hogy terácó élkül, egyetle lépésbe meg tuduk határoz az állapotvektor értékét. Ez azt elet, hogy a megfgyelő, eze belül a másolat, egyetle lépés utá követ képes a megfgyelt (fzka) redszert. N N. F ( AGC). Ebbe az esetbe a hbaredszer N lépésbe kovergál: N x( N) xˆ( N) ( AGC) ( x() xˆ()) (7) N Az F tuladoságú mátrxok, az ú. emderogatórus lpotes mátrxok, amelyek saáta, hogy valamey saátértékük ulla. Az lye tuladoságú állapotátmeet mátrxszal ellemezhető redszerek véges mpulzusválaszúak (ú. FIR redszerek), hsze a kezdet hba véges lépésbe eltűk. M (Megegyzés: ha F, ahol M<N, akkor F ú. derogatórus lpotes mátrx, lyekor a kovergeca kevesebb, mt N lépésbe bekövetkezk.) N N 3. Ha F ( AGC), akkor a stablra tervezett hbaredszer állapotvektoráak hossza expoecáls elleggel fog csökke. Egy lye hbaredszer akkor lesz stabl, ha összes saátértéke az egységsugarú körö belül helyezkedk el. Az lye tuladoságú állapotátmeet mátrxszal ellemezhető redszerek végtele mpulzusválaszúak (ú. IIR redszerek), mert a kezdet hba csak végtele lépésbe tűk el. Megfgyelés zaos csatora eseté: Ebbe az esetbe em ( ) az elvárásuk, haem E[ ( ) T ( )] m legye. Ezzel a hbaredszer (6) állapotegyeletét az E [ ( ) ( )] FE[ ( ) ( )] F összefüggés válta fel. Ez a hba-mátrx közpot szerepet kap a híres Kalma predktor, ll. szűrő esetébe. T T T (8) Megegyzések:. A megfgyelő elredezés mdkét modelle (lásd az előző előadás ábráát) gereszthető egy közös geresztéssel. Mvel a modellek leársak, a szuperpozícó értelmébe a megfgyelő kovergecáa változatlaul megvalósul.. A. ábra szert megfgyelőt Lueberger megfgyelőek evezzük. Lueberger szert madem mde redszer megfgyelő. A megfgyelő tuladoság feltétele, hogy a megfgyelő legye gyorsabb, mt a megfgyelt redszer, külöbe em képes követ a változásokat. 3. Egy elleállás- vagy mpedaca-mérő híd smeretle elemet tartalmazó hídága a valóság fzka modelle, a kegyelítő elemet tartalmazó ága pedg a megfgyelőbe felépülő, beállítható/hagolható modell. A hídágak osztópotá megeleő feszültségek külöbsége vezérl a hagolást, és a végé a két feszültség megegyezk, a beállítható elemről leolvasott érték segítségével meghatározható az smeretle. Ez az áramkör, a hagolást végző operátor részvételével megvalósíta a megfgyelőt. 47

48 Beágyazott formácós redszerek: 4. gyakorlat, és Meységek, változók valós deű redszerekbe A befogadó köryezet modellezése: Példák:. Példa: Adott A ; C. Hogya állítsuk be G-t? G AC A. Példa: Adott A ; g C. Hogya állítsuk be G-t? G? g g g g g g g g g g g g g g g g g gg g g g g g g g g g GC. A GC. AGC g g g gg g g g g alapá határozzuk meg G-t: A mellékátló kfeezéset a főátló kfeezésebe behelyettesítve kapuk: g, lletve g, amből: g. 5 és g. 5. Elleőrzésképpe: Példa: Határozzuk meg A GC saátértéket a. Példa eredméyéek felhaszálásával: det I A GC det (.5)(.5) Mdkét saátérték ulla. Megegyzés:. Ez a tuladoság általáosa gaz véges lépésbe kovergál képes redszerek esetébe.. Az lye redszerek átvtel függvéye olya (elfauló) racoáls törtfüggvéy, amelyek valamey pólusa az orgóba va: N N an an z an z... az H( z) az az... an z (9) N z Ezek az ú. véges mpulzusválaszú (FIR) szűrők. (8) dőtartomáybel megfelelőe: y( ) ax( ) ax( )... an x( N), () ahol a valós deű kszámíthatóság matt csak x () korább mtá szerepelhetek. 3. A 3. példába a saátértékekre voatkozó feltétel felhaszálható a g és a gértékek meghatározására: g g deti A GC det ( ) g g g g g g Ebből: g g, ll. g g, amből: g. 5 és g. 5. Legksebb égyzetes hbáú (LS) becslők: cs előzetes smeretük sem a méredő paraméterről, sem a csatora karaktersztkáról (a zaról). Tegyük fel, hogy a megfgyelés egyelet leárs: z Ua. Feltételezzük, hogy az a paraméter â értéket vesz fel, és felállítuk a megfgyelés modellét: Uaˆ. A megfgyelést ezzel összevetve keressük â legobb beállítását égyzetes hbafüggvéy feltételezésével: T T T T T T T C( a, aˆ) ( z Uaˆ) ( z Uaˆ) z z z Uaˆ aˆ U z aˆ U Uaˆ z T T T T z aˆ U z aˆ U... T Uaˆ () 48

49 Beágyazott formácós redszerek: 4. gyakorlat, és C( a, aˆ) melyek szélsőértékét (mmumát) keressük: aˆ T T U z U Uaˆ, amvel: aˆ aˆ LS feltétel vzsgálatával. () derválásával T T aˆ LS [ U U] U z () Megegyzések:. A dervált helyességét egyszerűe leelleőrzhetük, ha a () összefüggésbe kelölt mátrx-, ll. vektorszorzásokat kfetük, és azt követőe a derválást kompoesekét végezzük el.. Általáosított/súlyozott égyzetes krtérumot s haszálhatuk, ha bevezetük egy Q égyzetes súlyozó mátrxot: T C( a, aˆ) ( z Uaˆ) Q( z Uaˆ), (3) amvel Modellllesztés aˆ LS T T [ U QU] U Qz. (4) A legksebb égyzetes hbáú becslők eseté cs előzetes smeretük, valóába modellt llesztettük. A modellllesztés problémáa meglehetőse szerteágazó. Egyk klasszkus válfaa a regresszó számítás. Regresszó-számítás: függő és függetle változók között közvetle, determsztkus kapcsolat meghatározása, a modellllesztés egy specáls esete. Az alább ábrá látható elredezésbe a modellezedő y g( u, ) függvéy kétfata függetle változóval redelkezk: az egyket u() elöl, amelyet smerük és kézbe tuduk tarta, a másk, amelyket () elöl, amely smeretle, kézbe em tartható, tpkusa zafolyamatak elképzelt/modellezett folyamat. u y Krtérum függvéy - Megegyzések:. A továbbakba az argumetumkét szereplő ks agyo gyakra az terácós lépést azoosíta vagy dszkrét dődex, amely ekvvales módo téyleges dexkét s megelek dőkét. Eek megfelelőe u( ) u, ll. y( ) y egyeértékűek.. A ks kettős haszálata sekt se zavaro, a külöbség egyértelmű: argumetumkét, ll. dexkét dszkrét ( dő ) dex, öállóa pedg zafolyamatkét terpretáluk. A modellezéshez egy általuk kézbe tartott, tpkusa paraméterek segítségével módosítható ( hagolható ) yˆ gˆ( u) függvéyt haszáluk. A cél egy olya beállítás elérése, amely valamlye értelembe optmáls. Tpkusa égyzetes krtérumot haszáluk: T E ( y yˆ) ( y yˆ) (5) 49

50 Beágyazott formácós redszerek: 4. gyakorlat, és Leárs regresszó: Az llesztedő függvéy a u a a u g ) ( ˆ skalár leárs függvéy, melyek paramétere úgy választadók meg, hogy ) ˆ( ( u g y E mmáls legye. Legye smert,,,, y u y u, ahol az utóbb a ormalzált kereszt-kovaraca függvéy: y u y u y u E )( (. Mmalzáladó az u E a a uy E a y E a E u a a y E a u a y E ) ( (6) összefüggés a és a szert: u y a a a, ahoa u y a a, amt (7) u y u y u u u a a a ) ( ) ( = kfeezésbe behelyettesítve u y u y a ˆ, u y a ˆ (8) Megegyzések:. A (8) összefüggés származtatásakor felhaszáltuk, hogy ) ( u u u u E u E, valamt y u y u uy E y u E ) )( (.. A leárs regresszó feladatáak egyfata általáosítása az ú. polomáls regresszó: k N k a k u u g ) ( ˆ, (9) amelyek fotos tuladosága, hogy paraméterebe leárs. A paraméterebe leárs modelleket azért kedvelük, mert égyzetes hbakrtérum eseté a szélsőérték-keresés leárs egyeletredszer megoldására vezet, mvel a égyzetes kfeezések paraméterek szert derválása leárs összefüggést eredméyez. Leárs regresszó mérés adatok alapá: a feteket véggvhetük akkor s, ha cse előzetes formácók. Ilyekor w a u a y, ahol w az addtív za, =,,,N-, w Ua z. A legksebb égyzetes hbáú becslő összefüggéset haszálva: N N N w w w a a u u u y y y z, ] [ N N N T u u u N U U, N N T y u y z U. ˆ ˆ N N N N N N N y u N y N u N u N u N u N u N a a. Megegyzés: Ebbe az eredméybe a (6) kfeezésbe szereplő statsztka ellemzők becslőek összetevőt azoosíthatuk, és átalakításokkal - tpkusa az átlagtól való eltérések felírásával - ezeket a kfeezéseket egymásak telese megfeleltethetük. Tegyék meg!

51 Beágyazott formácós redszerek: 4. gyakorlat, és A regresszós séma általáosítása: Az alább ábrá a modell-llesztést a regresszós sémát követő módo mutatuk be. u VALÓSÁG y Krtérum függvéy MODELL - Az u bemeetre adott y választ szereték valamlye krtérum szert (az ábrá égyzetes értelembe) legobba megközelíte a modell ŷ válaszával. Érdekes összevet ezt a sémát a megfgyelő sémával (lásd előző előadás). A agyfokú hasolóság egyértelmű: mdkét esetbe modellllesztést végzük. A megfgyelő séma eseté a paramétereket smerük, és az állapotokat becsülük, míg a regresszós sémába a modellük állapotát kézbe tartuk, és a paramétereket keressük. Mdkét séma párhuzamos abba az értelembe, hogy a bemeő elet lletőe párhuzamosa kapcsolódak. Adaptív leárs kombátor: Az általáosított regresszós séma kapcsá az egyk gyakra haszált modell-családot az alább ábra mutata be. A modell két részből áll: az egyk egy rögzített függvéy, a másk egy változtatható paraméterekkel súlyozó leárs kombátor. x () w () u() f(u) x () w () () T Ebbe az u() dszkrét értéksorozatból egy X ) x ( ) x ( ) x ( ) ( o N értéksorozatot állítuk elő először, mad eze értékek leárs kombácóakét állítuk elő az y ˆ( ) értéket. Az optmumkeresés sorá T a W ) w ( ) w ( ) w ( ) ( N paraméterek legkedvezőbb, mmáls égyzetes hbát eredméyező beállítására törekszük. Mmalzáluk az E T T T ( ) E[ y( ) X ( ) W( )] [ y( ) X ( ) W( )] T T T T y ( ) y( ) W ( ) EX ( ) y( ) W ( ) EX ( ) X ( ) W( ). () T Vezessük be a EX ( ) y( ) P, és a EX ( ) X ( ) R elölést! Ezzel a szélsőérték keresés ( ) P RW ( ), amből az optmáls beállítás: W * R P () W ( ) A () összefüggés az ú. Weer-Hopf egyelet. Példa: Legye X T ( ) s( / N) s( ( ) / N mtáa. u() = x () = s ( π N ) x N- () w N- () z, azaz egy szuszos hullámforma két egymás utá x () = s ( π N ) f(u) x () = s π N ( ) 5

52 Beágyazott formácós redszerek: 4. gyakorlat, és A regresszós vektor és a paraméter vektor ebbe a példába kétdmezós. Itt most N azt elöl, hogy a szuszos hullámforma egy peródusa háy mtából áll. y( ) cos( / N). Hogya válasszuk meg a W T ( ) w ( ) w ( ) () paramétereket ahhoz, hogy a közelítés égyzetes hbáa mmáls legye? A R és a P mátrxok a szuszos, ll. koszuszos hullámformák teles (N>) peródusra törtéő átlagolásával származtathatók:.5.5cos R N, P. (3).5cos.5 s N N cos( ) Es ( / N) Es ( ( )/ N). 5, Es( / N)s( ( )/ N) N, E s( / N)cos( / N), E s( ( )/ N)cos( / N) s. N.5.5cos N * R, ta( / N) W R P (4).5s.5cos.5 N N s( / N) Megegyzések: * s( / N) s( ( )/ N). X T ( ) W cos( / N). ta( / N) s( / N). Mvel szuszos mták leárs kombácóával hba élkül elő lehet állíta koszuszos hullámformák mtát, ezért a példa szert esetbe m, azaz a hbafelület parabolod legalsó pota ért a paraméterek síkát. * Út az adaptív elárásokhoz: () és () alapá: W R P, ( ) ( RW ( ) P). Ez utóbb mdkét oldalát megszorozva az R mátrxszal: * W W ( ) R ( ). (5) Feltételezve, hogy cs tökéletes smeretük az R mátrxról, és ebből adódóa a gradesről, (5) átírható egy teratív formára: ˆ W ( ) W ( ) R ˆ ( ), lletve a bátorság téyező bevezetésével, vsszaírva a tökéletes R mátrxot és gradest W( ) W( ) R ( ). (6) Megegyzések:. Ha potosa smerük az R mátrxot és gradest, akkor egylépéses kovergecát bztosít tetszőleges W() kezdőpotból. *. Mvel ( ) R[ W( ) W ], ezért ezt a (6) összefüggésbe behelyettesítve, és az egyelet mdkét oldalából levova * W értékét: 5

53 Beágyazott formácós redszerek: 4. gyakorlat, és * * W( ) W ( )( W( ) W ) V( ) ( ) V(), vagys a kezdet hba expoecáls elleggel csökke, ha. Ha. 5, akkor mooto csökkeő hbával, ellekező esetbe pedg mooto csökkeő ampltúdóú, de legő ellegű hbával közelítük meg. 3. A modell-llesztés grades módszeret a szert külöböztetük meg, hogy a (6) szert összefüggés alkalmazásához mlye előzetes smeretek állak redelkezésükre. Az adaptív leárs kombátor működését leíró egyeletek, ameybe az R és a P mátrxok smertek: W( ) W( ) R ( ), ll. V( ) ( ) V( ). (7) 53

54 Beágyazott formácós redszerek: 7. előadás, Meységek, változók valós deű redszerekbe (folytatás) A replkátum determzmusa Ha a megbízhatóságot aktív redudacával, azaz fzka többszörözéssel avítuk, akkor a párhuzamosa működő egységekél meg kell követelük, hogy () a kívülről látható RAM állapotuk ugyaaz legye, és () a kmeetek azoosak legyeek, maxmum d dőbe eltéréssel. A d értékét a redszer damka tuladosága alapá határozhatuk meg: kell, hogy marado dő a hbás vagy háyzó adat pótlására a replkátumból. Példa: Három csatorás repülés-ráyító redszer többség szavazással. Mdegyk csatora öálló szezorokkal és számítógépekkel redelkezk, hogy az Ú. közös-módusú hbák valószíűségét mmalzáluk. A felszállás kezdete eseméyt követőe egy előírt dő belül a vezérlő redszerek elleőrze kell, hogy a repülőgép elérte-e a felszálláshoz szükséges sebességet. Ha ge, akkor kezdeméyez az emelkedést és a motorokat tovább gyorsíta. Ha em, akkor a felszállás folyamat megszakítadó, és a motorokat le kell állíta. Az alább táblázat egy olya helyzetet ír le, ahol a replkátum determzmusa feltétel em telesül, és a hbás csatora érvéyesül a dötésbe: Csatora Dötés Akcó. csatora Felszállás Motor gyorsítása. csatora Megszakítás Motor leállítása 3. csatora Megszakítás Motor gyorsítása A táblázat szert első két csatora helyese működk, csak em telesül a replkátum determzmusa feltétel. Véletle hatások eredméyeképpe (eltérés a szezor kalbrácóba, dgtalzálás hba, a sebességmérés dőpotába kcs eltérés) a két csatora eltérő következtetésre ut. A harmadk csatora hbása működk, mert megszakítást döt, és gyorsíta a motort. Az akcóra voatkozó többség szavazás a hbás csatora által avasolt eredméyt hoz a replkátum determzmusára voatkozó feltétel telesüléséek háyába. Mtavételezés és lekérdezés: Mtavételezés (samplg) szóhaszálattal élük, ha az adatot a szezor egységél íruk memórába: memóra számítógép A mtavételezés megóva a redszert, hogy több eseméy érkezze, mt a specfkácóba rögzített. A memóra a számítógép befolyásolhatóság tartomáyá kívül helyezkedk el. A számítógép leállása, úradulása eseté a memóratartalom em vész el. A lekérdezés (pollg) szóhaszálattal élük, ha az adatot a számítógép memóráába helyezzük: memóra számítógép Fukcoáls szempotból a két megoldás em tér el egymástól, de hba eseté a mtavételezés robusztusabb. 54

55 Beágyazott formácós redszerek: 7. előadás, Megegyzés: Az terrupt mechazmus a pollgot bemutató ábrával ellemezhető. Súlyos problémáa, hogy külső eszköz befolyásolhatóság tartomáyába helyez a számítógépet, ezért fokozott körültektéssel kell alkalmaz, mert hba eseté oly mértékbe túlterhelhet a processzort, hogy az képtele lesz feladatat (dőre) ellát. 6. Valós deű kommukácó Az általáos séma: -edk HOST k-adk HOST Trasport Protocol Hadler Network-Access-Cotrol Hadler TPH NACH Kommukácós hálózat Megegyzés: Általába boyolult mechazmusok, várólsták ellemzőek. Valós deű követelméyek eheze telesíthetőek. Az dővszoyok krtkus volta a fzka szte s ól azoosítható. Aszkro kommukácó eseté szkrozálás kell, ez a hadshakg. A kétvezetékes hadshake: Adó oldal vezeték Vevő oldal vezeték Érvéyes adat Érvéyes adat Előző adat feldolgozva Adat elfogadva Adat feldolgozva A kommukácó sebesség- és dővszoyat az adó és a vevő sebessége és egyéb feladata együtt határozzák meg, hsze az adat vevő oldal feldolgozáság úabb adat továbbításába az adó em godolkodhat. Követelméyek:. Lehetőleg ks protokoll késleltetés (protocol latecy) és tter (latecy tter). (Latecy áryaltabb eletése: lappagás, homály, elretettség).. Kompoálhatóság: segíte kell az dőbe követelméyek telesülését: HOST CNI (Commucato Network Iterface), dőszakos tűzfal szerep, HOST öálló tesztelhetősége. 3. Flexbltás: gépkocs fukcók dőbe működése extrákkal, extrák élkül 4. Hbadetektálás: Jósolható és hbatűrő kommukácó kell. Ed-to-ed yugtázás. Egy szelep záro automatkusa, ha az állítását lehetővé tevő vezeték elszakad, de erről mee értesítés a közpotak. 5. Struktúra: pot-pot kapcsolat kezelhetetle boyolultságú kábelezéssel ár, helyette busz és gyűrű. 55

56 Beágyazott formácós redszerek: 7. előadás, Az adatáramlás szabályozása (flow cotrol): Explct forgalomszabályozás: Példa: PAR (Postve Ackowledgemet or Retrasmsso) protokollok: Több változat va, de ezek közösek az alábbakba: () Az adóoldal kles kezdeméyez. () A vevő ogosult késleltet. (3) A hbát az adó detektála. (4) Hbaavítás dőbe redudacával. Kles Adó Vevő Kles Adó oldal program: () Az smételt küldések számlálóát ullázzuk. () Idítuk a vsszagazoláshoz redelt tme-out számlálót. (3) Idítuk az üzeetet. (4) A tme-out-o belül fogaduk a vsszagazolást. (5) Értesítük a klest a skeres adattovábbításról. Ha cs vsszagazolás a tme-out-o belül: (a) Elleőrzzük az smételt küldések számlálóát, hogy elérte-e a maxmumát. (b) Ha ge, akkor megszakít mde tevékeységet, és hbát elez a klesek. (c) Ha em, akkor kremetála az smételt küldések számlálóát, és vsszatér a fet () pothoz. Vevő oldal program: () Üzeet érkezésekor elleőrz, hogy ez az üzeet érkezett-e már korábba. () Ha em, akkor vsszagazol, és értesít a klesét. (3) Ha ge, akkor csak vsszagazol. (Ilyekor az előző vsszagazolás tme-out dő túl érkezhetett az adóhoz, ha egyáltalá megérkezett. Megegyzés: Az adó oldalo a vétel vsszagazolása és a vevőoldalo az adat elfogadás dőpota között eletős eltérés lehet. Példa: Toke vezérelt buszo az üzeettovábbítás dee ms, a toke körülárás dee ms. A beállítadó tme-out: +++= ms, hsze worst-case esetbe, ha éppe elmet a toke ms-ot kell vár, erre ö az üzeettovábbítás ms-a, mad a vsszagazoláskor ugyaez smétlődhet. A d m = ms, a d max = (smétlések száma)*tme-out+ ms+ ms. Ha kétszer smétlük (azaz háromszor próbálkozuk), akkor d max = 55 ms. Ezekkel éháy ellemző a következőképpe alakul: - tter= d max - d m =54 ms. - Akcó késleltetés, ha va globáls óra: d max = 55 ms. - Akcó késleltetés, ha cs globáls óra: * d max - d m = 9 ms. - A hbadetektálás késleltetése: 3*tme-out: 66 ms. A PAR protokoll és a számpélda azt llusztrála, hogy az ú. explct forgalomszabályozás valós deű alkalmazásokba kedvezőtle lehet a agymértékű tter, akcó késleltetés és hbadetektálás késleltetés matt. A PAR protokollak sokféle változata va, de mdegyk a következőkö alapszk: () A kommukácót az az adóoldal kles kezdeméyez. () A vevő ogosult késleltet az adót a kétráyú kommukácós közege keresztül. 56

57 Beágyazott formácós redszerek: 7. előadás, (3) A kommukácó hbáát az adó detektála, em a vevő. A vevő em kap arra voatkozóa formácót, hogy mkor törtét a hba. (4) A hba avítására dőredudacát haszálak, amely övel a protokoll késleltetést. Implct forgalomszabályozás: Óra Kles Adó Vevő Kles A kommukácó dővezérelt. Az adó és a vevő s redelkezk egy tervezés dőbe elkészült dőred táblázattal ( vasút meetred ). Ebbe egyértelmű az adás és egydeűleg a vétel dőpota/dőtervalluma. Az adó az óraütés vezérlésére ktola az üzeetet, a vevő pedg behúzza (push-pull ellegű működés). Ez a logka sok esetbe obba lleszkedk a valós deű követelméyekhez. A hbadetektálás például a vevő által azoal lehetővé válk, ha a várt adat em érkezk meg. (Az adó részéről ez egy ú. fal-slet üzemmódba létet elet, azaz hbás állapotát azzal elz, hogy em küld üzeetet.) Globáls dőalap kell. Az adó csak meghatározott dőpotokba ad, cs hadshake, a hbadetektálás a vevő dolga: tuda, hogy mkor kell/kellett vola üzeetek érkeze. A hbatűrés aktív redudacával valósul meg: k fzka üzeet kópa, ha legalább egy megérkezk, addg skeres. A csatora egyráyú, am többszereplős esetbe előyös. () A kommukácót az óraütés kezdeméyez. () A vevő s az óraütést követőe vára az üzeetet. (3) A hbát a vevő detektála tpkusa azáltal, hogy az előírt dőbe az adat em érkezk meg. (4) Hbaavításra aktív/hardver redudacát haszálak. Az dővezérelt archtektúra (Tme Trggered Archtecture, TTA) és az dővezérelt protokollok (Tme- Trggered Protocols, TTP) (Az dővezérelt archtektúráról és protokollról részletes leírás található a tatárgy taszék holapá. Az alábbak csak éháy kemelt ellemzőt foglalak össze, ll. olya részleteket, amelyek az említett dokumetumba em szerepelek.) Hard real-tme (HRT) redszerek mplemetálására szolgál. Két változata va: a TTP/C, amely hbatűrő HRT redszerekhez készült, és a TTP/A, amely olcsó par alkalmazások eseté ö számításba (pl. terep busz (feld bus) alkalmazásokba). A redszer hbatűrő egységekből (FTU: Fault Toleret Ut) felépülő fürt (cluster). Mde FTU cluster egy, kettő, vagy több csomópotból áll, amelyeket a kommukácós hálózat köt össze. Mde csomópot két részredszerből, a host számítógépből és a kommukácós vezérlőből áll. A kommukácós hálózat terfész (CNI) a csomópoto belül terfész a host és a kommukácós vezérlő között. A CNI egy dual-portos RAM memóra (DPRAM). Az adat tegrtást a No-Blockg Wrte (NBW) Protocol bztosíta (lásd később). A kommukácós vezérlő lokáls memóráa tartalmazza az üzeeteket leíró lstát (Message Descrpto Lst: MEDL), amely meghatározza, hogy mely dőpotba küldhet a csomópot üzeetet, ll. mely dőpotba várhat más csomópotból. A MEDL méretét a fürt-cklus mérete határozza meg. A TTP vezérlő függetle hardverkét ú. Bus Guarda egységeket s tartalmaz, amelyek fgyelk a vezérlő busz-hozzáférés mtát, és leállíták a vezérlő működését, ha a szabályos hozzáférés mták dőzítése megsérül. Fotos tuladoságok: () A TTP egy dőosztásos-többszörös-hozzáférésű (tme-dvso-multple-access: TDMA) protokoll. () A kompoálhatóságot szolgála, hogy a kommukácós vezérlő autoóm, amelyet a MEDL és a globáls óra vezérel. A host számítógépek hbáa em tuda befolyásol a kommukácós redszert, mert vezérlő el em megy át a CNI- és a MEDL em férhető hozzá a host felől. (3) A kommukácó móda tervezés dőbe dől el (olya, mt a vasút meetred), mdek előre tuda, hogy 57

58 Beágyazott formácós redszerek: 7. előadás, mkor kap, ll. mkor küld üzeetet. Ha háyzk/elmarad az üzeet, akkor azoal detektálható a hba. (4) Az üzeet azoosítása (amg): az üzeet és küldőéek eve em kell, hogy része legye az üzeetek, a MEDL-ből kyerhető. Ugyaaak az RT változóak más és más evet adhatuk az egyes host-ok szoftverébe. (5) Vsszagazolás: előzetese tuduk, mde helyese működő vevő vesz a helyese működő adó üzeetét. Amt egy vevő vsszagazol egy üzeetet, arra lehet következtet, hogy az üzeet kküldése helyese törtét és azt mde helyese működő vevő megkapta. (6) Hba eseté hallgatás az dőtartomáyba: a TTP feltételez, hogy a csomópotok támogaták a fal slece absztrakcót az dőtartomáyba, am azt elet, hogy egy csomópot vagy küld üzeetet a helyes dőpotba, vagy em küld semmt. A csomópotak ezt a tuladoságát a TTP vezérlő belül a bus guarda valósíta meg. Az ampltúdó tartomáyba a hbakezelés a host felelőssége, a TTP csak CRC-t bztosít. Host computer CNI DPRAM TTP Cotrol Data ROM Protocol Processor BG BG TTP Bus A CNI felépítése: A CNI az dővezérelt archtektúra legfotosabb terfésze, mert ez az egyetle terfész, amely a host szoftvere által látható. A Status Regster-eket a TTP vezérlő íra, a Cotrol Regster-eket pedg a host. Status Regsters (S) Global Iteral Tme (S) Node Tme (S3) Message Descrpto Lst (S4) Membershp (S5) Status Iformato Cotrol Regsters (C) Watchdog (C) Tmeout Regster (C3) Mode Chage Request (C4) Recofgurato Request (C5) Exteral Rate Correcto S: A fürt közös óráa két báto. S: a vezérlő saát óráa. S3: MEDL Poter. S4: ay btből áll, aháy csomópot va a fürtbe. Ha egy bt TRUE, akkor működött az llető csomópot a legutolsó kommukácós dőszeletbe, ha FALSE, akkor em működött. C: A host perodkusa frssít, a vezérlő elleőrz. Ha elmarad a frssítés, akkor a vezérlő hbát setve leállíta az üzeetküldést. C: A host íra, leártakor megszakítást okoz. Például a host a fürt óráához szkrozálhata magát egy előírt később dőbe. C3: Például ú ütemezésre lehet áttér eek segítségével. C4: Meghbásodás eseté szerepcsere kezdeméyezhető. C5: külső óra szkrozálást (pl. GPS) tesz lehetővé. A Message Descrpto Lst (MEDL) felépítése Node Tme Address D L I A Mkor Mt: Az üzeet címe ráy hossz 58

59 Beágyazott formácós redszerek: 7. előadás, I: azt ada meg, hogy calzálással kapcsolatos üzeet, vagy ormál üzeet. A: egy tovább paramétermező, amely a változtatásokkal (mode chages) kapcsolatos formácókat tartalmaz. A hbatűrő egységek (Fault-Tolerat Uts) redeltetése egy csomópot hbááak a maszkolása. Ha a csomópot a fal-slet absztrakcót valósíta meg, akkor a csomópotok duplkálása elegedő egyszeres csomópot-hba tolerálására. Ha a csomópot em valósíta meg a fal-slet absztrakcót, de lehet értékhbáa a CNI-él, akkor háromszoros modulárs redudaca (TMR: trple modular redudacy) valósítadó meg. Ez háromból kettő szavazással maszkola az érték-hbát. Ha a csomópot hba eseté fellépő vselkedéséről semmt sem tuduk, azaz akár bzác típusú hba s felléphet, akkor égy csomópot tuda maszkol a hbát. A protokoll tervezés alapvető koflktusa A kegyesúlyozott protokoll tervezés törekszk számos szempot összeegyeztetésére. Vaak azoba olyaok, amelyek em egyeztethetők össze. Az alábbak ezek közül mutatak be éháyat buszo törtéő kommukácó esetébe. Külső vezérlés kompoálhatóság Képzelük el egy elosztott valós-deű redszert. Mde csomópothoz tartozk egy host számítógép, amek va egy kommukácós hálózat terfésze (Commucato Network Iterface: CNI). Az dőtartomáybel kompoálhatóság megkíváa, hogy: - a CNI telese specfkált legye az dőtartomáyba; - a redszerbe tovább csomópotok tegrálása semmlye változást em déz elő az egyes CNI-k dőbe tuladoságat lletőe, - mde host dőbe tuladosága a CNI-től függetleül tesztelhetők. Ha az dőbe tuladoságok cseek bee a CNI specfkácóába, akkor, például azért, mert az üzeetküldés dőpota külső és smeretle formácó a kommukácós redszer számára, em lehetséges a kompoálhatóság bztosítása az dőtartomáyba. Ha a CNI dőbe tuladosága teles mértékbe specfkáltak, akkor az alacsoysztű kompoálhatóság elérhető. (Az alkalmazó program szté ettől függetleül lehetek olya ósolhatatla kmeetű kölcsöhatások, amelyek az alacsoysztű kommukácós terfészbe em detektálhatóak, és amelyek a magas sztű kompoálhatóságot kzárák.) Az eseméyvezérelt redszerek esetébe az dőbe vezérlés ele külső forrásból származak, ezért a csomópotok host számítógépebe az alacsoysztű kompoálhatóság em bztosítható. Példa: Ha a csomópotok mdegyke bármkor verseyezhet az egyetle kommukácós csatora brtoklásáért, akkor képteleség elkerül az ütközések következtébe fellépő átvtel késletetést bármlye okos közeg-hozzáférés protokollt alkalmazuk s. A árulékos átvtel/kommukácós késleltetések érvéyteleíthetk a valós deű képek dőbe potosságát. Flexbltás hbadetektálás A flexbltás azt elet, hogy a csomópot vselkedése cs előzetese korlátozva. Replkátum élkül archtektúrába a hba detektálása csak akkor lehetséges, ha az aktuáls vselkedés összevethető a várt vselkedésre voatkozó előzetes (a pror) smerettel. Ha lye smeret em áll redelkezésre, akkor a hálózat em védhető meg a hbás csomópotától. Példa: Ha egy eseméyvezérelt redszerbe perodkus működést em tételezhetük fel, ha cs az üzeetküldés gyakorságáak valamlye korláta, akkor em kerülhető el, hogy egy (esetlegese hbás) csomópot e saátítsa k a hálózatot. Példa: Ha egy csomópotot em kéyszerítük arra, hogy redszeres dőközökét szívdobbaás ellegű üzeeteket küldö, akkor em lehetséges a csomópot hbáát detektál (valamlye korlátozott késleltetéssel). Sporadkus adat perodkus adat 59

60 Beágyazott formácós redszerek: 7. előadás, Egy valós deű protokoll lehet hatékoy perodkus adatra és sporadkus adatra, de egydeűleg mdkettőre em. Perodkus adat továbbítása (Pl. szabályozás hurkok koordálására haszált adatok esetébe) mmáls kommukácós késleltetéssel (latecy tter) kell, hogy megtörtée. Mvel a perodkus adat továbbításáak dee előzetese smert, ezért koflktusmetes ütemezések készíthető off-le. A sporadkus adatokat kérésre, és mmáls késleltetéssel kell továbbíta. Ha a külső kérés dőpota egybeesk a perodkus adat továbbítás dőpotával, akkor el kell döte, hogy melyket késleltetük. Bármelyk esetbe a kommukácós késletetés ő, azaz mdkét cél egydeű kelégítése em lehetséges. Egy potról törtéő vezérlés hbatűrés Mde protokoll, amelyet egy potról vezérelük, egy meghbásodás pottal redelkezk. Ez egyértelmű egy közpot master-e alapuló kommukácó protokoll esetébe. De lye módo vselkedk mde dőpllaatba egy toke-passg redszer s: ha toke-t brtokló csomópot elromlk, akkor cs tovább kommukácó mdaddg, amíg em detektáluk a toke elvesztését árulékos tme-out mechazmussal, és helyre em állítuk a toke-t. Ez dőt vesz géybe, és megszakíta a valós-deű kommukácót. Bzoyos értelembe a toke helyreállítás emtrváls problémáa kapcsolódk a közpot master átkapcsolása egy stadby masterre problémához egy mult-master protokollba. Valószíűség hozzáférés a replkátum determzmusa Ha közeg-hozzáférés valószíűség mechazmusokkal (pl. a koflktus feloldás véletle számok alkalmazásával) törték, akkor aktív redudaca géye eseté em garatálható, hogy a replkátum a versegő csomópotok közül ugyaazt hozza k győztesek. A replkátum determzmusa élkül a replkátum eltérő helyes eredméyre uthat, ez azoba a redszer egészébe kozsztecát eredméyez. Telesítőképesség határok TT redszerekbe: Tegyük fel, hogy az egy-egy üzeet továbbítására szát keretek µs dőtartamúak, és 8%-os a sávszélesség khaszálás, tehát 5 µs az ú. ter-frame-gap. Ez a 5 µs gyakorság 4 üzeet/sec üzeettovábbítás sebességet tesz lehetővé. Ha csomópotot foglal magába a fürt(klaszter), akkor ez csomópotokét 4kHz-es mtavétel frekvecát elet. Természetese a µs alatt átvhető adatmeység a sávszélesség függvéye. Példa: 5Mbt/s sávszélesség eseté 5* 6 ** -6 = bt (~ byte) vhető át. Példa: Gbt/s sávszélesség eseté * 9 ** -6 = bt (5 byte) vhető át. Szkrozácó ET és TT redszerek között A csomópot host gépe eseméyvezérelt (ET) módo működk, a hálózat pedg dővezérelt (TT). Ez utóbb azt elet, hogy a hálózat kommukácó terfésze (CNI) em blokkolható következméyek élkül. A hálózat felől írást vzsgáluk. NBW: No-blockg Wrte Protocol: Egy író (CNI), több olvasó (a host taska) va a redszerbe. A CNI blokkolás élkül (had-shake élkül) átíra a DPRAM tartalmát, am azoba egybeeshet egy olvasással kozszteca léphet fel. Ha az olvasó észlel az terferecát, akkor megpróbála úra mdaddg, amíg meg em kapa a kozsztes verzót. Az olvasás próbálkozások száma korlátos kell legye. A protokollak szüksége va egy együttfutó vezérlő mezőre (Cocurrecy Cotrol Feld: CCF), amelyhez a hozzáférést kölcsööse kzáró módo, hardverrel kell garatál. Ezt ullára kell calzál és az író által kremetál az írás megkezdése előtt, mad a végé s. Az olvasó az olvasás művelet előtt olvassa a CCFet és ha páratla, akkor azoal smétel, ha em, akkor az olvasás végé elleőrz, hogy változott-e a CCF, azaz törtét-e írás dőközbe, ha ge, akkor úból próbálkozk. Icalzálás: CCF:= Írás: Start: CCF_old:=CCF; CCF:=CCF_old+; 6

61 Beágyazott formácós redszerek: 7. előadás, <írás> CCF:=CCF_old+; Olvasás: Start: CCF_beg:=CCF; f CCF_beg=odd the goto Start; <olvasás> CCF_ed:=CCF; f CCF_ed CCF_beg the goto Start; Az olvasás próbálkozások száma korlátos, ha az írások között dő léyegese agyobb, mt maga az írás, vagy az olvasás. 6

62 Beágyazott formácós redszerek: 5. gyakorlat, 7... és Valós deű kommukácó Kommukácós közeg ellemzők: A csatora ellemzők: () sávszélesség kbt-sec -> Mbt/sec pl. autóba, vezetéke, Gbt/sec üvegszálo. () teredés sebesség/késleltetés: 3 km/sec, láb/sec. Kábelbe eek /3-a. Pl.: 5 sec kell km megtételéhez. (3) csatora bt hosszúsága: azo btek száma, amelyek a teredés késleltetés alatt átérek. Pl. Mbt/s sávszélesség mellett m hosszú kábele a bt hosszúság bt, mert a teredés késleltetés eze a hosszo sec. (4) adat hatékoyság: buszo törtéő kommukácó eseté k kell vár mmálsa egy teredés késleltetésy dőt ahhoz, hogy az adó úból adhasso (a buszo lévő tartalmat kmerevítük addg, amíg a vevő em olvassa be oa az adatot. Az adat hatékoyság < m/(m+bl), ahol m az üzeethossz, bl pedg a csatora bthosszúsága. Pl. km hosszú buszo, Mbt/s sávszélesség mellett bl = 5, ha az üzeet bt, akkor az adat hatékoyság: /(+5) = 6.6%. m 5 µs m Megegyzések a kommukácó témaköréhez:. A fzka réteg szté a kommukácó: () aszkro: ha szkrozácóra alkalmas elszt-átmeet csak az üzeet eleé va. Pl. az UART (Uversal Aszchroous Recever Trasmtter) lye: általába rövd üzeet, pl. bt, így olcsó oszcllátor s elég (pl. - sec/sec). () szkro: meet közbe s szkrozál, mert vaak erre haszálható sztátmeete. Megegyzés: Fgyelük meg, hogy az aszkro és szkro tt mást elet, mt általába! Példák: adás NRZ kód (o-retur-to-zero): em szkrozáló : magas szt, alacsoy szt Machester kód: szkrozáló : felfutó él, lefutó él két órael között félúto : az éppe következő bt döt el, hogy az órael deébe vssza kell-e fut a másk sztre, vagy sem. Hátráya, hogy / bt-cellával ellemezhető: kétszer s változhat a el, míg más kódokba legfelebb egyszer. Módosított frekvecamodulácós kód: szkrozáló : órael és adatel pozícók helyezkedek el egymást váltva. : elváltás törték, : em törték elváltás az adatel pozícóba. Ha több mt két va egymás utá, akkor az órael pozícóba elváltás lesz.. A protokoll tervezés alapvető koflktusa (A 7. előadás ayaga volt, de ott em hagzott el.) A kegyesúlyozott protokoll tervezés törekszk számos szempot összeegyeztetésére. Vaak azoba olyaok, amelyek em egyeztethetők össze. Az alábbak ezek közül mutatak be éháyat buszo törtéő kommukácó esetébe. Külső vezérlés kompoálhatóság Képzelük el egy elosztott valós-deű redszert. Mde csomópothoz tartozk egy host számítógép, amek va egy kommukácós hálózat terfésze (Commucato Network Iterface: CNI). Az dőtartomáybel kompoálhatóság megkíváa, hogy: - a CNI telese specfkált legye az dőtartomáyba; - a redszerbe tovább csomópotok tegrálása semmlye változást em déz elő az egyes CNI-k dőbe tuladoságat lletőe, 6 vétel

63 Beágyazott formácós redszerek: 5. gyakorlat, 7... és mde host dőbe tuladosága a CNI-től függetleül tesztelhetők. Ha az dőbe tuladoságok cseek bee a CNI specfkácóába, akkor, például azért, mert az üzeetküldés dőpota külső és smeretle formácó a kommukácós redszer számára, em lehetséges a kompoálhatóság bztosítása az dőtartomáyba. Ha a CNI dőbe tuladosága teles mértékbe specfkáltak, akkor az alacsoysztű kompoálhatóság elérhető. (Az alkalmazó program szté ettől függetleül lehetek olya ósolhatatla kmeetű kölcsöhatások, amelyek az alacsoysztű kommukácós terfészbe em detektálhatóak, és amelyek a magas sztű kompoálhatóságot kzárák.) Az eseméyvezérelt redszerek esetébe az dőbe vezérlés ele külső forrásból származak, ezért a csomópotok host számítógépebe az alacsoysztű kompoálhatóság em bztosítható. Példa: Ha a csomópotok mdegyke bármkor verseyezhet az egyetle kommukácós csatora brtoklásáért, akkor képteleség elkerül az ütközések következtébe fellépő átvtel késletetést bármlye okos közeg-hozzáférés protokollt alkalmazuk s. A árulékos átvtel/kommukácós késleltetések érvéyteleíthetk a valós deű képek dőbe potosságát. Flexbltás hbadetektálás A flexbltás azt elet, hogy a csomópot vselkedése cs előzetese korlátozva. Replkátum élkül archtektúrába a hba detektálása csak akkor lehetséges, ha az aktuáls vselkedés összevethető a várt vselkedésre voatkozó előzetes (a pror) smerettel. Ha lye smeret em áll redelkezésre, akkor a hálózat em védhető meg a hbás csomópotától. Példa: Ha egy eseméyvezérelt redszerbe perodkus működést em tételezhetük fel, ha cs az üzeetküldés gyakorságáak valamlye korláta, akkor em kerülhető el, hogy egy (esetlegese hbás) csomópot e saátítsa k a hálózatot. Példa: Ha egy csomópotot em kéyszerítük arra, hogy redszeres dőközökét szívdobbaás ellegű üzeeteket küldö, akkor em lehetséges a csomópot hbáát detektál (valamlye korlátozott késleltetéssel). Sporadkus adat perodkus adat Egy valós deű protokoll lehet hatékoy perodkus adatra és sporadkus adatra, de egydeűleg mdkettőre em. Perodkus adat továbbítása (Pl. szabályozás hurkok koordálására haszált adatok esetébe) mmáls kommukácós késleltetéssel (latecy tter) kell megtörtée. Mvel a perodkus adat továbbításáak dee előzetese smert, ezért koflktusmetes ütemezések készíthető off-le. A sporadkus adatokat kérésre, és mmáls késleltetéssel kell továbbíta. Ha a külső kérés dőpota egybeesk a perodkus adat továbbítás dőpotával, akkor el kell döte, hogy melyket késleltetük. Bármelyk esetbe a kommukácós késletetés ő, azaz mdkét cél egydeű kelégítése em lehetséges. Egy potról törtéő vezérlés hbatűrés Mde protokoll, amelyet egy potról vezérelük, egy meghbásodás pottal redelkezk. Ez egyértelmű egy közpot master-e alapuló kommukácó protokoll esetébe. De lye módo vselkedk mde dőpllaatba egy toke-passg redszer s: ha toke-t brtokló csomópot elromlk, akkor cs tovább kommukácó mdaddg, amíg em detektáluk a toke elvesztését árulékos tme-out mechazmussal, és helyre em állítuk a toke-t. Ez dőt vesz géybe, és megszakíta a valós-deű kommukácót. Bzoyos értelembe a toke helyreállítás emtrváls problémáa kapcsolódk a közpot master átkapcsolása egy stadby masterre problémához egy mult-master protokollba. Valószíűség hozzáférés a replkátum determzmusa Ha közeg-hozzáférés valószíűség mechazmusokkal (pl. a koflktus feloldás véletle számok alkalmazásával) törték, akkor aktív redudaca géye eseté em garatálható, hogy a replkátum a versegő csomópotok közül ugyaazt hozza k győztesek. A replkátum determzmusa élkül a replkátum eltérő helyes eredméyre uthat, ez azoba a redszer egészébe kozsztecát eredméyez. 63

64 Beágyazott formácós redszerek: 5. gyakorlat, 7... és Időszkrozácó vezetékélkül hálózatokba A szkrozácó osztálya/fatá: - Külső, belső (potosság, együttfutás) - Időtartam szert: () folytoos (mdg feáll), () kérésre (o demad) Eseméyvezérelt: az dőbélyeg előállításához csak akkor kell szkrozált dő, amkor az eseméy bekövetkezett (Post-facto sychrozato) Idővezérelt: akkor haszáluk, amkor több szezor adatára va szükségük egy adott dőpotra: () közvetle (mmedate): Vegye mtát azoal, és redele hozzá dőbélyeget; () Előre megadott (atcpated) dőpotbel mtavétel, amt akkor haszáluk, ha az adattovábbítás párhuzamos megvalósítása ehézségekbe ütközk, vagy ha több ugrás (hop) szükséges. (A megfelelő mőségű szkrozált állapotot elérése csak az előre megadott dőpotra esedékes.) (Pre-facto sychrozato). - Értettség (Scope): mde csomópot vagy csak egy részhalmaz: () hálózat topológa szert; () dőbe értettség. - Ütem, ofszet szkrozácó: () Ütem: a csomópotok azoos dőtervallum-hosszúságot mérek (pl. egy obektum feltűéséek és eltűéséek dőpota között eltelt dő; () Ofszet: mde értett csomópot azoos dőt mutat. - Időskála szkrozácó: hely dő traszformálása egy másk csomópot hely deébe. Óra szkrozácó: ütem és ofszet szkrozácó vagy folyamatos szkrozácó. - Időpllaatok szert: dő+bzoytalaság (valószíűség eloszlás): t = 5 + bzoytalaság Időtervallumok szert: t [4.5, 5.5], agyo ó, ha garatál lehet. Egyráyú szkrozácó: N C (a) d C (a) N N C (b) C (b) N Az N csomópot em smer d-t, csak azt, hogy az N csomópot óráa C (a) értéket azt megelőzőe mutatott, hogy az N csomópot óráa C (b)-t. Ahhoz, hogy szkrozál tuduk vagy C (a) vagy C (b) értékét meg kell becsülük. Ha smert d m d d max, akkor C (a) C (b) d m+d max vagy C (b) C (a) + d m+d max. Ezek smeretébe az N csomópot óráát vagy C (a) C (a) értékkel vagy C (b) C (b) értékkel kell késleltetük/vsszaállítauk. Ha a kommukácó ttere (d max -d m ) agy, akkor az így végrehatott szkrozácó potatla lesz, hsze például C (a) alsó határa C (b) d max, felső határa pedg C (b) d m értékkel adható meg, am lyekor széles tartomáy. Kétráyú (Oda-vssza, roud trp) szkrozácó: Az N csomópot tuda, hogy d D. D = C (c) C (a). Ha d m d d max, akkor max (D d max, d m ) és m (d max, D d m ) adák d korlátat. Az tt számítható becslő: 64 C (b) N C (c) d d N C (a) D C (c)

65 Beágyazott formácós redszerek: 5. gyakorlat, 7... és C (b) C (c) D, amek alsó határa C (c) (D d m ), felső határa pedg C (c) d m. Itt az N csomópot óráát a C (b) C (b) értékkel kell késleltet/vsszaállíta. Ezzel a megoldással obb mőségű szkrozácó érhető el. A worst-case szkrozácós hba: D d m, am az ábra alapá s köye belátható. A módszer potossága avítható az ú. valószíűség dő szkrozácóval, amely esetébe a vétel utá az N csomópot elleőrz, hogy a D d m < egy specfkált küszöbél. Ha em, akkor smétel. Aoím (Referece broadcastg) szkrozácó: Az egyráyú és a kétráyú előyet ötvöz. N k N N N k d N d C (a) D C (b) C (b) N C (a) A szkrozácó kezdeméyezőe az N k csomópot. Azt haszáluk k, hogy mközbe a kommukácó dee változó, a broadcastg ellegből adódóa d d. Ezzel C (b) C (a) + D, amek smeretébe az N csomópot óráát C (b) C (b) értékkel kell késleltetük/vsszaállítauk. Fotos saátosság, hogy az N csomópot szkrozálása úgy valósul meg, hogy eközbe a rádóáak em kell ada. Több csomópot szkrozálása: () egy ugrásos, több master, a masterek szkrozálása kívülről (pl. GPS); () klaszterek felállítása, köztük dő-gateway-ek; (3) fa struktúra: master a gyökérbe: több ugrásos. Távolodva romlk a potosság. 65

66 Beágyazott formácós redszerek: 8. előadás, Beágyazott operácós redszerek 7.. Beágyazott redszerek szoftver voatkozása: Tpkus szoftver archtektúrák Szempotok: számítás kapactás, memóraméret (RAM, ROM), feleszthetőség, továbbfeleszthetőség, reakcódő külső, aszkro eseméyeseté, védelem (memóra), rekurzó, függvéyek úrahívásáak támogatása, processzor khaszáltsága. Tuladoságok, amk alapá mősítük az egyes megoldásokat: maxmáls válaszdő, hardverkezelés megvalósítása, taskok között kommukácó megvalósítása, tervezhetőség, alkalmazás kör Szoftver archtektúrák osztályozása: perodkus, prortásos, eseméyvezérelt, dővezérelt Gyakorlat megvalósítás szempotából: cklkus programszervezés IT-vel kegészített cklkus programszervezés ütemezett függvéyek módszere RTOS Cklkus programszervezés körforgó súlyozott körforgó dővezérelt körforgó szgorúa dővezérelt Egyszerű cklkus programszervezés: A processzor végtele cklusba pörög, akkor s fut, amkor sek sem géyel kszolgálást. vod ma() { whle (TRUE){ f (DevceA_Needs_Servce()) {Servce_A}; f (DevceB_Needs_Servce()) {Servce_B}; f (DevceC_Needs_Servce()) {Servce_C};... } } Tuladoságok: maxmáls válaszdő: ta+ tb+ tc+..., azaz a maxmáls cklusdő. hardverkezelés: lekérdezéssel (pollg) taszkok között kommukácó: megosztott változókkal (em preemptív, így em god!) feleszthetőség: rossz HRT vselkedés: lassú (pl. yomtatás taszk) (ettől még lehet RT) processzor khaszáltság:% (ez NEM ó!) alkalmazás kör: ahol a redszer dőálladóa agyobb a cklus futásáál (gyors és rtka eseméyek) Súlyozott körforgó programszervezés: a gyakorbb taszkok a ckluso belül smétlődhetek vod ma() { whle (TRUE){ f (DevceA_Needs_Servce()) {Servce_A}; f (DevceB_Needs_Servce()) {Servce_B}; f (DevceA_Needs_Servce()) {Servce_A}; 66

67 Beágyazott formácós redszerek: 8. előadás, f (DevceC_Needs_Servce()) {Servce_C}; f (DevceA_Needs_Servce()) {Servce_A};... } } Tuladoságok: max. válaszdő: ta+ tb+ ta+ tc+ ta+.., de gyakorbb taszkokra ksebb, mt a maxmáls cklusdő hardverkezelés: lekérdezéssel (pollg) taszkok között kommukácó: megosztott változókkal (em preemptív, így em god!) feleszthetőség: rossz processzor khaszáltság: továbbra s % egyéb tuladoság: prortás ellegű vselkedés, de NEM preemptív Idővezérelt körforgó programszervezés: A cklus határokat egy tmer ada (csak a határokat!). Tmer ITkét egyszer vagy többször lefut a cklus. Egy ckluso belül lehet súlyozott körforgó. Tuladoságok: max. válaszdő: cklus peródusdee hardverkezelés: lekérdezéssel (pollg) taszkok között kommukácó: megosztott változókkal feleszthetőség: rossz processzor khaszáltság:<%, va stadby Szgorúa dővezérelt programszervezés (tme-trggered protokoll): Mde taszk futása előre meghatározott dőbe dul. Admsztrálás: egy táblázatba az dők és a függvéy referecák (hpercklusokét), mkro futtatóredszer fgyel az dőket, és díta a taszkokat. Tuladoságok: max. válaszdő: adott taszk ütemezett gyakorsága (+ a taszk futás dee) hardverkezelés: lekérdezéssel(pollg) taszkok között kommukácó: megosztott változókkal feleszthetősé : rossz processzor khaszáltság:<% va stadby HRT vselkedés: OK, alkalmazása bztoságkrtkus redszerekbe tpkus IT-vel kegészített cklkus programszervezés: em lekérdezéssel, haem megszakítással elzük. FLAG A, B; vod terrupt A_Hadler() { Hadle_HW_A(); A=TRUE; } vod terrupt B_Hadler() { Hadle_HW_B(); B=TRUE; } vod terrupt C_Hadler() { Hadle_HW_C(); C=TRUE; } vod ma() { whle (TRUE){ f A {A=FALSE; Servce_A(); } f B { B=FALSE; Servce_B(); } f C { C=FALSE; Servce_C(); }... } } Tuladoságok: max. válaszdő: ta+ tb+ tc+...(+ IT) csak a elzés gyorsul, a kszolgálás em hardverkezelés: megszakítással, prortás lehetősége taszkok között kommukácó: megosztott változókkal taszk-taszk között: em god. IT-taszk között: kürítés (megosztott változók problémáa) 67

68 Beágyazott formácós redszerek: 8. előadás, feleszthetőség: IT szempotából ó, de taszkok hozzáadásával megváltozak a vszoyok alkalmazás kör: ha a taszkok futás dee kb. azoos. Ez a legelteredtebb. Ütemezett függvéyek módszere vod terrupt A_Hadler() { Hadle_HW_A(); PutFucto(Servce_A); } vod terrupt B_Hadler() { Hadle_HW_B(); PutFucto(Servce_B); } vod terrupt C_Hadler() { Hadle_HW_C(); PutFucto(Servce_C); } vod Servce_A(); vod Servce_B();vod Servce_C(); vod ma() { whle (TRUE){ whle (IsFuctoQueueEmpty()); CallFrstFromQueue(); } } Tuladoságok: max. válaszdő: leghosszabb taszk futás dee+. taszk futás dee hardverkezelés: megszakítással taszkok között kommukácó: megosztott változókkal task-task között: em god (em preemptív). IT-taszk között: kürítés (megosztott változók problémáa) feleszthetőség: ó queue-ból való kemelés sorrede lehet: () FIFO, () prortás alapá hátráy: továbbra sem preemptív processzor khaszáltság:% Kérdés: hogya kell kegészíte, hogy e legye %? Valósdeű operácós redszerre épített szoftver vod terrupt A_Hadler() { Hadle_HW_A(); Sgal_A(); } vod terrupt B_Hadler() { Hadle_HW_B(); Sgal_B(); } vod Servce_A(); vod Servce_B(); vod task_a(vod) { whle (TRUE){ Wat_for_Sgal_A(); Servce_A(); } } vod task_b(vod) { whle (TRUE){ Wat_for_Sgal_B(); Servce_B(); } } Tuladoságok: max. válaszdő: op. redszer. ellemző adata(~ usec) (+ a taszk futás dee) alacsoyabb prortású taszk eseté: agyobb prortású taszkok deéek összege hardverkezelés: megszakítással taszkok között kommukácó: RTOS kommukácós függvéyekkel. Ez egybe szkrozácó s. feleszthetőség: agyo ó HRT vselkedés: ó processzor khaszáltság:<% (Mkor? Ha dle alatt sleep!) alkalmazás kör: bárhol alkalmazható 68

69 Beágyazott formácós redszerek: 8. előadás, hátráy: operácós redszer plusz kódot és dőt elet Alapfogalmak: beágyazott OS: valósdeű OS: taszk: ob: process: thread: kerel: skálázhatóság: ks erőforrásgéy (uc-e s elfut) külső eseméyre adott véges, determsztkus válaszdő összefüggő tevékeységek sorozata taszkok részfeladata ütemezés egység, saát memóraterülete va (taszkokat így mplemetáluk) ütemezés egység, cs saát memóráa OS maga OS szolgáltatása fordítás dőbe k/bekapcsolhatók, forráskóddal elérhetőség Kerel feladata: párhuzamos programozó köryezet bztosítása, ütemezés, taszkok között kommukácó bztosítása, megszakítások kezelése dőzítés, memóra kezelés Skálázással beöhet még: perférák kezelése, redszerprogramok (API) kommukácós csatorák kezelése vrtuáls memóra maagemet, fle redszer stb. 7.. Asztal és beágyazott operácós redszerek összehasolítása (A valós-deű operácós redszerekről (RTOS) részletes leírás található a tatárgy taszék holapá. Az alábbak csak éháy kemelt ellemzőt foglalak össze, ll. olya részleteket, amelyek az említett dokumetumba em szerepelek.) a. Az asztal operácós redszerek em alkalmasak beágyazott redszerekhez, mert: - szolgáltatása feleslegese széleskörűek; - em modulársak, em hbatűrők, em kofgurálhatóak, em módosíthatóak; - túl agy tárgéyűek; - eergafogyasztásra em optmalzáltak; - em küldetés-krtkus alkalmazásokra tervezték őket; - az dőzítés bzoytalaságok túl agyok. b. Szükség va kofgurálhatóságra: - egyetle RTOS em elégít k mde géyt; - a fel em haszált fukcók/adatok okozta overhead em tolerálható; - sok olya beágyazott redszer va, amelyek cse dszke, blletyűzete, képeryőe, egere. A kofgurálás tpkus eszköze: - a felesleges fukcók eltávolítása (például lker segítségével); - feltételes fordítás alkalmazásával (#f és #fdef paracsok); Megegyzés: A verfkácó ehézkes olya redszerekbe, amelyek agy számba tartalmazak kofgurálással származtatott operácós redszereket: - mde kofgurálással származtatott operácós redszert alaposa tesztel kell; - pl. az ecos (a Red Hat ope source RT operácós redszere) és között kofgurácós pottal redelkezk. c. A beágyazott operácós redszerek eszközmeghatót a taskok kezelk, em pedg tegrált meghatók: 69

70 Beágyazott formácós redszerek: 8. előadás, a ósolhatóságot avíta, ha mdet az ütemező kezel; - praktkusa cs olya eszköz, amelyet az operácós redszer mde változata támogata, legfelebb a redszer dőzítő. Beágyazott RTOS alkalmazó szoftver mddleware-ek eszközmeghatók real-tme kerel Stadard OS alkalmazó szoftver mddleware-ek operácós redszer eszközmeghatók d. A beágyazott operácós redszerekbe megszakítást bármely taszk haszálhat: - A stadard OS-be súlyos megbízhatatlaság forrás lee; - A beágyazott programokról feltételezzük, hogy teszteltek; - Megegedhető, hogy megszakítás közvetleül dítso vagy megállítso taszk-okat (azáltal, hogy a megszakítás táblázatba a taszkok kezdőcímet íruk). Ez hatékoyabb és ósolhatóbb, mt OS szolgáltatásoko keresztül. Megegyzés: - Azoba a kompoálhatóság sérül: ha egy taszk futását egy megszakításhoz kötük, akkor ehéz lehet egy másk taszk hozzáadása, amelyet ugyaahhoz az eseméyhez kötve kell eldíta. - Ha a valós-deű feldolgozás szempot, akkor a megszakítások kszolgálás deét fgyelembe kell ve. Ebbe az esetbe a megszakításokat s az ütemezőek kell kezele. e. A beágyazott operácós redszerekbe védelm mechazmusok em szükségesek mde esetbe: - A beágyazott redszereket tpkusa egy adott célra tervezk, teszteletle programot rtká futtatak, a szoftvert megbízhatóak tektk. - Ncs szükség prvlégzált I/O utasításokra, a task-ok el tudák téz a ráuk voatkozó I/O műveleteket; - Természetese bztoság szempotok védelm mechazmusokat szükségessé tehetek. f. A valós deű operácós redszerek (RTOS) valós deű redszerek létrehozását támogaták. Követelméy: - Az dőbe vselkedés ósolható: mde operácós redszer szolgáltatás esetébe a végrehatás dő maxmuma smert kell legye. Az RTOS determsztkus vselkedésű, madem mde tevékeységet az ütemező felügyel. - Az RTOS téz az dőzítést és az ütemezést: eek érdekébe ó, ha smer a taszk-ok határdeet, és agy felbotású dőzítő szolgáltatásokat kell bztosítso. - Az RTOS legye gyors (praktkus megfotolásból). - Az RTOS folyamat-meedzsmet szolgáltatása: Külső terrupt Külső terrupt kszolgáló Időzítő terrupt Időzítés szolgáltatások Ütemező Task végrehatás Redszerhívás A kerel feladata: Redszer szolgáltatások Kerel 7

71 Beágyazott formácós redszerek: 8. előadás, A kokures (kváz-parallel) feladatok végrehatása task-ok vagy szálak (threads) formáába: - a task állapotok kézbetartásával és a task-ok sorba állításával, - a task preempcók végrehatásával (gyors cotext swtchg) és gyors IT kezeléssel, - A CPU ütemezése (a határdők garatálása, a task várakozások mmalzálása, a számítás telesítméy méltáyos szétosztása); - A task-ok szkrozálása (krtkus szakaszok, szemaforok, motorok, kölcsöös kzárás); - A task-ok között kommukácó (bufferelés); - A valós-deű óra belső referecakét törtéő támogatása. Task Task fut állapotmetés a TCB -ba vár állapot vsszaállítás a TCB -ből vár fut állapotmetés a TCB -be fut állapot vsszaállítás a TCB -ba vár g. Stadard operácós redszerek valós-deű kteresztése A real-tme kerel futtat mde RT task-ot, a stadard OS pedg egyetle task-két hatódk végre: RT-task RT-task o-rt task o-rt task eszközmegható eszközmegható Stadard-OS real-tme kerel Megegyzések: - A stadard OS összeomlása em befolyásola az RT-task-ok futását; - Az RT-task em tuda haszál a stadard OS szolgáltatásokat: a várakozásokat alulmúló elredezés. Példa: RT Lux It Bash Mozlla scheduler Lux-Kerel drver Iterrupts RT-Task RT-Task I/O RT-Lux Hardver 7 RT-scheduler Iterrupts Iterrupts

72 Beágyazott formácós redszerek: 8. előadás, Példa: Posx.b RT-extesos to Lux It Bash Mozlla RT-Task RT-Task POSIX.b scheduler Lux-Kerel drver I/O, Iterrupts A szokváyos Lux scheduler lecserélhető a POSIX scheduler-re, amely RT task-ok számára prortást bztosít. A stadard OS hívások mellett specáls RT hívások s vaak. A programozhatóság egyszerű, de cs garaca a határdők telesülésére. (POSIX: "Portable Operatg System Iterface for ux".) 7.3. Vrtualzácó beágyazott redszerekbe Hardver Vtualzácó: a szoftver hordozhatóságot szolgála, azaz fusso külöféle hardvereke. A vrtuáls gép (VM: Vrtual Mache) olya szoftver köryezetet bztosít az adott szoftver számára, mtha téyleges hardvere futa az alább struktúrába: Alkalmazás Operácós redszer Hypervsor Processzor Az a szoftver réteg, amelyk a vrtuáls köryezetet bztosíta az ú. vrtuáls gép motor (VMM) vagy hypervsor. Három fő fukcóa va: - az eredet géppel azoos szoftver köryezetet bztosít; - legfelebb lassabb a futása; - teles mértékbe felügyel a redszer erőforrásat. A VM utasítások többsége közvetleül végrehatható a hardvere, egy részük terpreter-rel valósul meg. Ezek között vaak: - a vezérlés-érzékey utasítások, amelyek módosíták a prvlegzált gép-állapotokat, ezért terferálak a hypervsor erőforrások felett felügyeletével. - a vselkedés-érzékey utasítások, amelyek hozzáférek (olvassák) a prvlegzált gép-állapotokat. Kokures operácós redszerek vrtuáls gépe User Iterface Software Access Software Stadard OS RTOS Hypervsor Processor 7

73 Beágyazott formácós redszerek: 8. előadás, A bztoság övelése vrtualzácó alkalmazásával User Iterface Access Software Software OS Buffer overflow OS Processor User Iterface Access Software Software OS OS Buffer overflow Hypervsor Processor Az egyk alkalmazás okozta hba em tered át a másk alkalmazásra, mert aak saát operácós redszere va. Lcesz elválasztás vrtualzácó alkalmazásával User Iterface Software Lux GPL Stub (csok) Hypervsor Processor Access Software RTOS Drver GPL: Geeral Publc Lcece. A Lux eze lcesz szabálya szert férhető hozzá szabado. Ezért mde hozzá készített szoftver s szabad hozzáférésű. Ahol ez probléma, ott a Lux és célalkalmazás külö vrtuáls gépeke fut, csak egy ú. csokot (vagy proxy-t) készíteek, amely hyperhvásoko keresztül ér el a em szabad hozzáférésű drvert, és azo keresztül a kapcsolódó hardvert. A vrtualzácó korláta beágyazott redszerekbe: - Az alkalmazások egyre övekvő komplextása mellett a több operácós-redszer futtatás agyo agyméretű kódot eredméyez, am ömagába hbaforrás lehet, agy memórát géyel, többet fogyaszt. - Az egyes alredszerek szoros együttműködése szükséges, ehhez em passzol a szeparáltság. - Az egyes alredszerek hatékoy kommukácóa géy, amt a vrtuáls gép modell em támogat. - Az egyes alredszerek közös erőforrásoko osztozak, amt ehézkes megszervez, ha több operácós redszer fut párhuzamosa. - A vrtualzácó következméye, hogy az ütemezés két szte törték: () Hypervsor és a VM között, () mde VM-e futó operácós redszere belül. - A krtkus bztoság követelméyek telesülését a vrtuálzácó egymaga em támogata. A krtkus kódrészeket (ú. trusted computg base, TCB) prvlegzált módba kell futtat a processzoro. A hypervsor s része a TCB-ek. Az lye kódak bzoyította helyesek kell lee. A vrtualzácó övel az lye kód méretét. Mlye támogató szoftverre va szükségük a beágyazott redszerekek? - támogassa a vrtualzácó mde előyét; - támogassa az erőse kölcsöhatásba lévő, közepes komplextású kompoesek erős egymásbaágyazását aak érdekébe, hogy a hbás állapotból helyreáll képes, robusztus redszereket hozzuk létre; - támogassa a agy sávszélességű, ks késleltetésű kommukácót, amely kofgurálható, redszersztű bztoság poltkával párosul; - globáls ütemezés stratéga érvéyesül a külöféle alredszerek task-ara; - lehesse úgy alredszereket létrehoz, hogy agyo kcs a TCB-ük. A mkrokerel (mcrovsor) techológa: a beágyazott redszerekhez obba lleszkedő vrtualzácós techológa 73

74 Beágyazott formácós redszerek: 8. előadás, A mkrokerel (mcrovsor) egy mmáls prvlegzált szoftver réteg, amely csak általáos mechazmusokat bztosít. Az aktuáls redszerszolgáltatások és stratégák a felhaszáló módba futó kompoeseke valósulak meg. A mkrokerel elve: Egy mkrokerele belül csak olya kocepcóak va létogosultsága, amelyet ha kvszük a kerelből, és ezáltal versegő mplemetácókat egedük meg, az a megkívát redszer fukcoaltás megvalósulását megakadályozá. A mkrokerel em yút semmlye szolgáltatást, csak mechazmusokat bztosít szolgáltatások mplemetálásához. A hagyomáyos (mooltkus) operácós redszer és a mkrokerel alapú redszerek struktúrááak eltérését az alább ábra mutata: Alkalmazás Vrtuáls Fle redszer IPC, Fle redszer Ütemező, vrtuáls memóra Eszközmeghatók, futtató Hardver kerel mód Alkalmazás IPC Ux server eszközmegható fle szerver Mkrokerel + vrtuáls memóra Hardver A hagyomáyos struktúra vertkáls ellegű, a mkrokerel pedg horzotáls. Az utóbbál cs érdem külöbség az alkalmazás és a redszerszolgáltatás között: ezek md felhaszáló módba futak. Mde lye task beágyazódk a kerel által létrehozott hardver memóra mezőébe. Eze kívül más részeket csak kerel mechazmusok révé befolyásolhat, tpkusa üzeetek küldésével. Ezek az ú. message-passg mechazmusok (Iter Process Commucato, IPC). Részletesebb leírások a mkrokerelekről: pl Szkrozácó RTOS szolgáltatások segítségével (Korább taulmáyok smétlése) Szemaforok Semaphore Cotrol Block Bárs vagy emegatív egész SCB Érték Semaphore év vagy ID Task Task várólsta Task a. Bárs szemafor lefoglal (érték=) kezdet érték= szabad em szabad kezdet érték= szabad: avalable em szabad: uavalable lefoglal: acqure eleged: release Globáls erőforrás: akármelyk task felszabadíthata, akkor s, ha em foglalta előzetese. A létrehozáskor lehet szabad vagy em szabad. b. Számláló szemafor lefoglal érték=érték- eleged (érték=) lefoglal (érték=) kezdet érték> szabad em szabad kezdet érték= eleged érték=érték+ eleged (érték=) 74

75 Beágyazott formácós redszerek: 8. előadás, Globáls erőforrás: akármelyk task állíthata, akkor s, ha em foglalta előzetese. Lehet korlátozott számú érték (toke) tpkusa a kezdet érték. Lehet (gyakorlatlag) korlátla számú toke előel élkül egész vagy előel élkül hosszú egész. c. Kölcsöös kzárás (mutex) szemafor lefoglal (érték=) lefoglal érték=érték+ kezdet érték= szabad em szabad szabad: ulocked em szabad: locked eleged (érték=) eleged érték=érték- Mutex tuladolás (owershp): Egy task tuladohoz ut a foglalás révé, és elveszít azt elegedéskor. Másk task em egedhet el, mt a bárs szemafor esetébe. Szemafor műveletek Create Delete Acqure Release A foglalás következméye: bary, coutg, mutex ID megadása a várólsta felszabadítása. Csak szabad szemafor törölhető. alteratívák: take, sm_p, ped, lock: foglal alteratívák: gve, sm_v, post, ulock: eleged - wat forever a task blokkolva addg, amíg em szabadítuk fel - wat wth a tmeout a task blokkolva addg, amíg em szabadítuk fel vagy leár a tme-out - do ot wat megkér a szemafor toke-t, de ha em szabad, akkor em blokkolódk Flush felszabadít mde task-ot, amely egy szemaforra vár. Show fo a szemafor általáos formácót mutata Show blocked tasks azokak a task-okak az ID-ét ada, amelyek várak egy szemaforra. Tpkus szemaforhaszálat Wat-ad-Sgal szkrozácó: Vezérlés átadás: a Wat Task fut először elakad a Sgal Task elfut a felszabadításg. Multple-Task Wat-ad-Sgal szkrozácó: Sgal Task Bárs szemafor kezdet érték= Magasabb prortáso fut Wat Task Wat Task Sgal Task Flush Wat Task Credt-Trackg szkrozácó: Alacsoyabb prortáso fut Bárs szemafor kezdet érték= Wat Task3 Sgal Task Számláló szemafor kezdet érték= Wat Task Tpkus példa: burst-ös el, IT-vel Magasabb prortáso fut 75

76 Beágyazott formácós redszerek: 8. előadás, Sgle Shared-Resource-Access szkrozácó: Access Task Access Task Osztott erőforrás Probléma: tévedésből bárk felszabadíthata a bárs szemafort, ezért mutex szemafor avasolható. Bárs szemafor kezdet érték= Recursve Shared-Resource-Access szkrozácó: Access Task Route A Osztott erőforrás Rekurzív hozzáférés géy esetére kdolgozott, ú. Recursve Mutex segítségével törték. Fotos voatkozás, hogy a Mutex szemafor az Access Task tuladoába kerül. Route B Recursve Mutex szemafor kezdet érték= Access Task ( ) { Acqure Mutex Access shared resource Call Route A Release Mutex } Route A ( ) { Acqure Mutex Access shared resource Call Route B Release Mutex } Route B ( ) { Acqure Mutex Access shared resource Release Mutex } Multple Shared-Resource-Access szkrozácó: Access Task Access Task Ekvvales osztott erőforrás Megegyzés: Aalóga: sorbaállás több péztár eseté. Access Task3 Ekvvales osztott erőforrás Számláló szemafor kezdet érték= az ekvvales erőforrások száma Üzeetsorok (Message Queues): a task-ok üzeetváltását segítő mechazmus Küldő task várólsta Task Queue Cotrol Block Task Max. üzeethossz QCB Sor év/id Sorhossz Memóra Sor elem Vevő task várólsta Task Task A taskok elküldk üzeeteket az üzeetsorba. Ha az üzeetsor megtelt, akkor várólsta képződk a fogadó oldalo. Ha az üzeetsor üres, akkor az üzeetre várók várólstát képezek a vétel oldalo. A működés véges állapotú automatával (Fte State Mache: FSM) írható le. 76

77 Beágyazott formácós redszerek: 8. előadás, létrehozás (msgs=) továbbítva (msgs=) továbbítva (msgs=msgs-) továbbítva (msgs=sorhossz-) üres em üres tele va beérkezett (msgs=) beérkezett (msgs=msgs+) beérkezett (msgs=sorhossz) Megegyzés: Az mplemetácótól függőe az üzeet akár három példáyba s megelehet: () a küldő task memóraterületé, () az üzeetsor memóraterületé, (3) a vevő task memóraterületé. Ha ez az üzeet mérete matt godot okoz, akkor alkalmazható olya mplemetácó, hogy csak az üzeet poterét és az üzeethosszát továbbítuk, maga az üzeet egyetle példáyba va a memórába. Üzeetsor műveletek Create Delete Sed Receve Broadcast Létrehozás Megszütetés Küldés egy üzeetsorak Vétel egy üzeetsorból Küldés mdehová Az elküldött üzeetek továbbítása Frst-I, Frst-Out (FIFO) logka alapá törtéhet, de sürgős üzeetek eseté Last-I, Frst-Out (LIFO) stratéga s felvethető. A küldés lehetséges következméye: - block forever a task blokkolva addg, amíg az üzeetsor tele va - block wth a tmeout a task blokkolva addg, amíg az üzeetsor tele va vagy leár a tme-out - ot block a task akkor sem blokkolódk, ha az üzeetsor tele va (egyes mplemetácók terrupt-tal törtéő küldést s megegedek: az terrupt em blokkolódk, legfelebb hbaüzeetet küld.) Az üzeetsor formácós művelete: Show queue fo Show queue s task-watg lst Tpkus üzeetsor haszálatok No-terlocked, Oe-Way Data Commucato Source Task Sk Task Laza csatolás forma. Ha a küldés terrupt-tal törték, akkor többyre ezt haszálák. Iterlocked, Oe-Way Data Commucato Source Task malbox Sk Task Az üzeet elküldése utá a küldő a bárs szemaforra vár. A szemafor akkor eged tovább, ha a vevő eged. kezdet érték= A malbox egy üzeet fogadására képes üzeetsor. 77

78 Beágyazott formácós redszerek: 8. előadás, Iterlocked, Two-Way Data Commucato CletTask Broadcast Commucato Broadcast Task Server Task Sk Task Sk Task Sk Task3 Általába a Server Task prortása a magasabb, hogy a Clet Task kérése hamar kszolgálásra kerüleek. Tovább Kerel obektumok Ppe: Léyegébe egy FIFO memóra, amely strukturálatla adatok továbbítását tesz lehetővé. Nem külöálló üzeetekből áll, haem egy btsorozat. Működése az üzeetsorhoz hasolóa írható le. Eseméy regszter: A Task Cotrol Block (TCB) része, bte adott eseméyek bekövetkezéséek elzésére szolgálak. Sgal vagy Evet: Szoftver terrupt. A futó task futása megszakad, és a Sgal-hoz/Evet-hez redelt program fut le. Codtoal Varables: Megosztott erőforrásokhoz redelt, ezek révé tudható meg, hogy az adott erőforrás mlye állapotba va. 78

79 8. Esettaulmáyok 8.. Hbrd redszerek Beágyazott formácós redszerek: 9. előadás, Szakaszosa folytoos, általába damkus redszerek, amelyekél a szakaszhatáro markás állapotváltozás következk be. Ebből a szempotból tekthetők olya dszkrét redszerekek, amelyek állapotátmeete között dő értelmezett, és ezalatt törték s valam. Dszkrét redszerek: Példa: Parkoló gépkocsk száma egy parkolóházba (max. M) Érkezés detektor Távozás detektor Feltétel/akcó: Példa: Termosztát hszterézssel: Feltétel/akcó: Számláló Σ fel le c M / c Feltétel/akcó: le fel c / c Feltétel/akcó: Hőmérséklet fok/fűtés_k Hűtés Fűtés A redszer bemeete: a köryezet hőmérséklet A redszer kmeete: Fűtés_be, Fűtés_k paracsok: fel az eek megfeletethető dőfüggvéyek: h(t)=, h(t)=. le Hőmérséklet 8 fok/fűtés_be Kelző Feltétel/akcó h(t)= Számláló Példa: Termosztát hszterézs helyett dőzítéssel: ehhez az ú. dőzített automata modellt alkalmazzuk, amelyk a legegyszerűbb emtrváls hbrd redszer. Ezek az automaták az állapotak mögött (adott dőtartamg) mérk az dő múlását: t d m (valamlye dőtartam) c (t) = a, azaz változk az óra értéke az dő múlásával. c:= c:=c+ Feltétel/akcó c:=c- Feltétel/akcó Feltétel/akcó h(t)= c(t) d hűtés Hűtés Feltétel/akcó Feltétel/akcó Fűtés T(t) h(t) d fűtés d hűtés h(t) =, c (t) = h(t) =, c (t) = d hűtés Feltétel/akcó: T(t) c(t) d hűtés /c(t) =. Feltétel/akcó: T(t) c(t) d fűtés /c(t) =. c(t) Megegyzés: () h(t) és c(t) tekthetők az állapotfomítás eszközeek. Szokás (üzem)módról beszél. (Modal systems). () Az dődagramo vázolt esetbe a T> fokál. Abba az esetbe, ha kevesebb, akkor a redszer azoal fűte kezd: az óra dítás/kezdet értékek tehát lye megfotolás(ok) meté születhetek. 79

80 Beágyazott formácós redszerek: 9. előadás, Példa: Öáró targoca. (Automated Guded Vehcle, AGV) Két szabadságfokú ármű, felfestett csík követésére képes. Mde t dőpotba a hossztegelye meté v(t) sebességgel mozog azzal, hogy v(t) km/h. A súlypota körül fordul s tud ω(t) szögsebességgel, azzal hogy π ω(t) π rad/sec. y(t) AGV φ(t) x (t) = v(t)cos (φ(t)) y (t) = v(t) s(φ(t)) φ (t) = ω(t) Kétsztű szabályozás: a targoca mdg km/h sebességgel halad. Négy működés móda va: balra, obbra, egyeese, megállás. Mde működés módhoz külö dfferecálegyelet tartozk. x(t) egyeese: balra: obbra: megállás: x (t) = cos (φ(t)) y (t) = s(φ(t)) φ (t) = x (t) = cos (φ(t)) y (t) = s(φ(t)) φ (t) = π x (t) = cos (φ(t)) y (t) = s(φ(t)) φ (t) = π x (t) = y (t) = φ (t) = O O O O O O O O O O O O O O O O O O O O fotódóda e balra, fordulo obbra; > e > e(t), túlságosa eltér obbra, fordulo balra. e e(t) Felfestett csík A targoca érzékelőe: a haladás ráyra merőleges fotódóda sor, kmeőele e(t) = f(x(t), y(t)). Ha e(t) >, akkor balra tér el, ha e(t) <, akkor obbra tér el. A targoca vezérlése: ha e(t) < e, akkor egyeese halado tovább; < e < e(t), túlságosa eltér A bemeet eseméyek halmaza: u(t) {stop, start, cs_eseméy}. Mvel a stop és a start pllaatszerű eseméyek, a cs_eseméy a köztes dőkre ada meg u(t) értelmezését. Állapotátmeetet geeráló feltételek: dul_el = {(v(t), x(t), y(t), φ(t)) u(t) = start} me_egyeese = {(v(t), x(t), y(t), φ(t)) u(t) stop, e(t) < e } me_obbra = {(v(t), x(t), y(t), φ(t)) u(t) stop, e < e(t) } me_balra = {(v(t), x(t), y(t), φ(t)) u(t) stop, e > e(t) } áll_meg = {(v(t), x(t), y(t), φ(t)) u(t) = stop } 8

81 Beágyazott formácós redszerek: 9. előadás, x (t) = cos(φ(t)) y (t) = s(φ(t)) φ (t) = π x (t) = cos(φ(t)) y (t) = s(φ(t)) φ (t) = u(t) stop, start, cseseméy obbra egyeese x (t) = y (t) = φ (t) = megállás balra x (t) = cos(φ(t)) y (t) = s(φ(t)) φ (t) = π 8.. Nemkovecoáls modellezés és szabályozás hatékoy mplemetácó. Példa: Kvaltatív modellezés és szabályozás I. Feladat: Olya szabályzó tervezése, amely a másodk tartály y(t) sztét előírt értéke tarta. Ez a szvattyúzadó u(t) meység megfelelő beállításával lehetséges. A kvattatív modell problémá: a) A fzka korlátok cseek beépítve; b) Az összefüggéseket learzáluk; c) A umerkus értékek em potosak és dőbe változak, Kvaltatív okoskodás (Qualtatve Reasog): Csak a meységek ráyultságát vesszük fgyelembe, az értékkészlet: {,, +}. Alapvető fzka kéyszereket betartuk! Ha egy csomópot elágazásál két ágo kfolyk az ayag, akkor a harmadko befolyk. Egy Q meység kvaltatív értéke egy a értékre voatkoztatva: [Q] a Egy Q meység megváltozásáak kvaltatív értéke a kvaltatív dervált: [δq] a, [δ Q] a, Műveletek: (vert A): (vote A, A,, A ): Megfordíta az előelet. Értéke a többség előel. A. tartály sztéek kvaltatív szabályozása: L elöl a másodk tartály szthbáát: [L ] = + : magasabb, mt kellee. [δu] = +: a szvattyúzás öveledő. [L ] = : megegyezk. [δu] = : a szvattyúzás mértéke megfelelő. [L ] = - : alacsoyabb, mt kellee. [δu] = -: a szvattyúzás mértéke csökketedő. [δu] = +: rögzített értékű övekméy: ΔU. A kvaltatív értékek csak a mtavétel dőpotokba létezek. A mtavétel dőpotok között cse detektálás. [L ] (k) = [aktuáls szt (k) megkívát szt (k) ] 8

82 Beágyazott formácós redszerek: 9. előadás, Egy ge egyszerű szabályzó: def Q = [δu] (k) = (vert[l ]) (k) Megegyzés: Ha a ΔU agyobb érték, akkor ő a túllövés és az oszcllácó, de gyorsa reagál. Ha ΔU ksebb érték, akkor csökke a túllövés és az oszcllácó, de lassabb a működés. Javított szabályzók: Fgyelembe vett meységek: A. tartály szthbáa: +,,- A. tartály sztváltozás sebessége: +,,- 3*3*3=7 eset. Az első tartály sztváltozás sebessége: +,,- def Q = [δu] (k) = (vert (vote(vote([l ] (k), [δl ] (k) ), [δl ] (k) ))) (k) def Q3 = [δu] (k) = (vert (vote([l ] (k), [δl ] (k), [δl ] (k) ))) (k) A [δl ] meghatározása δl = (L (k) L (k ) ) (L (k ) L (k ) ) alapá mérés adatokból törték. A 7 lehetséges kvaltatív érték kombácó esetére a három szabályzó avaslatát az alább táblázat foglala össze: [L ] [δl ] [δl ] Q Q Megegyzés: () A feladatra emprkusa kdolgozott szabályredszer em tudta kezel a A. tartály a kívát szt felett álladó értéket mutat, az. tartály szte esk. () A mtavételezés dő és a ΔU érték megválasztása krtkus tervező dötés.. Példa: Kvaltatív modellezés és szabályozás II. Feladat: A fordított ga kvaltatív modellezése emdetermsztkus automatával. Olya redszerek esetébe, amkor az x(k) állapotvektorról csak egy [x(k)] kvatált érték smert. Ok/létogosultság: szög és szögsebesség mérés potatlasága. 8

83 Beágyazott formácós redszerek: 9. előadás, Learzált modell θ = köryezetébe: x (t) = [ mg M x(t) + m u(t) (m + M)g Ml ] [ Ml] x x x(t) = [ θ ] θ u(t) = F M = kg, m =.kg, l =.5m, g = 9.8 m s A mérés érzéketleség:.75 rad a θ-ra, és.75/ms a θ -ra. Nem stablzálható a rúd, ha x 3 >. rad ( ), és x 4 >.87. A szögre (3-as dex) és a szögsebességre (4-es dex) a tartomáy határok az alább ábra szert: g 3, =., g 3, =.75, g 3, =.75, g 3, =. g 4, =.87, g 4, =.75, g 4, =,75, g 4, =.87 - A két középső tartomáyba tartózkodást -val, a baloldalba - -gyel, a obboldalba +-gyel elölve, a következő kvaltatív állapotok defálhatók: A bemeete a rátás kvaltatív értéke: z = [ ], z = [ ], z 3 = [ ], z 4 = [ ], z 5 = [ ], z 6 = [ ], z 7 = [ ], z 8 = [ ], z 9 = [ ], z = kívül, u(k) = v(k) =, u(k) = v(k) =, u(k) = v(k) = A kvaltatív állapotokhoz megfelelő beavatkozást redelve a rúd stablzálható: z(k) z z z 3 z 4 z 5 z 6 z 7 z 8 z 8 u(k) - - A kvaltatív szabályzó: [u(k)] = f([z(k)]) Megegyzés: A T mtavételezés dő és az F érték megválasztása krtkus tervező dötés. Az ábrá a mozgás traektórááak dealzált változata látható. A za-zavar hatások következtébe a helygörbe em telese ömagába vsszatérő ellegű. θ θ 83

84 Beágyazott formácós redszerek: 9. előadás, Példa: Adaptív célkövető redszer fuzzy modellezéssel/szabályozással A célkövető két forgatómechazmussal redelkezk: az egyk azmut ( 8 fok) ráyú, a másk emelkedés ( 9 fok) ráyú. Az azmut az a szög, amt a kelölt ráy vízsztes vetülete a dél vagy az észak ráyal bezár. Szezor: mde olya eszköz alkalmas, amely kellő potossággal képes a célra mutat: Laser, vdeokamera, agy yereségű atea. e k Céltárgy pozícó t k k za + - ρ k motor T + - e k v k átalakító Szabályzó T v k Jelölések: t k céltárgy pozícó; k megfgyelés za; ρ k célkövető pozícó e k követés hba; e k köv. hbaváltozás; v k becsült szögsebesség T mtavétel dő. ρ k = ρ k + Tv k + hba hba = pozcoálás bzoytalaság Fuzzy szabályzó: A becsült szögsebesség tartomáya: [-6,6]. (Ez egy tervező dötés, ezzel rögzül a skálázás.) Mvel v k 9. fok/sec azmut ráyba, és v T k 4.5 fok/sec emelkedés ráyba, ezért az T egyes csatorák erősítése:.5/t és.75/t. Maga a szabályzó heursztkus sztállító szabályokat tartalmaz az e k,, e k és v k- értéke alapá. Hét fuzzy szt értéket defáluk tagság függvéy megadásával: tagság LN MN SN ZE SP MP LP Mde bemeethez egy hételemű vektort redelük: LN=Large Negatve MN=Medum Negatve SN=Small Negatve ZE=Zero SP=Small Postve MP=Medum Postve LP=Large Postve A fgyelembe vett értékekhez ú. fuzzy-asszocatív-memóra (FAM) szabályokat redelük: Például: az - edk szabály: (.7.7 ) IF e k = MP e k = SN v k = ZE THEN v k = SP -4 ( ) Rövdített formába: (MP,SN,ZE;SP). Az -edk FAM szabály 3.8 (. ) skalár értéke: w = m(tagság értékek). 84

85 Beágyazott formácós redszerek: 9. előadás, Példa: e k =.6, e k =., v k =.8. Az ezekhez redelt hételemű vektorok: LN MN SN ZE SP MP LP.4. A szabályhoz kapcsolódó tagság értékek: m MP (e k ) =.4 m SN (e k ) = m ZE (v k ) =. Az -edk szabály skalár értéke: w = m(.4,,.) =. A szabályzó kalakítása: A kmeet fuzzy halmaz alaka a FAM szabály kódolásától függ: e k e k v k FAM FAM FAM N T A kmeet fuzzy halmaz származtatásáak két lehetséges változata: O O v k = xm O (x)dx m O (x)dx O = O N O defuzzfer N O = m O (x) = M m O = (x) vk Korrelácó-szorzat kódolás: m O (x) = w m L (x) Korrelácómmum kódolás: m O (x) = = m (w, m L (x)). Itt m L (x) az -edk FAM szabály kmeetéhez kapcsolódó tagság függvéy. w L O O w L A defuzzfer umerkus értéket redel az egyes FAM szabályok kmeet fuzzy halmazaak összegéhez. Ez az összegzett halmaz a súlyozott trapézok, mt függvéyek potokét összeadásával ö létre. Hasolítható a valószíűség-számítás sűrűségfüggvéyehez azzal a külöbséggel, hogy tt a görbe alatt terület em egy. A defuzzfer által végzett számítás, melyek képlete az ábrá látható, a v k értéket cetrodkét állíta elő: rövde fuzzy cetrodak evezzük. A fuzzy szabályzó mplemetácóa: A FAM szabály: (MP,SN,ZE;SP). A k-adk dőpllaatba: e k =.6, e k =., v k =.8. w m m ( e ), m ( ek ), m ( v ) m(.4,,.). MP k SN ZE k Mvel a feladatba mde fuzzy halmaz alaka azoos: Pl.: m SP (x) = m ZE (x ). Általába m L (x) = m ZE (x c L ), ahol c L az adott tagság függvéy cetroda. w m mze ( ek cmp), mze ( ek csn), mze ( vk cze ) 85 w w w k O O O k -4-4

86 Beágyazott formácós redszerek: 9. előadás, w m m (.4), m (), m (.8) m(.4,,,). ZE ZE ZE Korrelácó-szorzat kódolás eseté: m O (x) = w m ZE (x c ), ezzel az -edk FAM szabálymplemetácóa az alább ábra szert törtéhet: e k e k v k c MP c SN c ZE m ZE (...) m ZE (...) m ZE (...) m w Korrelácószorzat O 86

87 8. Esettaulmáyok (folyt.) Beágyazott formácós redszerek:. előadás, 7... Eze címszó keretébe olya témakörök rövd bemutatására kerül sor, amelyek a beágyazott redszerek megvalósításával kapcsolatos részletproblémákat és megoldás alteratívákat tárak fel Szezorhálózatok (A szezorhálózatokról részletes fóla-sorozat található a tatárgy taszék holapá. Az alábbak csak éháy kemelt ellemzőt foglalak össze.) A szezorhálózat csomópotok ellegzetes megeleés formáa a Berkeley Mca mote, amely az alább féyképe látható. Mérete a yomtatott áramkör lap alatt elhelyezett *AA elem alapá becsülhető. Felépítése és hardver ellemző a Szezorhálózatok I. című dokumetumba leírtak alapá smerhető meg. Ugyatt olvasható az eszköz szóba övő alkalmazásaak lstáa. Az alkalmazások ellemzőe a térbel kteredés, és a szükséges csomópotok agy száma. A működés sorá léyeges az eergatakarékosság. A TyOS operácós redszer (A TyOS operácós redszerről részletes fóla-sorozat található a tatárgy taszék holapá. Az alábbak csak éháy kemelt ellemzőt foglalak össze.) Mért va rá szükség? A tradcoáls operácós redszerekkel ehézségek vaak szezorhálózatok esetébe, mert a többszálas archtektúra emge haszálható kellő hatékoysággal, agy a memóragéy, az eergafelhaszálás mmalzálását em támogaták. A vezeték élkül szezorhálózatok esetébe léyeges () a kokures végrehatás, () az eergafelhaszálás hatékoysága, (3) ks memóragéy (small memory footprt), és (4) a sokrétű felhaszálás támogatottsága. Főbb ellegzetessége: A TyOS yílt hozzáférésű operácós redszer, amely kfeezette vezeték élkül szezorhálózat alkalmazásokhoz készült. Kompoes alapú, NesC (Networked embedded system C) yelve íródott a Uversty of Calfora, Berkeley és az Itel Research együttműködésébe. A kompoes alapú archtektúra lehetővé tesz a gyakor változtatásokat, és eközbe a kódméret mmáls szte tartható. A végrehatás eseméyvezérelt, és ebből adódóa agymértékbe kokures. Eerga hatékoy, mert a processzor - amt lehetséges sleep állapotba kerül. Kcs a lábyoma, mert FIFO alapú, em megszakítható ütemezést alkalmaz. Statkus memóra allokácót haszál, a memóra követelméyek fordítás dőbe dőlek el. A lokáls változók metése a stack-re törték. 87