Real-Time Rendszerek
Vizsga
A vizsga írásbelivel kezdődik és szóbelivel folytatódik.
Írásbeli
Az írásbeli vizsgán tíz kérdést kap minden hallgató, amelyekre 60 perc
alatt kell válaszolni.
Minden kérdésre adott helyes válasz 2 pontot ér. A részben helyes
válaszokra 0.5 és 1.5 közötti részpontok is adhatók. Az írásbeli
értékelés a következőképpen történik:
pont | Jegy |
0-10 | elégtelen |
11-13 | elégséges |
14-16 | közepes |
17-18 | jó |
19-20 | jeles |
Eredményhirdetés
Az írásbeli dolgozatok javítása az írásbeli vizsga után azonnal
elkezdődik. Tíz dolgozat javítása kb. egy órát vesz igénybe. Az
írásbeli dolgozatok kijavítása után egy óra technikai szünet
következik, majd a vizsga folytatódik az írásbeli vizsga eredményeinek
kihirdetésével. Az írásbeli után minden hallgatónak megajánlunk egy
érdemjegyet, amelyet vagy elfogad, vagy szóbelizik.
Szóbeli
Az írásbeli vizsga megajánlott jegye belépőként szolgál a szóbeli
vizsgán. A szóbeli vizsgán az írásbeli vizsgán elért érdemjegyen egy
jegyet lehet maximum javítani. Ezzel szemben a rontási lehetőségek
korlátlanok.
Vizsgakérdések
Introduction to Real-Time System
- Hogyan működnek a soros (sequential) a pszeudo-konkurens
(pseudo-concurrent) és a konkurens számítógépes rendszerek
(concurrent)?
- Milyen két feltételt kell ki elégítenie a valósidejű rendszereknek
és milyen követelményeket határoznak meg ezek a követelmények?
- Mi a taszk és a mi a különbség a taszk és a folyamat (process)
között a különbség?
- Mi értünk idő függő (time critical task) és időfüggetlen (non-time
critical task) alatt?
- Rajzolja fel a valósidejű rendszerek alapstruktúráját és
ismertesse két alapelemének feladatait!
- 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!
- 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?
- Írja fel a periodikus és az aperiodikus kemény időzítésű
valósidejű rendszerek időzítési követelményeit!
- Mit értünk megbízhatóság (reliability), tervezhetőség
(predictability) és alkalmazkodás (adaptability) alatt a valósidejű
rendszerekben?
- Milyen típusú valósidejű rendszereket alkalmaznak a gyakorlatban?
Röviden ismertesse ezeket a rendszereket!
- 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!
- 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?
- Milyen programokat nevezünk valósidejű programoknak? Rajzolja fel
a valósidejű programok időzítési diagramját!
- Milyen jellemzők (measures) segítségével tudják meghatározni a
valósidejű rendszerek teljesítményét (performance)? Foglalja össze az
egyes jellemzők feladatait!
- Hogyan lehet meghatározni a valósidejű rendszerek futásidejét
(run-time)?
- A valósidejű rendszerek tervezésekor milyen szempontokat kell
figyelembe venni? Ismertesse röviden az egyes szempontokar!
- Mit értünk követelmény leírás (specification) és követelmény
ellenőrzés (verification) alatt valósidejű rendszerekben?
- 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?
- Mi az ütemezés alapfeladata valósidejű rendszerekben?
- Milyen hardware követelményeket támasztanak a valósidejű
rendszerek?
Time and Synchronisation in Real-Time Systems
- Mit nevezünk valós időnek (real time) és óra időnek (clock time)?
- Milyen függvények segítségével lehet kezelni az óra időt?
- Mit értünk az ideális óra (ideal clock) alatt és milyen
tulajdonságokkal rendelkezik az ideális óra?
- 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?
- Írja fel a valós óra (real clock) késését, illetve sietését leíró
egyenletet és magyarázza meg az egyenletben szereplő változókat!
- Mi az esemény (event), az intervallum (interval) és az állapot
(state) a valósidejű rendszerekben?
- 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!
- Rajzolja fel az intervallumok közötti viszonyokat ábrázoló
idődiagramokat!
- Mit értünk részleges (partially) esemény sorrend alatt? Milyen
matematikai logikai szabályok segítségével lehet leírni az események
részleges sorrendjét?
- 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!
- A részleges (partial) és a teljes (total) esemény sorrend hogyan
határozza meg az események sorrendiségét valósidejű rendszerekben?
- Mi a különbség a "Nemzetközi Atomi Idő" (TAI) és a "Koordinált
Univerzális Idő" (UTC) között?
- Mi az időbélyeg (timestamp) és a logikai óra (logical clock)?
- Foglalja össze a logikai óra működési szabályait!
- Hogyan határozza meg a logikai óra egy valósidejű rendszerben az
események teljes (global) sorrendiségét?
- 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!
- Milyen feladatok és problémák merülnek fel a szinkronizáció során,
illetve, hogy oldják meg ezeket a feladatokat és problémákat?
- Határozza meg a fizikai és a logikai óra feladatát a
szinkronizálás alatt valósidejű rendszerekben!
- Hasonlítsa össze a Berkely és a Cristian szinkronizálási
módszereket /feladatok és műveletek/!
- 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?
Process Management in Real-Time Systems
- Határozza meg a folyamat (process) fogalmát a számítógépes
rendszerekben!
- Milyen erőforrásokat nevezünk hozzárendelt (dedicated resources)
erőforrásnak?
- 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!
- Milyen erőforrásokat osztanak meg a valósidejű rendszerekben?
Foglalja össze az egyes erőforrás megosztási módszereket!
- Mi a különbség a programkód és a memória szegmens közös
felhasználása között?
- Milyen kommunikációs eszközöket használnak a valósidejű
rendszerekben? Mutassa be ezeket az eszközöket!
- Határozza meg a sor (queue) a medence (pool) és körbuffer (hopper)
feladatait a valósidejű rendszerekben!
- Milyen alapprimitivek segítségével lehet koordinálni a
folyamatokat a valósidejű rendszerekben?
- Milyen feladatokat kell ellátni a folyamatok kezelése során a
valósidejű rendszerekben?
- Milyen elemekből áll a folyamatok statikus és dinamikus
adatstruktúrája?
- Mutass be a folyamatok különböző állapotait a a folyamatok
állapot-átmenet (process stats & transitions) ábrájának segítségével
- Mi a folyamattábla és a folyamatleíró feladata? Milyen elemek
találhatók a folyamattáblában és a folyamatleíróban?
- Milyen listákat használnak a valósidejű rendszerekben az egyes
állapotok kezelésére?
- 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!
- Mi az ütemező (scheduler) és a vezérlő (dispatcher) feladata a
valósidejű rendszerekben?
- Mi a különbség a megvalósítható (feasible schedule) és az optimális
ütemező (optimal schedule) között?
- 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!
- 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?
- Rajzolja fel az ütemező végrehajtásához szükséges
környezetkapcsolást és magyarázza meg a végrehajtandó műveleteket!
- Milyen prioritás szinteket használnak a valósidejű rendszerekben?
Foglalja össze az egyes prioritásszintek feladatait!
- Milyen feladatokat lát el a megszakítás szint (interrupt level) az
ütemezés során?
- Hogyan kapcsolódik a valósidejű óra (real-time clock) a
megszakítás és óra szinthez (clock level)?
- Mit folyamatokat nevezünk óra szintű folyamatoknak? Mi a különbség
a magas és az alacsony prioritású óraszintű folyamatok között?
- Miben különböznek az alapszintű folyamatok (base level processes)
a megszakítás és az óraszintű folyamatoktól?
- Milyen típusú ütemezőt használnak a valósidejű rendszerekben?
- 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?
- 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?
- 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!
- Hogyan működik a "legrövidebb feladat először" (shortest job
firts) ütemezési algoritmus?
- Mutassa 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!
Real-Time Kernels and Operating Systems
- Milyen alap- és kiegészítő szolgáltatásokat nyújt a valósidejű
kernel?
- Hasonlítsa össze az egy-, a több processzoros és az osztott
kernelt!
- Ismertesse a mikrokernel struktúráját és alapfeladatait!
- Milyen feladatokat hajt végre a mikrokernel a rendszer
inicializálása alatt?
- Sorolja fel a mikrokernel folyamatkezelési feladatait!
- Milyen kommunikációs eszközöket és primitiveket használ a
mikrokernel a valósidejű rendszerekben?
- Hogyan kezeli a mikrokernel a hardware és a software prioritási
szinteket valósidejű rendszerekben?
- 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?