REAL-TIME RENDSZEREK

Vizsgakérdések
Introduction to Real-Time System

01. Hogyan működnek a soros /sequential/ a pszeudo-konkurens /pseudo-concurrent/ és a konkurens  számítógépes rendszerek /concurrent/?
02. Milyen feltételeket támasztanak logikai és az időzítési követelmények a valósidejű rendszerekkel? Miért ezeket a követelményeket egyszerre kielégíteni a valósidejű rendszerekben?
03. Mi a taszk és a mi a különbség a taszk és a folyamat /process/ között?
04. Mi értünk időfüggő /time critical task/ és idő független taszk /non-time critical task/ alatt?
05. Mi a kapcsolat az időfüggő és a periodikus, illetve az időfüggetlen és az aperiodikus taszkok között?
06. Hasonlítsa össze a kemény (hard), a erős (firm) és a puha (soft) befejezési határidőket! Melyik határidő nem teljesítése okozhat komoly problémákat a valósidejű rendszerekben?
07. Rajzolja fel a valósidejű rendszerek struktúráját és ismertesse két alapelemének feladatait!
08. Milyen követelményeket /constraints/ kell a valósidejű rendszereknek ki elégíteniük? Foglalja össze röviden az egyes követelmények által meghatározott korlátokat!
09. Mi a különbség az ún puha időzítésű /soft real-time systems/ és az ún. kemény időzítésű /hard real-time systems/ valósidejű rendszerek között?
10. Írja fel az aperiodikus és periodikus taszkok időzítési viszonyait meghatározó egyenleteket és egyenlőtlenségeket kemény- és puha időzítési valósidejű rendszerekben!
11. Mit értünk megbízhatóság /reliability/, tervezhetőség /predictability/ és alkalmazkodás /adaptability/ alatt a valósidejű rendszerekben?
12. Hasonlítsa össze az óra alapú /clock-based real-time systems/ és az esemény vezérelt /event-driven real-time systems/ valósidejű rendszereket!
13. Miért nem tekinthetők az interaktív rendszerek keményidőzítésű valósidejű rendszereknek?
14. Mi a különbség a soros vagy szekvenciális programok /sequential programs/ és a több felhasználós programok /multi-tasking programs/ között?
15. Milyen programokat nevezünk valósidejű programoknak? Rajzolja fel a valósidejű programok időzítési diagramját!
16. Milyen jellemzők /measures/ segítségével tudják meghatározni a valósidejű rendszerek teljesítményét /performance/? Ismertesse, hogyan lehet az egyes jellemzőket felhasználni a valósidejű rendszerek teljesítményének meghatározására!
17. Mutassa be valósidejű programok futásidejét /run-time/ meghatározó folyamat fontosabb lépéseit!
18. A valósidejű rendszerek tervezésekor milyen négy szempontot kell figyelembe venni? Ismertesse röviden az egyes szempontokat!
19. Mit értünk követelmény leírás /specification/ és követelmény ellenőrzés /verification/ alatt valósidejű rendszerekben?
20. Milyen szolgáltatásokkal támogatja a valósidejű kernel a valósidejű rendszerek időzítési követelményeinek teljesítését?
21. Milyen követelményeket támasztanak a valósidejű rendszerek a számítógép hardware-vel szemben?

Time and Synchronisation in Real-Time Systems
01. Mit nevezünk valós időnek /real time/ és óra időnek /clock time/?
02. Milyen azonos és milyen különböző tulajdonságokkal rendelkezik a valós idő és az óra idő?
03. Milyen függvények segítségével lehet kezelni az óra időt?
04. Mit értünk az ideális óra /ideal clock/ alatt és milyen tulajdonságokkal rendelkezik az ideális óra?
05. Irja fel és magyarázza meg az ideális óra tulajdonságait leíró matematikai kifejezéseket!
06. Hogyan kezeli az ideális óra az időt? Mi a kapcsolat a t óraütés idő és a w óraütés függvény között?
07. Írja fel a valós óra /real clock/ késését, illetve sietését leíró egyenletet és határozza meg az egyenletben szereplő változókat!
08. Mi az esemény /event/, az intervallum /interval/ és az állapot /state/ a valósidejű rendszerekben?
09. Magyarázza meg a nyitott intervallum /open interval/, a zárt intervallum /closed interval/ és a korlátozatlan intervallum /unbounded interval/ fogalmát egy-egy példa segítségével!
10. Rajzolja fel az intervallumok közötti viszonyokat ábrázoló idődiagramokat két intervallum esetén!
11. Milyen eseményeket nevezzünk összefüggő (casually related), illetve konkurens (concurrent) eseményeknek? Ábrázolja ezeket a viszonyokat négy esemény segítségével!
12. Mit értünk részleges vagy ok-okozati (partially) esemény sorrend alatt? Milyen matematikai logikai szabályok segítségével lehet leírni az események részleges sorrendjét?
13. Miért nem lehet a részleges sorrend segítségével leírni a valósidejű rendszerekben bekövetkező összes esemény pontos sorrendjét?
14. Mi a különbség a részleges /partial/ és a teljes /total/ esemény sorrend között? Mutassa be a különbségeket a matematikai logikai szabályok segítségével!
15. A részleges /partial/ és a teljes /total/ esemény sorrend hogyan határozza meg az események sorrendiségét valósidejű rendszerekben?
16. Mi a különbség a “Nemzetközi Atomi Idő” /TAI/ és a “Koordinált Univerzális Idő” /UTC/ között?
17. Mi az időbélyeg /timestamp/ és a logikai óra /logical clock/?
18. Írja fel a logikai óra működési szabályait a matematikai logika egyenleteit és egyenlőtlenségeit felhasználva!
19. Ismertesse a logikai óra megvalósítási szabályait az azokat leíró egyenletek segítségével!
20. Hogyan határozza meg a logikai óra egy valósidejű rendszerben az események teljes /global/ sorrendiségét?
21. Mi a különbség a logikai és a vektor óra között? Mutassa be a két óra működését esemény diagrammok segítségével!
22. Milyen feladatok és problémák merülnek fel a szinkronizálás során, illetve, hogy oldják meg ezeket a feladatokat és problémákat?
23. Hasonlítsa össze a belső és a külső szinkronizálási módszert!
24. Mi a szinkronizálási boríték (synchronisation envelope)? Ábrázolja a szinkronizálási borítékot egy idődiagrammal és jelölje be az óra késési és sietési tartományokat!
25. Foglalja össze a négy legfontosabb pontossági kritériumot (criteria of correctness), amelyek meghatározzák az óra pontosságát
26. Mi a különbség a megközelítő (approximate) és a pontos (exact) megegyezés között a szinkronizálási folyamatokban?
27. Határozza meg a fizikai és a logikai óra feladatát a szinkronizálás alatt valósidejű rendszerekben!
28. Hasonlítsa össze a Berkely és a Cristian szinkronizálási módszereket /feladatok és műveletek/!
29. Milyen problémák merülnek fel a Cristian módszer végrehajtása során és hogy oldják meg ezeket a problémákat?
30. Hasonlítsa össze az interaktív COM és CSM konzisztencia szinkronizálási algoritmust!
31. Mutassa be az interaktív konvergencia szinkronizálási algoritmust!

Process Management in Real-Time Systems
01. Határozza meg a folyamat /process/ fogalmát a számítógépes rendszerekben! Milyen összetevőkből áll a folyamat?
02. Milyen erőforrásokat nevezünk hozzárendelt /dedicated resources/, illetve osztott erőforrásoknak /shared resources erőforrásnak?
03. Hasonlítsa össze a hozzárendelt erőforrásokat /dedicated resources/ és az osztott erőforrásokat /shared resources/ a felhasználó szemszögéből!
04. Milyen erőforrásokat osztanak meg a valósidejű rendszerekben? Foglalja össze az egyes erőforrás megosztási módszereket! 
05. Mi a különbség a programkód és a memória szegmens közös felhasználása között?
06. Ismertesse a sor /queue/ és a buffer /hopper/ használatát a valósidejű rendszerekben!
07. Milyen módszerek segítségével lehet koordinálni a folyamatokat a valósidejű rendszerekben?
08. Milyen hat alapfeladatot kell ellátni a folyamatok kezelése során a valósidejű rendszerekben?
09. Milyen elemekből áll a folyamatok statikus és dinamikus adatstruktúrája?
10. Mutass be a folyamatok különböző állapotait a folyamatok állapot-átmenet /process states & transitions/ ábrájának segítségével
11. Mi a folyamattábla és a folyamatleíró feladata? 
12. Milyen elemek találhatók a folyamattáblában és a folyamatleíróban és mi az egyes elemek feladata?
13. Milyen állapotok kezelésére használnak folyamatlistákat a valósidejű rendszerekben?
14. Hogyan kezelik a folyamatlisták a folyamatokat a valósidejű rendszerekben?
15. Hogyan kell végrehajtani a folyamatok közötti váltást (process switch) valósidejű rendszerekben?
16. Mely rendszerhívások /system call/ kezelik közvetlenül az időt? Mutass be ezeknek a rendszerhívásoknak a feladatait és működését!
17. Ábrázolja, hogy az egyes rendszerhívások hogyan változtatják meg a folyamatok állapotait a folyamat állapot-átmenet ábra segítségével!

Scheduling in Real-Time Systems
01. Mi az ütemező /scheduler/ és a vezérlő /dispatcher/ feladata a valósidejű rendszerekben?
02. Mi a különbség a megvalósítható /feasible schedule/és az optimális ütemező /optimal schedule/ között?
03. Milyen időzítési paramétereket használnak a folyamatok időzítési viszonyainak a leírására? Ismertesse az egyes paraméterek feladatait egy idődiagram segítségével!
04. Rajzolja fel a periodikus és az aperiodikus folyamatok ütemezési időzítési diagramját és hasonlítsa össze a két folyamattípus ütemezési feladatait és követelményeit!
05. Miért növeli az ütemező a valósidejű rendszer terhelését az időben, és hogyan lehet ezt a terhelést csökkenteni?
06. Rajzolja fel az ütemező végrehajtásához szükséges környezetkapcsolást (context switch) és magyarázza meg a végrehajtandó műveleteket!
07. Milyen prioritás szinteket használnak a valósidejű rendszerekben? Foglalja össze az egyes prioritásszintek feladatait!
08. Milyen feladatokat lát el a megszakítás szint /interrupt level/ az ütemezés során?
09. Hogyan kapcsolódik a valósidejű óra /real-time clock/ a megszakítás és óra szinthez /clock level/?
10. Milyen folyamatokat nevezünk óra szintű folyamatoknak? Mi a különbség a magas és az alacsony prioritású óraszintű folyamatok között?
11. Miben különböznek az alapszintű folyamatok /base level processes/ a megszakítás és az óraszintű folyamatoktól?
12. Ismertesse a három ütemező típus feladatait és hasonlítsa össze őket!
13. Milyen típusú ütemezőt használnak a valósidejű rendszerekben? Indokolja meg a válaszát!
14. Határozza meg az egyszerű /simple scheduling strategies/ és a prioritás alapú /priority-based scheduling strategies/ ütemezési stratégiák feladatait! Mi a különbség a két ütemezési stratégia között?
15. Mi a különbség a felfüggeszthető /preemptive scheduling strategy/ és a nem-felfüggeszthető ütemezési stratégia /non-preemptive scheduling strategy között?
16. Hogyan valósítják meg a központosított multiprocesszoros és az osztott rendszerekben az ütemezést?
17. Ismertesse az “Először jött először kiszolgálva” /first come first served/ és a “Kerge rigó” /round robin/ ütemezési algoritmusokat egy-egy ütemezési idődiagram segítségével!
18. Hogyan működik a “legrövidebb feladat először” /shortest job firts/ ütemezési algoritmus?
19. Mutass be a “végrehajtási ütem arányos” /rate monotonic scheduling/ ütemezési algoritmus működését egy idődiagram segítségével!
20. Hasonlítsa össze a “legrövidebb feladat először” /shortest job firts/ ütemezési algoritmus?
21. Mutass be a “legkorábbi határidő, amilyen hamar lehet“ (earliest deadlien as soon as possible) és a “legkorábbi határidő, amilyen későn lehet“ (earlist deadline as late as possible) ütemezési határidőket!

Real-Time Kernels and Operating Systems
01. Milyen alap- és kiegészítő szolgáltatásokat nyújt a valósidejű kernel? Foglalja össze az egyes szolgáltatások feladatait!
02. Hasonlítsa össze az egy -, a több processzoros és az osztott kernelt! melyik típust használják a valósidejű rendszerekben?
03. Milyen kernel struktúrákat használnak a valósidejű rendszerekben? Mutassa be az egyes struktúrák legfontosabb feladatait!
04. Ismertesse a mikrokernel struktúráját és alap- és kiegészítő feladatait!
05. Mi a különbség a felhasználói és a rendszerállapotok között a kernelek használata alatt?
06. Milyen rendszerelemeket lehet elérni a megszakítás vektortábla segítségével?
07. Milyen feladatokat hajt végre a mikrokernel a rendszer inicializálása alatt?
08. Sorolja fel a mikrokernel folyamatkezelési feladatait a megfelelő rendszerhívások segítségével!
09. Milyen kommunikációs eszközöket használ a mikrokernel a valósidejű rendszerekben?
10. Mi a különbség az események (events) és a jelzések (signals) kommunikációs alkalmazása között valósidejű rendszerekben?
11. Hogyan kezeli a mikrokernel a hardware és a software prioritási szinteket valósidejű rendszerekben?
12. Miért használnak rögzített méretű memóriaszegmenseket a valósidejű rendszerekben?
13. Hogyan lehet elérni a mikrokernelt eljáráshívás /procedure call/, rendszerhívás /system call/ és software megszakítás /software interrupt/ segítségével?
14. Milyen szolgáltatásokat nyújt a valósidejű operációs rendszer? Foglalja össze az egyes szolgáltatások legfontosabb feladatait!
15. Milyen file típusokat kezelnek a valósidejű operációs rendszerek, amelyek lehetővé teszik a kemény időzítési feltételek teljesítését?