Beágyazott rendszerek vizsga 20040623

A VIK Wikiből
(BeagyRendVizsga20040623 szócikkből átirányítva)

Ez az oldal a korábbi SCH wikiről lett áthozva.

Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor, kérlek, javíts rajta egy rövid szerkesztéssel!

Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót.


feladatsor

1. Feladat

Mi a kommunikáció idővezérelt megközelítésének a lényege? Mutassa be a TTA architektúrát! Hogyan valósul meg a szinkronizáció, ha a csomópont eseményvezérelt működésű (3 pont)?

MIT-es jegyzet-ből leszűrhető a lényeg.

2.1. Feladat

Mutassa be, hogyan ütemezné egy, a earliest deadlinefirsi (EDF) algoritmus szabályai szerint működő ütemező a Tl, T2 és T3 taszkokat, melyek periódusa rendre 10, 20 és 30 msec, számítási ideje 3, 8 és 6 msec, határideje pedig 9, 1 8 és 27 msec, ha (az ütemező) végrehajtási ideje elhanyagolható, futását pedig egy óra egység msecenként kezdeményezi! A taszkok kezdőfázisa rendre nulla, 3 msec, ill. 5 msec, tehát a rendszer inicializálását követően ennyi idő elteltével liittathatók. A működést az első 80 msec-ra mutassa be. (3 pont)

2.2. Feladat

A Deadline Monotonic Aizalz’zis (DMA) módszerével határozza meg a T3 taszk worst-case válaszidejét (2 pont), és az eredményt vesse össze a 2. 1 . szerinti feladat eredményével (1 pont)!

3. Feladat

Egy lineáris, diszkrét idejű, dinamikus rendszer (A = diag( 1; - 1) C = (O.1 ; O.1)) megfigyelésére alkalmas eljárást tervezünk. (A: állapotátmenet mátrix, C: megfigyelési mátrix). Hogyan kell megválasztani az eljárás szabad paramétereit, ha véges beállási időt szeretnénk (3 pont)?

Ehhez a következő feltételnek kell teljesülnie: (A-GC)^N=0; itt G=(g1;g2)-re kesressük a megoldásokat. Ha elvégezzük, akkor N = 2 -nél g1 = -g2 = 5.

4. feladat

Mutassa be a valós idejű operációs rendszerrel együttműködő megszakítás-kezelő rutinok írásának szabályait (2 pont)!

  • Nem kérhet szemafort
  • Nem hívhat olyan RTOS függvényt, amely taszk váltást eredményez, kivéve, ha tudja az OS, hogy IT fut.

5. feladat

Mi a lényeges különbség mintavételezés (sampiing) és lekérdezés (polling) között (1 pont)? Milyen veszélyekkel jár a megszakítás (1 pont)?

Mintavételezés-lekérdezés: Mintavételezés esetén a memória az érzékelőnél, és nem a számítógépen belül. Így megóvjuk a rendszert attól, hogy több esemény érkezzen, mint a specifikációban rögzített („alul-áteresztő szűrő” hatás). Ez a memória a számítógép befolyásolási tartományán (sphere of control) kívül helyezkedik el. Lekérdezés esetén a memória a számítógépen belül van. Hiba esetén a mintavételezés robusztusabb: a számítógép leállása és újraindulása esetén a memóriatartalom elveszhet.

Megszakítás veszélyei: Felépítése olyan mint a lekérdezésé: a számítógép befolyásolási tartományán kívüli eszköz befolyásolja a számítógépet; veszélyes, kevésbé robusztus, mint akár a lekérdezés; tranziens hibák (pl. nagyáramú fogyasztó be-kikapcsolása következtében) váratlan processzor terhelést okozhatnak, ami veszélyeztetheti a határidő betartását.

6. Ismertesse egy általáiios TinyOS szoftverkomponens elemeit, felületét! (2 pont)

7. Vázolja az elárasztásos ad-hoc protokollok működését, erőforrás igényüket! (2 pont) Hogyan hangolhatók ezek a protokollok különböző sűrűségű (csomópontok hallótávolságán belüli szomszédok száma) hálózatokra? (1 pont)

8. feladat

Az alábbi ábra egy 4 csomópontot tartaLmazó hálózatot mutat, melyben DSDV útvonalválasztást alkalniazt.mk. A csomópontok mellett feltüntettük az általuk nyilvántartott táblázatok jelenlegi állapotát (CCé1, KKözvetlen szomszéd, TTávolság, SzSzámláló).

  • A táblázatok alapján határozza és indokolja meg, hogy a 3-as csomópontból a O-s felé indított

adatcsomag milyen úton fog végighaladni ! (1 pont)

  • Mutassa meg, hogyan változnak az egyes táblázatok a O-s csomópont által kezdeményezett következő

frissítő üzenet hatására, ha a csomópontok közötti Új kommunikációs viszonyokat (hallótávolság) a szaggatott nyilak ábrázolják és az egyes csomópontok azonnal közzéteszik saját változásaikat. (2pont)

idén nem vettük szerintem

9. feladat

Mutassa be a diszkrét események számítási modelljét, különös tekintettel a végreható elemek ütemezésére! (2 pont) Miért használják ezt a számítási modellt előszeretettel a különböző szimulátorok végrehajtási logikájaként? (1 pont) Milyen szabályok vonatkoznak a hurok struktúrák kialakítására? (1 pont)

Minden végrehajtó elem a kimenetén egy időbélyeggel ellátott tokent ad ki. Ezek a tokenek rendezett listába kerülnek, és a mindig a legkorábbit hajtja végre a rendszer (azonos időpont esetén többet egyszerre), az eredmény a listába kerül, és tovább lép a következő eseményre. Azért szeretjük, mert az szimulált rendszerben eltelt idő mennyisége nem befolyásolja a szimuláció idejét, csak az értékes események (tehát ha a szimulációban "egy évig nincs semmi", azt egy microsec alatt szimuláljuk le). A hurkokba késleltető csomópontot kell tenni, különben végtelen ciklus.

10. feladat

Írja le, hogyan végezhető el a futtatórendszerrel való integráció tesztelése! Mi ennek a módszernek az indokoltsága (2 pont)?

A probléma abban rejlik, hogy nehéz a tesztkörnyezetben csonkokkal és végrehajtókkal szimulálni az egyes futtató környezetben meglévő funkcióat pl Ütemezés. Ezért a modulokat szépen felülről lefele teszteljük egészen a futtató rendszer szintjéig. A futattó rendszert alulról felfele leteszteljük, hogy önmagában működőképes-e, majd a kettő tesztet integrálva befejezzük a modultesztelést lefele.

11. feladat

Adja meg egy detektált tranziens hardver hiba utáni helyreállítás (recovery) két módszerét (2 pont), valamint hasonlítsa össze ezeket az alábbi szempontok szerint (2 pont):

  • a hiba azonosításának megkívánt pontossága,
  • a hibaállapot javításának módja,
  • a megvalósítás előfeltételei,
  • valósidejű rendszerekben való aikahnazhatóság.

Előrelépő helyreállítás:

  • Pontos hibaazonosítás, esetleges előre kalkulálás szüksége, hogy a folyamatot megint a helyes útra tereljük
  • Hibamentes állapot beállítása - szelektív korrekció
  • A hibalehetőséget előtte figyelembe kell venni, így a rendszer számíthat rá.
  • Alkalmazható

Visszalépő helyreállítás:

  • Nem fontos a hiba ismerete, csak létezése
  • Egy elmentett állapotba való visszatérés - rollback
  • Állapotmentések létrehozása hibátlan állapotban
  • Nem alkalmazható RT esetben, hiszen visszalépni nem lehet egy "megszaladt" láncreakció esetén sem.

12. feladat

Hasonlítsa össze a szofbier és a hibrid monitorozás módszerét az alábbi szempontok szerint (2 pont):

  • a triggerelés módja,
  • a regisztrálás módja,
  • megvalósítás rugalmassága,
  • beavatkozás mértéke.

Kb ugyanaz, mint az előző vizsga 11. feladata


13. feladat

Rajzolja fel azt az üzenet szekvencia diagratnot, ami egy 3 variánst működtető N-verziós programozási séma monitorozásával vehető fel abban az esetben, ha az egyik variáns hiba következtében végtelen ciklusba kerül. A hívó, a variánsok, a szavazó, az időzítő és a koordinátor (futtató rendszer) párhuzamos processzek legyenek (3 pont). Jelölje be az aktív illetve várakozó állapotokat (1 pont)!

Kezdetben fut a hívó majd, (megkéri a futtatót, hogy ) meghívja az N db variánst, és ezek futnak párhuzamosan. Majd mindegyik szépen elkészül, elküldi az eredményt a szavazónk és várni kezd, kivétel egyet. Egy idő után a futtató rendszer egy timeout megszakítást kap, ekkor kilövi a még futó variánst, majd aktíválja a szavazót. A szavazó a végső eredményt elküldi a hívónak, ami eddigi várakozása fut tovább. Üzenet szekvencia diagramot a jegyzet 28. oldalán láthatunk.


-- Zee - 2006.05.26. -- Pali - 2010.06.08.