slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 13: scheduling
RTP slide 2Programmatuur voor real-time controleYolande Berbers overzicht n inleiding tot scheduling n eenvoudig procesmodel u cyclische uitvoeringsaanpak u procesgebaseerde scheduling u gebruik-gebaseerde tests voor scheduleer-baarheid u analyse van de responstijd n slechtste geval uitvoeringstijd n sporadische en aperiodieke processen n deadline monotonic priority assignment (DMPA) n procesinteractie en blokkering n protocols met plafond op prioriteiten n een uitgebreider procesmodel n programmeren van prioriteit-gebaseerde systemen n andere schedulingsmethoden
RTP slide 3Programmatuur voor real-time controleYolande Berbers (Non)-Preemptive Scheduling New ReadyRunning Waiting Terminated chosen I/O or event I/O or event completion SchedulingWhen?Release CPU Non-Preemptive:(1) + (2)Volontarily Preemptive:(1) + (2) + (3) + (4)Every Interrupt
RTP slide 4Programmatuur voor real-time controleYolande Berbers Scheduling Algorithms n FCFS n SJF n Priority-Based n Round-Robin n Multi-Level Queue n Multi-Level Queue with Feedback n Multi-Processor n Real Time
RTP slide 5Programmatuur voor real-time controleYolande Berbers inleiding n bij 5 verschillende onafhankelijke taken: u 120 mogelijke volgordes als niet onderbroken u oneindig meer indien processen onderbroken kunnen worden n scheduling: bepaalt de volgorde van uitvoeren u kan statisch gebeuren (volgorde ligt vast voor de uitvoering) u kan dynamisch gebeuren (volgorde bepaald tijdens uitvoering) u bij interactieve systemen: altijd dynamisch u real-time systemen l meestal statisch, omdat taken en deadlines van te voren bekend zijn (dit zullen we hier behandelen) l in zeer complexe systemen is dat dynamisch (als van te voren niet alles gekend is)
RTP slide 6Programmatuur voor real-time controleYolande Berbers eenvoudig procesmodel n karakteristieken van eenvoudig procesmodel u vast aantal processen u alle processen zijn periodiek, met gekende periodes u de processen zijn volledig onafhankelijk van elkaar u systeemoverhead wordt verwaarloosd u alle processen hebben een deadline gelijk aan hun periode u alle processen hebben een vaste, gekende slechtste-geval uitvoeringstijd
RTP slide 7Programmatuur voor real-time controleYolande Berbers eenvoudig procesmodel n cyclische uitvoerings-aanpak u gegeven een tabel met periodes en uitvoeringstijd kun je een tabel opstellen die bestaat uit procedure-oproepen u omdat periodes niet gelijk zijn: meestal een major cycle (waar proces met grootste periode éénmaal voorkomt) en een minor cycle (waar proces met kortste periode telkens éénmaal voorkomt) u voorbeeld:proces periodeuitvoeringstijd A 2510 B 258 C 505 D 504 E 1002 tijd ABCABDEABCABD
RTP slide 8Programmatuur voor real-time controleYolande Berbers eenvoudig procesmodel n code hiervoor: loop Wait_For_Interrupt; A; B; C; Wait_For_Interrupt; A; B; D;E; Wait_For_Interrupt; A; B; C; Wait_For_Interrupt; A; B; D; end loop;
RTP slide 9Programmatuur voor real-time controleYolande Berbers eenvoudig procesmodel n karakteristieken van deze eenvoudige aanpak u er bestaan geen echte processen tijdens uitvoering (at run-time) u gewone procedures, dus delen deze allemaal één adresruimte warbij procedures niet voor elkaar moeten beschermd worden omdat er nooit kans is dat ze onderbroken worden u alle periodes moeten een veelvoud zijn van de minor cycle n nadelen u laatste karakteristiek: veelvouden van minor cycle u sporadische processen hieraan toevoegen is heel moeilijk u processen met een lange periode maakt het moeilijker u grote processen moeten soms opgesplitst worden, in de praktijk niet zo eenvoudig u tabel opstellen is niet eenvoudig (NP-hard probleem)
RTP slide 10Programmatuur voor real-time controleYolande Berbers intermezzo: NP-harde problemen n NP-harde problemen: Niet-deterministisch Polynomisch probleem n voorbeeld: traveling salesman u probleemstelling l handelsreiziger moet N steden aandoen met een beperkt budget l vind een pad zodat de totale lengte binnen het budget past u eigenschappen l probleem wordt erg rekenintensief bij grote N l berekenen van lengte bij gegeven pad is polynomisch l maar kies een volgend beter pad is niet-deterministisch n toepassing u alle beveiligingsalgoritmen zijn hierop gebaseerd l men kiest N heel groot l het kost heel veel rekentijd om beveiligingsalgoritme te kraken
RTP slide 11Programmatuur voor real-time controleYolande Berbers procesgebaseerde scheduling n karakteristieken u beschouwen echte processen, in een van volgende toestanden l klaar om uit te voeren (runnable of ready) l geblokkeerd op tijdsgebeurtenis (bv voor periodieke proc.) l geblokkeerd op een andere gebeurtenis (bv interrupt) u elk proces heeft een prioriteit l prioriteit is bepaald door temporele eisen, niet door belang u pre-emptive: proces A voert uit; en proces B met hogere prio. wordt runnable; dan wordt A gestopt ten voordele van B
RTP slide 12Programmatuur voor real-time controleYolande Berbers scheduling aanpakken n 3 grote aanpakken u Fixed-Priority Scheduling (FPS) l meest gebruikte, grootste gedeelte van hoofdstuk l ieder proces krijgt een statische prioriteit l prio. hangt af van temporele eigenschappen, niet van belang u Earliest Deadline First (EDF) l volgend proces is proces met vroegste deadline l dynamisch want deadlines worden at run-time berekent u Value-Based Scheduling (VBS) l als systeem overbelast is, adaptieve technieken l gaan wij niet behandelen
RTP slide 13Programmatuur voor real-time controleYolande Berbers RMPA (vorm van FPS) n Rate Monotonic Priority Assignment (RMPA) u hoe korter de periode, hoe hoger de prioriteit u optimaal (indien mogelijk, dan ook mogelijk met dit schema) n voorbeeld (let op: hoe hoger prioriteitswaarde, hoe groter prioriteit) procesperiodeprioriteit A 25 5 B 60 3 C 42 4 D E 75 2 n uitvoeringstijd speelt hier dus niet mee
RTP slide 14Programmatuur voor real-time controleYolande Berbers test van scheduleerbaarheid (FPS) n indien de processen voldoen aan de volgende formule dan zullen al de processen hun deadline halen n de volgende tabel toont het processorgebruik bij lage N (gaat naar 69.3% bij grote N) N% gebruik C: slechtste-geval uitvoeringstijd T: periode
RTP slide 15Programmatuur voor real-time controleYolande Berbers test van scheduleerbaarheid n gevolg: elke combinatie van processen die de processor minder dan 69.3% gebruiken is altijd volgens de RMPA methode scheduleer-baar n 3 vb (tijd in een of andere eenheid, van geen belang) u voorbeeld 1 periode uitvoeringstijdprioriteitprocessorgebruik T T T u totaal gebruik: 0.82, is dus te hoog u ga je de uitvoering na, dan zie je dat het niet gaat u volgende slides: tijdslijn en Gantt chart
RTP slide 16Programmatuur voor real-time controleYolande Berbers test van scheduleerbaarheid missed deadline voorbeeld 1 periodeuitvoeringstijdprioriteitprocessorgebruik T T T T1 T2 T tijdslijn
RTP slide 17Programmatuur voor real-time controleYolande Berbers test van scheduleerbaarheid voorbeeld 1 periodeuitvoeringstijdprioriteitprocessorgebruik T T T T3T2T1T3T2 Gantt chart
RTP slide 18Programmatuur voor real-time controleYolande Berbers test van scheduleerbaarheid u voorbeeld 2 periodeuitvoeringstijdprioriteitprocessorgebruik T T T u totaal gebruik: 0.775, lager dan maximaal, is dus haalbaar u ga je de uitvoering na dan zie je dat het wel gaat u je kunt hiervoor ook een tijdslijn en Gantt chart opstellen
RTP slide 19Programmatuur voor real-time controleYolande Berbers test van scheduleerbaarheid u voorbeeld 3 periodeuitvoeringstijdprioriteitprocessorgebruik T T T u totaal gebruik: 100%, is dus hoger dan maximaal u toch kan dit gescheduled worden u de test is dus voldoende maar niet noodzakelijk (als je aan de test voldoet mag je met een gerust hart slapen, voldoe je niet dan kan het nog dat het werkt) u volgende slide: tijdslijn
RTP slide 20Programmatuur voor real-time controleYolande Berbers test van scheduleerbaarheid voorbeeld 3 periodeuitvoeringstijdprioriteitprocessorgebruik T T T T1 T2 T
RTP slide 21Programmatuur voor real-time controleYolande Berbers test van scheduleerbaarheid (EDF) n er bestaat ook een test voor EDF (eenvoudigere test) n toch voordelen van FPS boven EDF u FPS statisch, gemakkelijker te implementeren dan EDF u gemakkelijker om processen zonder deadline toe te voegen u andere factoren (buiten deadline) gemakkelijker in te brengen u bij overbelasting l FPS voorspelbaarder: lage prio zullen deadline missen l EDF kan dominoeffect hebben: alle deadlines gemist 1
RTP slide 22Programmatuur voor real-time controleYolande Berbers analyse van de responstijd (FPS) n nadeel van vorige methode: niet exact en niet algemeen bruikbaar (alleen voor eenvoudig procesmodel) n analyse van de responstijd u voor elk proces apart wordt slechtste-geval responstijd berekend u voordeel v.d. methode: zowel voldoende als noodzakelijk voorwaarde n enkele afkortingen u R: slechtste-geval responstijd u I: interferentie door andere processen u C: uitvoeringstijd u T: periode n voor proces met hoogste prioriteit:Ri = Ci n voor andere processen:Ri = Ci + Ii
RTP slide 23Programmatuur voor real-time controleYolande Berbers analyse van de responstijd n Ii hangt af van hoe vaak proces i gestopt wordt door processen met een hogere prioriteit n aantal keren dat proces j (met hogere prioriteit dan i) proces i zal onderbreken: u Ri gedeeld door periode van j u van deze breuk: gehele getal dat net groter is (plafond functie) n tijdsduur van onderbreking: dat resultaat maal Cj n en dit moet je berekenen voor alle processen met hogere prio.
RTP slide 24Programmatuur voor real-time controleYolande Berbers analyse van de responstijd n deze formule is exact n maar deze formule heeft Ri langs beide kanten en is moeilijk op te lossen vanwege de plafondfunctie n is oplosbaar met een recurente relatie
RTP slide 25Programmatuur voor real-time controleYolande Berbers analyse van de responstijd n de waarden van w stijgen monotoon n als w(n+1,i) = w(n,i) dan mogen we stoppen n als w groter wordt dan de periode en w stijgt nog steeds, dan zullen we geen gepaste R vinden
RTP slide 26Programmatuur voor real-time controleYolande Berbers analyse van de responstijd voorbeeld 4 periodeuitvoeringstijdprioriteit T17 33 T T320 51
RTP slide 27Programmatuur voor real-time controleYolande Berbers analyse van de responstijd voorbeeld 4 periodeuitvoeringstijdprioriteit T17 33 T T R3 = 20 = periode = deadline R3 zal het dus net halen
RTP slide 28Programmatuur voor real-time controleYolande Berbers analyse van de responstijd voorbeeld 4 periodeuitvoeringstijdprioriteit T17 33 T T T1T2T3T1T3T2T1T2T3
RTP slide 29Programmatuur voor real-time controleYolande Berbers analyse van de responstijd (EDF) n analyse van de responstijd voor EDF u kan maar is erg ingewikkeld u wordt hier niet behandeld (ook niet in het boek)
RTP slide 30Programmatuur voor real-time controleYolande Berbers slechtste-geval uitvoeringstijd n vorige methoden gebruikten slechtste-geval uitvoeringstijd n meestal niet gekend, en moet dus geschat worden u via metingen l probleem: meten we wel het slechtste geval ? u analytisch s verdeel code in blokken zonder sprongen s bereken voor elke blok de uitvoeringstijd (afhankelijk ook van cache, pipeline, enz.) s voor elke if of case neem je als schatting de langste kant s voor elke lus neem je als schatting het max aantal keren l nadelen: alle lussen moeten begrensd zijn, geen recursie, geen virtueel geheugen (swapping !), problemen met hedendaagse processoren
RTP slide 31Programmatuur voor real-time controleYolande Berbers sporadische en aperiodieke processen n bedoeling is om in de vorige methoden de sporadische en aperiodieke processen toe te voegen n voor aperiodieke processen u periode: beschouw de minimum tijd tussen twee voorkomens van zo een proces als de periode T u deadline l bij eenvoudig procesmodel: deadline = periode l bij periodieke processen is meestal deadline << periode l stopcriterium bij zoeken van gepaste R: w(n+1, i) > D (i.p.v. T)
RTP slide 32Programmatuur voor real-time controleYolande Berbers sporadische en aperiodieke processen n voor sporadische processen u men werkt met gemiddelden en grootste aankomstfrequenties u vaak is het slechtste geval (grootste aankomstfrequentie) veel hoger dan het gemiddelde geval l interrupts komen vaak in ‘burst’ l ‘een probleem komt nooit alleen’ l een probleem geeft vaak aanleiding tot extra code die uitgevoerd moet worden, ook in de andere processen u meestal hanteert men de volgende regels l neem voor zachte real-time processen het gemiddelde l neem voor harde real-time processen altijd slechtste geval u processoren worden daarom vaak ondergebruikt het grootste gedeelte van de tijd
RTP slide 33Programmatuur voor real-time controleYolande Berbers sporadische en aperiodieke processen n implementatie met server bij FPS u Deferrable Server (DF) of Sporadic Server (SS) l kleine varianten van hetzelfde l bepaal 1 proces (een server) die de capaciteit gebruikt die overblijft (na responstime analyse kan dit berekent worden) l schedule dit als een soort periodische taak l tijdens zijn tijdslot voert deze aperiodieke processen uit n implementatie met server bij EDF u analoge methode u tijdens run-time wordt de tijd die vrij is gealloceerd aan server
RTP slide 34Programmatuur voor real-time controleYolande Berbers deadline monotonic priority assignment n bij eenvoudig procesmodel u D = T (deadline = periode) u Rate Monotonic Priority Assignment (RMPA) is optimaal n voor model waarbij D < T u Deadline Monotonic Priority Ordering (DMPO) is optimaal u als Di Pj u bewijs in vb 5 periode deadline uitvoeringst. prioriteit responstijd T DC PR T T T T
RTP slide 35Programmatuur voor real-time controleYolande Berbers procesinteractie en blokkering n eenvoudig proces model u veronderstelt onafhankelijke processen u irrealistisch (zie hoofdstukken 7-11) n processen moeten soms wachten op een ander proces u dit ander proces kan een lagere prioriteit hebben u dit leidt tot prioriteitsinversie u voorbeeld van problemen waartoe dit kan leiden: volgende slide l 4 periodieke processen L1, L2, L3, L4 l L4 heeft hoogste prioriteit, L1 laagste l L4 en L1 delen kritische sectie, beschermd door semafoor Q l L4 en L3 delen kritische sectie, beschermd door semafoor V l E staat voor uitvoering tijdens een tijdseenheid l Q en V staan voor uitvoering terwijl men Q of V vasthoudt
RTP slide 36Programmatuur voor real-time controleYolande Berbers procesinteractie en blokkering voorbeeld prioriteit uitvoeringaankomsttijd L44 EEQVE 4 L33 EVVE 2 L22 EE 2 L11 EQQQQE uitvoerend Q uitvoerend V geblokkeerd pre-empted uitvoerend (E) L4 L3 L2 L1
RTP slide 37Programmatuur voor real-time controleYolande Berbers procesinteractie en blokkering n probleem van prioriteitsinversie u een hoog-prioriteitsproces p is geblokkeerd op een hulpmiddel dat vast wordt gehouden door een proces q met lagere prioriteit u proces q met lagere prioriteit moet zelf wachten met uitvoeren omdat processen met tussenliggende prioriteit tussen komen n mogelijke oplossing: erven van prioriteit u prioriteit van proces is niet meer statisch (ligt niet meer vast) u als proces p wacht op een hulpmiddel dat proces q vast heeft, en proces q heeft een lagere prioriteit dan p, dan erft q de prioriteit van p (totdat q het hulpmiddel vrijgeeft) u erven van prioriteit op ons voorbeeld in volgende slide n tot nu toe: fixed priority assignment, nu gedeeltelijk dynamic priority assignment
RTP slide 38Programmatuur voor real-time controleYolande Berbers procesinteractie en blokkering voorbeeld prioriteit uitvoeringaankomsttijd L44 EEQVE 4 L33 EVVE 2 L22 EE 2 L11 EQQQQE uitvoerend Q uitvoerend V geblokkeerd pre-empted uitvoerend (E) L4 L3 L2 L1
RTP slide 39Programmatuur voor real-time controleYolande Berbers procesinteractie en blokkering n problemen met erven van prioriteit u meestal niet geweten welk proces het hulpmiddel zal vrijgeven l zeker niet met semaforen en wait-signal primitieven l bij boodschappen systemen wel bij directe symmetrische naamgeving (maar dit wordt weinig gebruikt) n berekening van tijd die men kan blokkeren (B) u proces p met K kritische secties kan maximaal K keer blokkeren u als het aantal processen (n) met lagere prioriteit dan p kleiner is dan K (dus n < K) dan is dit nog lager - usage(k,i) is 0 of 1 afhankelijk of proces i kritische sectie k gebruikt - CS(k) is kost van kritische sectie k
RTP slide 40Programmatuur voor real-time controleYolande Berbers procesinteractie en blokkering n formule voor de responstijd u kan nu aangepast worden: R = C + B + I u wordt wel pessimistisch want het is niet zeker dat het proces B tijd zal blokkeren u de formule is nu voldoende maar niet noodzakelijk
RTP slide 41Programmatuur voor real-time controleYolande Berbers protocols met plafond op prioriteiten n twee varianten u original ceiling priority protocol (OCPP) u immediate ceiling priority protocol (ICPP) n eigenschappen u een proces met hoge prioriteit wordt maar 1 maal geblokkeerd door een proces met lagere prioriteit u deadlocks worden vermeden u transient blokkeren wordt vermeden u wederzijdse uitsluiting wordt door het protocol bewerkstelligd u kern van de methode: als proces p1 een hulpmiddel vast heeft, en dit zou kunnen leiden tot het blokkeren van een proces p2 met hogere prioriteit, dan mag geen enkel ander hulpmiddel dat p2 zou kunnen blokkeren toegekend worden, behalve aan p1
RTP slide 42Programmatuur voor real-time controleYolande Berbers protocols met plafond op prioriteiten n original ceiling priority protocol u elk proces krijgt een statische prioriteit l bv door DMPO u elk hulpmiddel heeft een statische plafond-prioriteit l dit is de maximale prioriteit van de processen die het gebruiken u een proces heeft een dynamische prioriteit l max (eigen statische prioriteit, ge-erfde prioriteit door blokkering) u een proces kan enkel een hulpmiddel vast krijgen l als dyn. prio. > plafond huidige toegekende hulpmiddelen in het systeem, zonder rekening te houden met de eigen hulpmiddelen
RTP slide 43Programmatuur voor real-time controleYolande Berbers protocols met plafond op prioriteiten n effect van dit protocol u het eerste hulpmiddel kan altijd toegekend worden u een tweede krijgt men pas als er geen ander hoger- prioriteitsproces is dat beide nodig heeft n voordeel u een proces kan slecht éénmaal per activatie geblokkeerd worden door een proces met lagere prioriteit n kost hiervan u meer processen zullen geblokkeerd geraken
RTP slide 44Programmatuur voor real-time controleYolande Berbers protocols met plafond op prioriteiten voorbeeld prioriteit uitvoeringaankomsttijd L44 EEQVE 4 L33 EVVE 2 L22 EE 2 L11 EQQQQE uitvoerend Q uitvoerend V geblokkeerd pre-empted uitvoerend (E) L4 L3 L2 L1
RTP slide 45Programmatuur voor real-time controleYolande Berbers protocols met plafond op prioriteiten n immediate ceiling priority protocol l de prioriteit van een proces stijgt van zodra het een hulpmiddel toegekend krijgt l i.p.v. enkel wanneer het proces een ander proces van hogere prioriteit blokkeert u elk proces krijgt een statische prioriteit l bv door DMPO u elk hulpmiddel heeft een statische plafond-prioriteit l dit is de maximale prioriteit van de processen die het gebruiken u een proces heeft een dynamische prioriteit l max (eigen statische prioriteit, de plafond-prioriteit van de hulpmiddelen die het vast heeft)
RTP slide 46Programmatuur voor real-time controleYolande Berbers protocols met plafond op prioriteiten n gevolg van dit protocol u een proces zal enkel blokkeren bij het begin van zijn uitvoering u eenmaal dat het proces uitvoert zullen al de hulpmiddelen die het gebruikt vrij zijn u als dat niet zo zou zijn, dan zou er een proces zijn met gelijke of hogere prioriteit die aan het uitvoeren is n voordelen u deadlocks kunnen niet meer voorkomen (omdat alle hulpmiddelen vrij zijn als een proces uitvoering mag beginnen)
RTP slide 47Programmatuur voor real-time controleYolande Berbers protocols met plafond op prioriteiten voorbeeld prioriteit uitvoeringaankomsttijd L44 EEQVE 4 L33 EVVE 2 L22 EE 2 L11 EQQQQE uitvoerend Q uitvoerend V geblokkeerd pre-empted uitvoerend (E) L4 L3 L2 L1
RTP slide 48Programmatuur voor real-time controleYolande Berbers protocols met plafond op prioriteiten n verschil tussen OCPP en ICPP u ICPP is gemakkelijk te implementeren omdat geen blokkeringsrelaties gebruikt worden u ICPP leidt tot minder proceswisselingen omdat er geblokkeerd wordt voor de uitvoering u ICPP vraagt meer veranderingen van prioriteiten omdat dit gebeurt bij elke toekenning van een hulpmiddel; OCPP verandert alleen de prioriteit als er een blokkering is
RTP slide 49Programmatuur voor real-time controleYolande Berbers andere algoritmen en uitbreidingen n cooperative scheduling u geen pre-emption u processen bepalen zelf wanneer ze de processor willen afstaan l deze de-scheduling primitieven moeten goed geplaatst worden in programma u processen zijn dus cooperatief u eigenschappen l als critische sectie binnen een niet-onderbroken blok valt: wederzijdse uitsluiting is gegarandeerd l verhoogt de scheduleerbaarheid l kan leiden tot kleinere waarden van C: minder pessimistische voorspelling van uitvoeringstijd, nut van cache en pipeline kan ingecalculeerd worden
RTP slide 50Programmatuur voor real-time controleYolande Berbers andere algoritmen en uitbreidingen n release jitter u variatie in het starten van een proces u kan voorkomen l indien start afhangt van periodisch proces op andere knoop l indien granulariteit van klok grover is dan granulariteit van tijdsberekeningen u geeft aanleiding tot aanpassing van de formules n willekeurige deadline u tot nu toe: deadline < periode u kan ook: deadline > periode l meerdere voorkomens van zelfde proces gelijktijdig actief l geeft aanleiding tot aanpassing van de formules
RTP slide 51Programmatuur voor real-time controleYolande Berbers ondersteuning door talen en systemen n ondersteuning door talen u klein u Ada via Real-Time Systems Annex (dus niet in core van taal) n ondersteuning door systemen u groot voor real-time besturingssystemen u meeste normale systemen ondersteunen enkel scheduling gebaseerd op prioriteiten u POSIX (zie volgende slides)
RTP slide 52Programmatuur voor real-time controleYolande Berbers ondersteuning door talen en systemen n POSIX l ondersteunt scheduling gebaseerd op prioriteiten l heeft opties om prioriteitserving en plafondprotocol te gebruiken l prioriteiten kunnen dynamisch aangepast worden n drie basisalgoritmen u FIFO l een proces loopt totdat het eindigt of blokkeert l wordt het onderbroken door een proces met hogere prioriteit dan wordt het teruggeplaatst vooraan in rij van zijn prioriteit u round-robin l idem maar kan ook onderbreken als tijdskwantum verloopt; dan wordt het teruggeplaatst achteraan in rij van zijn prioriteit u ander door implementatie bepaald
RTP slide 53Programmatuur voor real-time controleYolande Berbers ondersteuning door talen en systemen n POSIX u ondersteuning voor scheduling op basis van processen of van threads u voor threads l system contention: alle threads staan in competitie l process contention: de threads van één proces staan in competitie met elkaar u ondersteuning voor het associeren van een ervingsprotocol of ICPP met een semafoor (mutex) u wachtlijsten met boodschappen zijn geordend volgens prioriteit u prio. threads kan dynamisch opgevraagd en veranderd worden u threads kunnen opgeven of hun attributen ivm scheduling geërfd moeten worden door de threads die zij creëren
RTP slide 54Programmatuur voor real-time controleYolande Berbers dynamisch schedulen n earliest deadline u kies altijd het proces waarvan de deadline het eerste afloopt n least slack time u kies altijd het proces dat de minste ‘vrije tijd’ over heeft n voordelen van beide l als scheduleerbaar en geen afhankelijkheden tussen processen, dan werkt dit l werkt ook goed met vele aperiodische processen n nadelen van beide l moet alle deadlines (of rest uitvoeringstijd) dynamisch kennen l als het misloopt (deadlines worden gemist) gebeurt dit op een onvoorspelbare manier l wordt heel ingewikkeld met afhankelijkheden tussen processen
RTP slide 55Programmatuur voor real-time controleYolande Berbers System Classification 1 ns 1 s 1 ms1 s10 s100 s 1000 s Electronic Hardware Processor 1 program RTOS multitasking OS multiprocess MechanicsManual fast & simple RTOS slow & complex RTOS deadline