Real-Time Systems (RTSYST) Week 7. 170 Priority inheritance voorbeeld taakprioexecutionrelease time d4EEQVE4 c3EVVE2 b2EE2 a1EQQQQE0.

Slides:



Advertisements
Verwante presentaties
Vierde bijeenkomst Kleinste kwadraten methode Lineaire regressie
Advertisements

Voorraadwaardering Technische en economische voorraad FIFO methode
CIMSOLUTIONS B.V. CIMSOLUTIONS Automation for Industry & Business SIG Embedded “Proces Ellende” André Vink CDP real-time embedded 28 september 2005.

Vliegen via een netwerk. Dit heeft de volgende deelnemers •Éen Host: Dit kan zijn een bestaand netwerk via internet(IVAO, VATSIM) of de flightsimulator.
20-03 Indelingen kosten.
Hoofdstuk 4 De planning Waarom plannen? Begrippen Strokenplanning
Een paar programma’s met een aantal basisprincipes.

BESTURINGS SYSTEMEN Vincent Naessens.
Java in Space Joffrey Lambregs. Agenda Introductie Waarom van C naar Java Tekortkomingen van Java Oplossingen JSR302 DAL-Levels Data diodes Werken in.
GESPRG Les 14 Gestructureerd programmeren in C. 174 Details! The devil is in the details.
Hoofdstuk 17 De Geldmarkt
‘Inleiding programmeren in Java’ SWI cursus: ‘Inleiding programmeren in Java’ 4e college Woe 19 januari 2000 drs. F. de Vries.
C programma int main(){ } Compilatie met devc++ in file main.c Gecompileerd programma in file FirstProgram.exe Mov R1, 120 Mov R2, 160 ADD R1, R2.
Presentatie Clubmiddag 21 mei 2014 door Henk Kesting soorten en instellingen.

Slide 1Systeem-geïntegreerde programmatuurYolande Berbers SGP Systeem-geïntegreerde Programmatuur Marc Gobin (&Yolande Berbers) Departement Computerwetenschappen.
Hoofdstuk 6: Controle structuren
1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Functies Records Dynamische gegevenstructuren Macro’s C.
Inleiding Informatica Prof. Dr. O. De Troyer Hoofdstuk 10: Omgaan met problemen.
De normale verdeling (1)
vwo B Samenvatting Hoofdstuk 2
De grafiek van een lineair verband is ALTIJD een rechte lijn.
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 7(1): Flow of.
Leiderverkiezing Olympus College 14 april 2008 David N. Jansen.
© 2013 | Noordhoff Uitgevers bv
Real-Time Systems (RTSYST) Week 2. Process/Thread states Scheduler = deel van OS dat de toestanden van processen/threads bepaald. OS gebruikt timerinterrupt.
Real-Time Systems (RTSYST) Week IPC inter process communication Shared variabele based (H5) Message based (H6) Kan ook gebruikt worden in systemen.
GESPRG Les 7 Gestructureerd programmeren in C. 92 Verwisselen Schrijf een functie waarmee twee int variabelen verwisseld kunnen worden. void wissel(int.
Hogere wiskunde Limieten college week 4
Opgave 1 a) stroom door de weerstanden I 1 = U 1 /R 1 =3,0 / 100 = 0,030 A I 2 = U 2 /R 2 =3,0 / 200 = 0,015 A I 3 = U 3 /R 3 =3,0 / 300 = 0,010 A b) I.
Statistische functies (aggregaatfuncties)
1 Datastructuren Introductie tot de programmeeropgaven in C++ Jan van Rijn
1 ICT Infrastructuren 19 november 2007 David N. Jansen.
Hoofdstuk 10: Scheduling bij multiprocessing en realtime
Samenwerking tussen processor, registers en RAMgeheugen
Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 11: controle van de hulpmiddelen.
Hfdst. 9 De strafbepaling
Opbouw: beginposities/principes
Cv = F u  F = Cvu  F = Cv(el - bl) u = (el - bl)
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 13: scheduling.
Tircms03-p les 7 Standaardfuncties. In header opnemen bijv: using namespace std // C++ // oude C.
Spanningen, Stromen en weerstanden
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  een MIDI track interpreteren, laten zien en afspelen.
Datacommunicatie en netwerken
Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 13: scheduling.
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
VPEMSY1, D3ECPT2 : ARM Assembler 1 Hogeschool Utrecht / Electrical Engineering & Design 1  Herhaling: CMP, CMN,
Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 8: synchronisatie en communicatie met gedeelde variabelen.
Real-Time Systems (RTSYST)
H5 Plannen. Plannen stap 1 Activiteiten bepalen In deelprojecten structureren Afhankelijkheid activiteiten bepalen Volgorde activiteiten bepalen Finish-to-start.
Java & het Web Programma: Beveiliging Filters. Security.....wat is dat(1)? Beveiliging draait om 4 belangrijke steunpilaren: 1.Authenticatie: is de persoon.
Voorraadwaardering (FIFO)
Module code: Scheduling Het verdelen van processortijd onder processen en threads 1.
Netwerken 6 Enigma Netwerken paragraaf 9. Applicatielaag End-to-end principe De infrastructuur (het internet) staat los van de toepassingen Makkelijk.
Besturingssystemen 1 (TINBES01-1)
Computersystemen 2 (TIRCCMS02 - Operating systems)
Computersystemen 2 (TIRCCMS02 - Operating systems)
Openstaande discussies B&I
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
De grafiek van een lineair verband is ALTIJD een rechte lijn.
Besturingssystemen Ga verder met een muisklik..
3 vmbo-KGT Samenvatting Hoofdstuk 10
Tellen met kaarten.
Tellen met kaarten.
Sharing.
Python – For loop + strings
Transcript van de presentatie:

Real-Time Systems (RTSYST) Week 7

170 Priority inheritance voorbeeld taakprioexecutionrelease time d4EEQVE4 c3EVVE2 b2EE2 a1EQQQQE0

171 Blocking Priority inheritance De tijd dat een taak blocked kan zijn is nu beperkt. B = maximum blocking time K = aantal gebruikte resources usage(k, i) = boolean functie 1 als er een taak is met prioriteit lager dan P i en een taak met prioriteit hoger of gelijk aan P i (dit kan taak i zelf zijn) die de resource k delen. C(k) = maximale tijd dat resource k gebruikt wordt.

172 Blocking Response time analyse

173 Blocking Priority inheritance Priority inheritance kan niet eenvoudig geïmplementeerd worden! Bij semaphoren en condition variabelen is vaak niet te achterhalen op wie je wacht (wie de sem_post of pthread_cond_signal zal geven)! Bij message passing is het vaak niet te achterhalen op wie je wacht (wie de mq_send zal doen waarop de mq_receive moet wachten)! Alternatief: priority ceiling Taak 1 Taak 2Taak 3Taak 4 sem_wait Wie doet sem_post? sem_post OS kan niet in de toekomst kijken. Wie wel?

174 FPS-DMPO Priority ceiling Original Ceiling Priority Protocol OCPP: Elke taak heeft een static priority. Elke resource heeft een ceiling priority = maximale prioriteit van de processen die deze resource delen. Een taak die een taak met een hogere prioriteit blocked erft de hogere prioriteit. Een taak kan alleen een resource gebruiken als zijn prioriteit hoger is dan de ceiling van alle door andere taken gebruikte resources. Voordelen: Proces kan maar 1x blocked worden. Deadlock is niet mogelijk. Mutual exclusive gaat altijd “van zelf” goed. Transitive blocking is niet mogelijk.

175 OCPP voorbeeld taakprioexecutionrelease time d4EEQVE4 c3EVVE2 b2EE2 a1EQQQQE0 ceiling Q = 4 ceiling V = 4

176 OCPP Blocking Eerste resource kan altijd worden gebruikt. Tweede resource kan alleen worden gebruikt als er geen taak is met een hogere prioriteit die beide resources gebruikt. De tijd dat een taak blocked kan zijn wordt nu: Impementatie is nog steeds net zo moeilijk! Alternatief: Immediate CPP.

177 FPS-DMPO Priority ceiling Immediate Ceiling Priority Protocol ICPP: Elke taak heeft een static priority. Elke resource heeft een ceiling priority = maximale prioriteit van de processen die deze resource delen. Als een taak een resource gebruikt krijgt die taak de ceiling prioriteit van de resource. Voordelen: Proces kan maar 1x blocked worden. Deadlock is niet mogelijk. Mutual exclusive gaat altijd “van zelf” goed. Transitive blocking is niet mogelijk. Ten opzichte van OCPP: Eenvoudiger te implementeren. Minder taak wisselingen.

178 ICPP voorbeeld taakprioexecutionrelease time d4EEQVE4 c3EVVE2 b2EE2 a1EQQQQE0 ceiling Q = 4 ceiling V = 4

179 POSIX Priority Based Scheduling FIFO Een thread blijft running totdat de thread blocked of preempted wordt. Een thread die preempted wordt komt vooraan de readyqueue te staan. Round-Robbin Een thread blijft running totdat de thread blocked of preempted wordt of totdat de time-slice is verstreken. Een thread die preempted wordt komt vooraan de readyqueue te staan. Een thread waarvan de time-slice is verstreken komt achter de threads met gelijke prioriteit op de readyqueue te staan. Sporadic Server Other

180 Priority Protect Protocol =ICPP int pthread_mutexattr_getprotocol(const thread_mutexattr_t* attr, int* protocol); int pthread_mutexattr_setprotocol(pthread_mutexattr_t *attr, int protocol); mogelijke waarden voor protocol: PTHREAD_PRIO_NONE PTHREAD_PRIO_INHERIT PTHREAD_PRIO_PROTECT int pthread_mutexattr_getprioceiling(const pthread_mutexattr_t* attr, int* prioceiling); int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *attr, int prioceiling); Bij een mutex weet je wel wie de pthread_mutex_unlock gaat doen! POSIX naam voor ICPP

181 Huiswerk Boek: H en 11.9 bestuderen. Opgaven 5 en 6 maken.

Tentamenopgave Een programma bestaat uit 5 threads T1 t/m T5. Deze threads gebruiken 4 gedeelde resources R1 t/m R4. Elke resource is mutual exclusive beveiligd met een mutex M1 t/m M4. Deze mutexen gebruiken het priority inheritance protocol. Als een thread een resource toegewezen heeft gekregen dan kan deze thread de resource voor een bepaalde maximale tijd bezetten. In de onderstaande tabel staat k voor het nummer van de resource en C(k) voor de maximale tijd dat resource k bezet kan worden. 182

Tentamenopgave In de volgende tabel staat aangegeven welke resources elke thread gebruikt. In de onderstaande tabel staat i voor het nummer van de thread, T(i) voor de periodetijd van thread i en C(i) voor de maximale executietijd van thread i. Gegeven is dat de deadline van elke taak gelijk is aan zijn periodetijd. 183 Alle gegeven tijden zijn in ms.

Tentamenopgave A. (5) Bepaal de prioriteit van de 5 processen als RMPA (Rate Monotonic Priority Assignment) wordt gebruikt. De hoogste prioriteit is 5 en de laagste prioriteit is 1. B. (15) Bereken voor elke thread i de blocking time B(i). C. (15) Bereken voor thread 1, 3 en 5 of de deadline wordt gehaald en geef, indien de deadline wordt gehaald, de response tijd Ri. 184

Tentamenopgave 185 iP(i)T(i)C(i)Gebruikt R1, R R2, R3, R R R1