Embedded systemen en firmware

Bij een preëmptief RTOS ontvangt een taak met hoge prioriteit, terwijl een taak met lage prioriteit draait, de gegevens waarop hij wachtte en kan hij worden uitgevoerd. Wat gebeurt er gewoonlijk?

  1. ADe taak met hoge prioriteit wacht tot de taak met lage prioriteit uit zichzelf klaar is
  2. BBeide taken stoppen en de microcontroller herstart
  3. CDe taak met lage prioriteit wordt halverwege gestopt en er wordt direct omgeschakeld naar de taak met hoge prioriteit
Antwoord en toelichting tonen

Antwoord: C. De taak met lage prioriteit wordt halverwege gestopt en er wordt direct omgeschakeld naar de taak met hoge prioriteit

Bij een preëmptief RTOS bewaart de kernel, wanneer een taak met hoge prioriteit uitvoerbaar wordt, bijvoorbeeld door een interrupt, de toestand van de lopende taak met lage prioriteit, stopt deze en schakelt over naar de taak met hoge prioriteit. Zodra die klaar is of in een wachttoestand komt, hervat de taak met lage prioriteit vanaf waar hij was. Zo kan de reactietijd van verwerking met hoge prioriteit kort en voorspelbaar worden gehouden.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Embedded systemen en firmware

  1. Welke uitspraak over prioriteitsinversie bij een RTOS is juist?
  2. Welke gedachte ligt achter "prioriteitsovererving" (priority inheritance), dat wordt gebruikt om prioriteitsinversie te voorkomen?
  3. Wat is het voordeel van een wachtrij (berichtenwachtrij) bij het doorgeven van gegevens van een taak die een sensor leest aan een taak die weergeeft in een RTOS?
  4. Welk verschil tussen hard real-time en soft real-time is juist?
  5. Waarom is het niet goed om het resetten (kicken) van de watchdogtimer onvoorwaardelijk uit te voeren in een timerinterrupthandler die elke 1 ms optreedt?

Vergelijkingen bij dit onderwerp