BeagyRendVizsga20060607

A VIK Wikiből
A lap korábbi változatát látod, amilyen (vitalap) 2012. október 21., 19:53-kor történt szerkesztése után volt. (Új oldal, tartalma: „{{GlobalTemplate|Infoalap|BeagyRendVizsga20060607}} ==1. feladat== # <b>Mire ad választ az egzakt, a szükséges és az elégséges ütemezhetőségi teszt</b> (3 pon…”)
(eltér) ← Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)
Ugrás a navigációhoz Ugrás a kereséshez

Ez az oldal a korábbi SCH wiki-ről lett áthozva. Az eredeti változata itt érhető el.

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


1. feladat

  1. Mire ad választ az egzakt, a szükséges és az elégséges ütemezhetőségi teszt (3 pont)?
    1. Egzakt: Mutat egy ütemezést is.
    2. Ha a szükséges teszt nem teljesül, akkor nem lehet ütemezni.
    3. Ha az elégséges teszt teljesül, akkor biztosan lehet ütemezni.
  2. Adjon meg szükséges ütemezhetőségi tesztet periodikus taszkok esetére (1 pont)?
    • <=Kihasználtásgi tényező processzorok száma
  1. Ha a "rate monotonic" ütemezési algoritmust használjuk, hogyan fogalmazható meg elégséges ütemezhetőségi teszt (2 pont)?
    • Kihasználtsági tényező [math] \lt = n(2^{1/n}-1)[/math] nem bizti, de jobbat nem találtunk
  1. Ugyanezzel az algoritmussal mikor érhető el 100%-os processzor kihasználtsági tényező?
    • Ha a periódusok a legkisebb periódus egész számú többszörösei.

2. feladat

  • 2.1 Ismertesse pszeudo-kód segítségével az "Intervallumok metszése" algoritmust (3 pont) Ne feledkezzen meg az egyes konstansok és változók tartalmának, ill. fogalmának definiálásáról!

Legalább minden [math]\tau[/math] időközönként

do

  • [math]\forall j\not= i[/math] REQUEST[math][C_j(t), E_j(t)][/math];
  • [math]\forall j\not= i[/math] RECIEVE[math][C_j(t), E_j(t)][/math];
  • [math]\forall j\not= i \mathcal{L}_j(t) \rightarrow [C_j(t) - E_j(t)][/math];
  • [math]\forall j\not= i \mathcal{R}_j(t) \rightarrow[C_j(t) + E_j(t)] + (1+\delta_i)\mu_j^i[/math];
  • [math]\mathcal{L} = \max\limits_{\forall j}\mathcal{L}_j(t)[/math]
  • [math]\mathcal{R} = \min\limits_{\forall j}\mathcal{R}_j(t)[/math]
  • [math]\alpha = \mathcal{L}[/math]
  • [math]\beta = \mathcal{R}[/math]
  • if ([math]\alpha \lt \beta[/math])
    • then
      • [math]\varepsilon_i = \frac{1}{2} [\beta - \alpha][/math]
      • [math]C_i(t) = \frac{1}{2} [\alpha + \beta][/math]
      • [math]\varrho_i = \frac{1}{2} [\beta - \alpha][/math]
    • else
      • ignore them all

endo


  • 2.2 Mekkora a kommunikációs igénye ezeknek az algoritmusoknak (1 pont)?
    • 2*(n-1)*n (mert mindenki (n csomópont) küld n-1 üzenetet, majd arra jön n-1 válasz), tehát O(n2)

3. feladat

Egy lineáris, diszkrét idejű, dinamikus rendszer (A=diag[1‚-1] C=[0.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)?

4. feladat

Milyen szabályokat alkalmazunk, ha aperiodikus és sporadikus, hard real-time és szoft real-time taszkokat egyaránt ütemeznünk kell (2 pont)?

  • Minden task legyen ütemezhető az átlagos érkezési és végrehajtási idők figyelembevételével.
  • Minden HRT taszk legyen ütemezhető a worstcase érkezési és worstcase végrehajtási idővel.

Megoldások:

  • Szerverrel: HRT taszkok futnak az ő időszeletükben, a többi a maradékban.
  • Kettős prioritással: A HRT addig van alacsony prioritáson, amíg nem közeledik a határideje, majd magas prioritásra vált és lefut.

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ésnél egy külső hardver eszköz írja az érzékelő adatát az ő memóriájába, amely értéket a belső memóriába másolunk. (Ez a memória a számítógép befolyásolási tartományán kívül helyezkedik el).
  • Polling-nál a közvetlenül a fő memóriába írjuk az érzekelő értékét. Így hiba esetén a az érték elveszhet.
  • Megszakítás: 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. feladat

Ismertesse röviden a TinyOS modulok felépítését! Mit definiál és mit implementál a modul? (2 pont)

  • Definiálja a használt és szolgáltatott interfészeket és implementálja a szolgáltatott kommandokat és a felhasznált eseményeket.

7. feladat

  • Ismertesse a Taszk kezelés szabályait +TinyOS operációs rendszerben (1 pont)!
  • Ismertesse az ütemező működését (1 pont)!
  • Történik - e kontextus váltás az ütemezőben (1 pont)?
    • HW esemény megszakíthat Task-ot, másik Task nem.
  • Mi a fő oka a primitív taszk megvalósításnak (1 pont)?
    • Nem kell kontextus váltás és szinkronizációs primitív.
  • Mikor kell mindenképpen taszkokat használnunk és mik az un. splitáphase műveletek? (1 pont)
    • Közös erőforrásokat használó kódnál, mert így megoldható a kizárás. (???)
    • Split-phase: 1. fázisa kérés (command), a 2. fázisa egy válasz, eredmény (event)

8. feladat

  • Ismertesse a Ptolemy rendszer folytonos idejű rendszerek modellezésére használt jelfolyam gráf alapú számítási modelljét (grafikus forma is) (1 pont).
  • Hogyan modellezi a valóságot, hogyan történik a szimuláció végrehajtása (1 pont)?

9. feladat

  • Ismertesse a gradiens alapú routing (GBR) működését (2 pont)!
    • 3 fázis: Kérés, gradiens számítás, adatszolgáltatás
  • Milyen alkalmazásokban használható eredményesen? (1 pont)
    • Sok-egy kommunikáció (pl adatgyűjtés)
  • Hogyan lehet az algoritmust módosítani, hogy figyelembe vegye a csomópontok energiatartalékát? (1 pont)
    • A kevés energiájú node megnöveli a saját gradiensét, így a kommunikáció elkerüli.

10. feladat

  • Ismertesse a tranziens hardver hibák utáni helyreállítás tanult technikáit!
  • Adja meg egy rövid indoklással, hogy melyik esetén szükséges leginkább a pontos hibadetektálás (2 pont)?

11. feladat

Hasonlítsa össze a funkcionális és strukturális modul tesztelési módszert a következő szempontok szerint:

  • Mi a célja a tesztelésnek (1 pont)?
  • Milyen információt használunk fel a tesztek tervezése során (1 pont)?
  • Hogyan mérhető (mérhető-e) a tesztelés alapossága (1 pont)?

12. feladat

Egy forróvíztároló hőmérsékletét kétféle érzékelővel mérik. Az egyes érzékelők p1 illetve p2 valószínűséggel hajlamosak a meghibásodásra, ekkor az irreális +200C hőmérsékletet mutatják. Ezt vezérlőegység egy hihetőségvizsgálat lefuttatásával ellenőrzi. A p1 hibavalószínűségű érzékelő az elsődleges, a másikhoz csak ennek hibája esetén fordul a vezérlő A hihetőségvizsgálat hibás érzékelő esetén mindig jelzi a hibát, de egy belső programozói hiba miatt pe valószínűséggel hibátlan érzékelő esetén is hibát jelez.

  • Rajzolja fel a hőmérsékletméréshez tartozó eseményfát! A kiindulás az elsődleges érzékelő beolvasása, a bekövetkező események pedig az egyes érzékelők illetve a hihetőségvizsgálat hibája a fenti működésnek megfelelően (2 pont).
  • Jelölje be azokat a forgatókönyveket, ahol nem sikeres a hőmérsékletmérés, és becsülje meg ezek valószínűségét a fenti paraméterek felhasználásával (3 pont)!

-- WiKing - 2006.06.08. -- MatthewLakat - 2006.06.08. -- habib - 2008.06.04.