Ruud - 2 - Real-time Scheduling Flashcards

1
Q

Wat houdt FIFO-scheduling in?
Is FIFO-scheduling geschikt voor real-time systemen?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Bij Round Robin scheduling kan men gewoonlijk een tijd-kwantum instellen. Leg uit wat de betekenis is van dit tijdkwantum.

A

Het tijdkwantum is de maximale aaneengesloten tijd dat een thread mag runnen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Het operating systeem freertos heeft een “Tickless Idle Mode”. Wat houdt dit in?

A

Een energiebesparende modus waar de os stopt met kloktikonderbrekingen tijdens inactiviteit. Het komt er weer uit bij een onderbreking of taak die naar de gereed-toestand moet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

In paragraaf 2.2 staat vermeld dat de systeemklok van een real-time operating systeem
gewoonlijk een periodetijd heeft 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) ?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Beschrijf de belangrijkste functies van een microkernel van een rtos.

A

De functies van de microkernel van een RtOS zijn:
- scheduling van taken;
- verzorgen van communicatie tussen de taken onderling;
- verzorgen van synchronisatie van activiteiten;
- interrupt-management;
- management van timers;
- vaak ook geheugenmanagement.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Beschrijf in pseudocode de opbouw van een periodieke taak.

A

void ReadSensorData ()
{
nextTime= currentTime ;
while (1)
{
Do_Work; // read sensor data
nextTime= nextTime + taskPeriod;
sleepToAbsTime(nextTime);
}
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

De kernel van een operating systeem bevat een zogenaamde “dispatcher”. Zoek op
Internet wat de functie van een dispatcher is

A

De “dispatcher” is de module die de context-switches uitvoert; het is dus van
belang dat de dispatcher zeer snel functioneert.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Verklaar waarom de onderstaande code over het algemeen geen periodieke taak oplevert.
void ReadSensorData ()
{
while (1)
{
Do_Work; // read sensor data
sleep(periodetijd);
}
}

A

Terwijl de thread in de while-loop bezig is met Do_Work kan de thread een onbekende tijd
onderbroken worden door een andere thread en dit zal de cyclustijd verhogen. De cyclustijd hoeft
dus niet constant te zijn.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Een hard real-time embedded systeem heeft drie periodieke taken die via I/O interfaces met de omgeving communiceren. De eindtijdstippen van de perioden zijn tevens deadline-momenten.

Voor het einde van elke periode moet elke taak een bepaalde bewerking hebben voltooid. In de onderstaande tabel staat van elke thread de periodetijd en de bewerkingstijd per periode vermeld.

Neem aan dat op tijdstip t = 0 alle threads klaar
staan voor dataverwerking. Geef in een timings-diagram weer hoe de scheduling verloopt
bij toepassing van het earliest deadline first algoritme. Worden alle deadlines gehaald ?

Periodetijd T Bewerkingstijd C
Thread 1 10 4
Thread 2 5 1,5
Thread 3 4 1

A

Alle eerste deadlines worden gehaald. Volgens het crucial zone theorema worden
dan alle nakomende deadlines ook gehaald.

Zie p 7 op 10

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Beschrijf de typische opbouw van een hard real-time Linux operating systeem.

A

Bij hard real-time linux operatingsystemen draait de Linux kernel als een thread boven op een
klein hard real time operating systeem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Periodetijd T Bewerkingstijd C
Thread 1 10 4
Thread 2 5 1,5
Thread 3 4 1
maar nu op basis van rate monotonic scheduling.

A

p7 op 11

How well did you know this?
1
Not at all
2
3
4
5
Perfectly