• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/42

Click to flip

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.