Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
42 Cards in this Set
- Front
- Back
Omschrijf nauwkeurig wat een hard real-time embedded systeem is. |
Een ingebed systeem (embedded system) is een systeem bestaande uit hardware en software, dat deel uitmaakt van een apparaat/ product. Een real-time embedded systeem is een embedded systeem waarbij het correct functioneren niet alleen bepaald wordt door de logische correctheid van de algoritmen, maar ook bepaald wordt door de tijdstippen waarop de uitvoersignalen worden gegenereerd; een real-time embedded systeem heeft voor tenminste één I/O-signaal deadlines. |
|
Noem acht producten waarin een rtos is toegepast. |
Printers, Digitale camera’s, DVD-spelers, ADSL-modems, Access points voor wireless LAN’s, Navigatie systemen, ASML-wafersteppers |
|
Beschrijf de functie(s) van een BSP. |
- Drivers voor I/O-interfaces - Initialisatie van de hardware |
|
Waartoe dient een target agent ? |
- het kunnen uitvoeren van debug-sessies; - het opstarten (booten) van het systeem; - het laden van de – op de host ontwikkelde applicatie – in het flash- of in het RAM-geheugen van het development board. |
|
Leg uit wat cross-platform development inhoudt. |
Cross platform development wil zeggen dat de software op een ander platform (host platform genoemd) ontwikkeld wordt, dan het platform (target platform genoemd) waarop de software moet “gaan draaien” |
|
Wat is de betekenis van de “POSIX conformance” eigenschap ? |
Een operating systeem heeft de POSIX conformance eigenschap als de de gehele POSIX API ondersteund wordt. |
|
Waar staat POSIX voor? |
Portable Operating System Interface for Computing Enviorments |
|
Wat houdt FIFO-scheduling in? Is FIFOscheduling geschikt voor real-time systemen (geef een toelichting)? |
FIFO (First In First Out) scheduling houdt in dat de taak die het langst in de wachtrij van de scheduler gestaan heeft als eerste de beschikking krijgt over de processor.
FIFO-scheduling is niet geschikt voor real-time systemen, omdat bij FIFO scheduling de situatie zich kan voordoen dat een urgente taak (hoge prioriteit) moet wachten op een niet-urgente taak. |
|
Een systeemklok van een real-time operating systeem heeft gewoonlijk een periodetijd variërend van 1 tot 20 ms.
Wat voor nadeel zit er aan een zeer kleine periodetijd (bijv. 10 μs) ?
Is er ook een nadeel verbonden aan een grote waarde van de periodetijd (bijv 0,5 s) ? Een nadeel van een zeer |
Een nadeel van een zeer kleine periodetijd van de systeemklok is dat er relatief veel tijd verloren gaat aan extra overhead ten gevolge van de timer-interrupts van de systeemklok.
Een nadeel van een grote waarde van de periodetijd is de grove tijdresolutie. Een periodetijd van bijvoorbeeld 100 ms brengt met zich mee dat we een taak niet 20 ms in een wachtstand kunnen zetten. " |
|
Beschrijf de belangrijkste functies van een microkernel van een rtos. |
- scheduling van taken; - verzorgen van communicatie tussen de taken onderling; - verzorgen van synchronisatie van activiteiten; - interrupt-management; - management van timers; - vaak ook geheugenmanagement. |
|
De kernel van een operating systeem bevat een zogenaamde “dispatcher”. Zoek op Internet wat de functie van een dispatcher is. |
De “dispatcher” is de module die de context-switches uitvoert; het is dus van belang dat de dispatcher zeer snel functioneert. " |
|
Beschrijf de typische opbouw van een hard real-time Linux operating systeem. |
Bij hard real-time linux operatingsystemen draait de Linux kernel als een thread boven op een klein hard real time operating systeem. |
|
Wat verstaat men onder een kritieke sectie (in de context van semaforen)? |
Een kritieke sectie is een stuk code dat ingesloten is tussen semTake() en semGive(). Vanuit een kritieke sectie kan er geen context-switch plaatsvinden naar een andere kritieke sectie die bij dezelfde semafoor behoort. |
|
Wat is een atomaire functie (bijv. semTake() en semGive() zijn atomair)? |
Een atomaire functie is een functie waarbij er geen context switch kan plaatsvinden tijdens de uitvoer van zo’n functie. |
|
Een operating systeem beheert bij elke semafoor een rij (queue). Wat zijn de elementen van zo’n queue ? |
De elementen van de semafoor-queue zijn procesidentificatienummers van processen die de semTake() functie hebben aangeroepen, nadat de semafoor- variabele (al) op nul stond. |
|
Bestudeer het algoritme van Peterson. Welk groot nadeel kleeft er aan dit Algoritme?
|
Het grote nadeel van het algoritme van Peterson is dat een thread die moet wachten om een kritieke sectie in te gaan processortijd “verspilt”; het betreft een zogenaamd actief wachten (busy waiting). |
|
Geef een beschrijving van de volgende begrippen:
a) mutex b) monitor |
a) Een speciale binaire semafoor voor het realiseren van wederzijdse uitsluiting
b) Een klasse met de bijzondere eigenschap dat er slechts één thread tegelijkertijd actief mag zijn binnen de klasse. # |
|
Geef een korte omschrijving van prioriteitsinversie. Noem verder een algoritme om prioriteitsinversie te vermijden. |
Prioriteitsinversie is een situatie waarin een thread met een hogere prioriteit blokkeert op een semafoor, die vastgehouden wordt door een thread met een lagere prioriteit: De wachttijd wordt extra groot als de thread met de lage prioriteit wordt onderbroken door een thread met middelhoge prioriteit. Dit probleem kan verholpen worden door toepassing van het priority inheritance protocol. |
|
Leg uit waarom er na disabling van timerinterrupts geen context switch mogelijk is. |
Door het uitschakelen van timerinterrupts komen er geen kloktikken meer van de systeemklok. Context switches vinden uitsluitend plaats bij timerinterrupts van de systeemklok. |
|
Wat is een thread-safe function (zoek op op internet)? |
Een functie heet threadsafe als de functie door verschillende threads tegelijk gebruikt kan worden waarbij er geen ongewenste resultaten ontstaan door context switches tussen threads die de functie aanroepen." |
|
Waarom bevat de implementatie van een message queue een semafoor (minmaal 1)? |
Wanneer een aantal threads “gelijktijdig” toegang tot een mailbox zou kunnen krijgen, dan bestaat het gevaar van het optreden van een race-condition. |
|
Noem een belangrijk verschil tussen een message queue en message passing |
Bij de message wordt de communicatie gedaan via een stuk OS geheugen en bij message passing wordt de data direct in het doelproces geplaatst. |
|
Leg uit wat een time-out bij het verzenden en ontvangen van data naar een message queue voor een functie heeft. |
Bij verzenden wordt er gewacht tot er ruimte vrij is en bij ontvangen wordt er op data gewacht. |
|
Hoe groot kan de TLB worden? |
12–4,096 entries |
|
Wat is een ASID en waarom wordt deze gebruikt in een TLB? |
ASID staat voor Adress Space Identifier en zorgt ervoor dat alle gecachte geheugenadressen gescheiden blijven van andere adres ruimten. |
|
Waarom functioneert een proces-gebaseerd real-time operating systeem betrouwbaarder dan een thread-gebaseerd real-time operating systeem ? |
Bij een procesgeoriënteerd real-time besturingssysteem kan een corrupte pointer in een bepaald proces geen directe invloed op een ander proces hebben, want corrupte pointer waarden blijven in één virtuele adresruimte. |
|
Een virtueel geheugenadres wordt in de MMU opgedeeld in drie delen: A B C, waarbij A de meest significante bits van het geheugenadres voorstelt. Welk deel A, B of C bepaalt de grootte van de paginatabellen? |
B. Als deel B uit x bits bestaat, dan zijn er dus 2x elementen in een paginatabel. " |
|
Bij een context switch naar een ander process moet het operating systeem overschakelen op een andere set van page tables. Hoe gebeurt dat? |
Overschakeling op een andere set van paginatabellen geschiedt door een MMU-register met een andere waarde te vullen. De waarde van het MMU-register wijst dan naar een andere page table directory. " |
|
Hoe kan een operating systeem verschillende processen een gemeenschappelijk stuk geheugen geven? |
Door paginatabellen van verschillende of alle processen met gelijke fysieke adressen te vullen ontstaat een gedeeld stuk geheugen. |
|
Een processor bevat ook een ingebouwde watchdog. Leg uit waarom je met zo’n watchdog geen deadlock kan detecteren. |
Bij een deadlock wordt de uitvoer van een deel van de threads gestopt. De overige threads blijven doordraaien. Als de overige threads de watchdog voldoende vaak resetten, dan blijft de deadlock onopgemerkt. |
|
Leg uit hoe monitor-based debugging werkt? |
Bij monitor-based debugging wordt er op de plaats van een breakpoint een software-interrupt in de code tussengevoegd. Bij het bereiken van de software- interrupt wordt er een sprong gemaakt naar het monitorprogramma. Het monitor- programma kan registerwaarden en geheugenlocaties uitlezen en deze waarden naar de host communiceren. |
|
Noem twee interfaces voor on chip debugging. |
JTAG, BDM(Background Debug Mode interface). " |
|
Wat houdt freeze mode debugging in? |
Bij freeze-mode debugging wordt de processor gestopt, waarna vervolgens inspectie kan plaatsvinden. |
|
Wat is een data-breakpoint ? |
Bij een data breakpoint kan de uitvoering gestopt worden wanneer de waarde op een gespecificeerde geheugenlocatie wijzigt. |
|
Wat houdt run mode debugging in? |
Run-mode debugging is een vorm van debugging waarbij de processor niet gestopt wordt, maar alleen een bepaalde (of enkele) thread(s) wordt gestopt en de overige draaien door. |
|
Waartoe dient een ETM-unit in ARM-processoren? |
ETM = Embedded Trace Macro cell; dit is een extra unit in de ARM-processor die benodigd is voor trace-points. § |
|
Wat voor soort events kunnen er met een event-analyzer getoond worden? Geef 3 voorbeelden. |
- context switsches - interrupts - semTakes en semGives van semaforen |
|
Noem twee functies die een JTAG inteface biedt. |
- Debugging - Testen van de chip - Downloaden van programmacode in flash geheugen |
|
Wat is MDD? |
Model Driven Development.
Onderdelen van systemen kunnen als gezien worden als samenwerkende objecten die in een wisselende samenwerking bepaalde functies realiseren voor de gebruiker. |
|
Wat zijn de drie Thread states? |
- Running - Ready to run - Pending |
|
Wat doet Round Robin Scheduling? |
Iedere thread krijgt in de ready to run state dezelfde tijdkwantum toegewezen. |
|
Wat is Time Slicing? |
De thread met de hoogste prioriteit mag runnen. |