A napokban felrakom a megoldást is - Koza (vita) 2014. május 21., 10:25 (UTC)
- 1 Egy öt taszkból álló rendszerben prioritásos ütemezést alkalmazunk. Az egyes taszkok periódusát, számítási idejét, határidejét, ill. a hibakezelő handler futási idejét msec-ben megadó számnégyesek csökkenő prioritás szerint rendezve a következők (10, 0.4, 3, 0.1), (3, 0.45, 3, 0.05), (6, 0.7, 6, 0.05), (14, 1.15, 14, 0.1), (14, 4.5, 14, 0.5). Valamelyik taszk végrehajtása során 5 msec-enként legfeljebb egyszer, véges valószínűséggel hiba lép fel. A Deadline Monotonic Analysis (DMA) módszer felhasználásával vizsgálja meg, hogy a legkisebb prioritású taszk teljesíti-e a határidőt (4 pont)?
- Táblázat a jobb átláthatóságért
Taszk |
T |
C |
D |
|
1 |
10 |
0.4 |
3 |
0.1
|
2 |
3 |
0.45 |
3 |
0.05
|
3 |
6 |
0.7 |
6 |
0.05
|
4 |
14 |
1.15 |
14 |
0.1
|
5 |
14 |
4.5 |
14 |
0.5
|
- A szokásos képletet ki kell egészíteni a hibakezelés számítással:
- , ahol
- , azaz a hiba fellépésének periódusideje
|
|
|
... |
... |
...
|
... |
... |
...
|
- 2. Hogyan értékeli a memóriamenedzsment technikákat a válaszidő kézbentarthatósága szempontjából (1 pont)?
- STACK : megfelelő, mert fix idejű utasítsai vannak
- HEAP : kritikus, a keresések időigényesek (malloc, free)
- 3. Mutassa be a TTA architektúrát (2 pont)!
- 4. Hogyan épül fel egy fizikai óra (1 pont)? Mi a referencia óra, a helyes óra és a pontos óra definíciója (1 pont)? Hogyan értelmezzük az óra driftet (a drift mértékét), mit nevezünk ofszetnek, együttfutásnak, ill. pontosságnak (2 pont)? Mit nevezünk belső, és mit külső szinkronizációnak (1 pont)?
- helyes óra:
- pontos óra:
- drift:
- együttfutás: _?_ - ehhez tartozik a belső szinkronizáció
- pontosság: referenciaórától az eltérés - külső szinkronizáció
- 5. Milyen szabályokat alkalmazunk (2 szabály), ha egy aperiodikus és sporadikus, hard-time és szoft real-time taszkokat egyaránt ütemeznünk kell (2 pont)?
- Minden taszkot az átlagos érkezési és végrehajtási idővel veszünk figyelembe
- A hard-real time taszkok a worst-case értékekkel szerepelnek
- 6. Egy token vezérelt busz rendszerben a token körbejárási ideje 10 msec. A globális idő nem férhető hozzá. Az üzenet továbbítási idő 1 msec. Az óra felbontóképessége elhanyagolható. A fizikai eszközt elérő protokoll felett PAR (Positive Acknowlegement & Retransmission) protokollt alkalmazunk. Az ismétlések száma 2.
- Legalább mekkora time-out beállítása javasolható? Miért (1 pont)?
- Mekkora a hibadetektálás késleltetése? Miért? (2 pont)
- Mekkora az akció késleltetési idő (két eset)? Miért? (2 pont)
- Timeout
- Ha éppen elment a token, 10 msec-et kell várni
- a timeout idő
- Hibadetektálás
- Ha letelt a timeout, a vevő nem reagált
- 2 ismétlés 3 próbálkozást jelent
- A hibadetektálás késleltetése 66 msec, azaz 3-szoros timeout
- Akció késleltetési idő
- Ha nincs globális idő, akkor
- , mert rögtön volt token
- , mert kétszer megvártuk a timeout-ot, majd a tokent még meg kellett kapnia
- 7. Ismertesse a TinyOS/NesC környezet építőelemeit, ezek felépítését és tulajdonságait! Milyen szabályok érvényesek az elemek kapcsolódására (2 pont)?
- 8. Hogyan működnek az elárasztásos protokollok (1 pont)? Mikor célszerű ezek alkalmazása (1 pont)? Jellemezze ezeket a protokollokat mind hálózati mind a csomóponton belüli erőforrás igény szempontjából (1 pont)! Milyen előnyei és hátrányai vannak, hogyan lehet a hátrányos tulajdonságokon javítani (1 pont)?
- 9. Ismertesse a "reference broadcasting" elnevezésű szinkronizációs eljárás lépéseit, és képlettel adja meg mekkora mekkora értékkel kell módosítani a szinkronizálandó órát
- 10. Röviden ismertesse a szolgáltatásbiztonság jellemzőit és befolyásoló tényezőit (2 pont)!
- 11. Mutassa be a szolgáltatásbiztonság növelésére szolgáló eszközöket (2 pont)! Ismertesse a verifikáció és validáció fogalmát (2 pont)!
- 12. A alábbi C nyelvű függvényt a táblázatban felírt bemenő paraméterek (teszt vektorok) beállításával tesztelik. A control értéke UP, DOWN vagy FORWARD, a direction értéke LEFT vagy RIGHT, a mode értéke NORMAL vagy ENHANCED lehet.
int set_status(int control, int direction, int mode) {
status=OK;
switch (control) {
case DOWN:
status=OK;
break;
case UP:
if((direction==LEFT) || (mode==NORMAL)){
STATUS=OK;
} else {
STATUS=FAIL;
}
break;
}
return(status)
}
Teszt bemenetek |
control |
direction |
mode
|
Teszt 1 |
DOWN |
LEFT |
NORMAL
|
Teszt 2 |
UP |
LEFT |
ENHANCED
|
Teszt 3 |
UP |
RIGHT |
NORMAL
|
- Adja meg, hogy hány független út bejárásával tesztelhető a kódrészlet (1 pont)!
- Határozza meg a döntési ág, feltétel kombináció és út fedettségi mértékeket a fenti tesztek végrehajtása esetén (3 pont)!
- Ha szükséges, akkor egészítse ki úgy a teszt sorozatot, hogy valamennyi fedettségi mérték 100% legyen (2 pont)!