Schemaläggning Mål –Att förstå den roll som schemaläggning och schemaläggnings-analys spelar för att förutsäga hur realtids-tillämpningar uppfyller sina deadlines Innehåll –Enkel process-modell –Cyklisk exekvering –Processbaserad schemaläggning –Utnyttjandegrads-baserade schemaläggnings-tester –Svarstids-analys för FPS och EDF –Värsta-fall-exekveringstid –Sporadiska and aperiodiska processer
Schemaläggning –Process-system med D < T –Process-växelverkningar, blockering och prioritets- tak-protokoll –En utvidgbar processmodell –Dynamiska system och on-line-analys –Programmering av prioritets-baserade system
Schemaläggning I allmänhet erbjuder en schemaläggnings- metod : –En algoritm för att ordna användningen av systemresurser (speciellt CPU:erna) –En möjlighet att förutsäga värsta-fall-uppförandet för systemet när schemaläggnings-algoritmen tillämpas Förutsägelsen kan sedan användas för att bekräfta tidskraven för tillämpningen
Enkel process-modell Tillämpningen antas bestå av ett fixt antal processer Alla processer är periodiska, med kända perioder Processerna är fullständigt oberoende av varandra Alla systems overheads, context-switching- tider o.s.v. ignoreras (d.v.s., antas kosta inget)
Enkel process-modell Alla processer har en deadline lika med sin period (d.v.s., varje process måste slutföras helt innan den startar igen) Alla processer har en fix värsta-fall- exekverings-tid
Standard-beteckningar BCDIJNBCDIJN Värsta-fall-blockeringstid Värsta-fall-beräkningstid (WCET) Deadline Inblandnings (interference)-tid Jitter vid frisläppande (av process) Antal processer i systemet
Standard-beteckningar P R T U a-z Prioritet tilldelad processen Värsta-fall-svarstid (response time) Minimum-tid mellan frisläppande av processen (processperiod) Utnyttjandegrad (lika med C/T) Processnamn
Processer Process Period,T Beräkningstid,C a b 25 8 c 50 5 d 50 4 e 100 2
Tidsuppförande för processerna abc Interrupt abd eabc
Processbaserad schemaläggning Schemaläggnings-metoder –Fixed-Priority Scheduling (FPS) –Earliest Deadline First (EDF) –Value-Based Scheduling (VBS)
Exampel på prioritets-tilldelning Process Period, T Prioritet, P a 25 5 b 60 3 c 42 4 d e 75 2
Utnyttjandegrads-baserad analys Endast för aktiviteter som uppfyller D=T Ett enkelt tillräckligt men inte nödvändigt schemaläggningstest existerar
Utnyttjandegrads-gränser N Utnyttjandegrads-gränser % % % % % % Närmar sig 69.3% asymptotiskt
Process Period Beräkningstid Prioritet Utnyttjandegrad T C P U a b c Process-uppsättning A Utnyttjandegraden är 0.82 (82%) Detta är över tröskeln för tre processer (0.78). Följaktligen uppfyller denna process- uppsättning inte utnyttjandegrads-testet.
Tidsuppförande, process-uppsättning A Time Process a b c Process Release Time Process Completion Time Deadline Met Process Completion Time Deadline Missed Executing Preempted
Gantt-diagram, process-uppsättning A cbacb Time
Process Period Beräkningstid Prioritet Utnyttjandegrad T C P U a b c Process-uppsättning B Den kombinerade utnyttjandegraden är Detta är under tröskeln för tre processer (0.78) Följaktligen klarar denna process-uppsättning alla sina deadlines.
Process Period Beräkningstid Prioritet Utnyttjandegrad T C P U a b c Process-uppsättning C Den kombinerade utnyttjandegraden är 1.0 Detta är över tröskeln för tre processer (0.78), men denna process-uppsättning klarar alla sina deadlines.
Tidsuppförande, process-uppsättning C Time Process a b c 7080
Analys av svarstid(Response-Time) Aktivitet i's värsta-falls svarstid, R, beräknas först och kontrolleras sedan mot dess deadline. I är inblandning (interference) från högre prioriterade aktiviteter R D ii
Process Period Beräkningstid Prioritet T C P a b c Process-uppsättning D
Process Period Beräkningstid Prioritet Svarstid T C P R a b c Återigen: Process-uppsättning C
Den kombinerade utnyttjandegraden är 1.0 Detta är över utnyttjandegrads-tröskeln för tre processer (0.78). Svarstids-analys visar att processen uppfyller alla deadlines RTA är nödvändigt och tillräckligt
Svarstids-analys Är tillräckligt och nödvändigt Om processerna uppfyller testet kommer de att uppfylla alla sina deadlines; om de ej uppfyller testet kommer en process, vid körning, missa sin deadline (om inte beräkningstids-uppskattningarna visar sig vara för pessimistiska)
Processuppsättningar med D < T För D = T, Rate Monotonic prioritets- ordning är optimal For D < T, Deadline Monotonic prioritets- ordning är optimal
Process Period Deadline Beräkningstid Prioritet Svarstid T D C P R a b c d D < T, exempel på process-uppsättning
Exampel på prioritets-inversion Process a b c d Executing Executing with Q locked Preempted Executing with V locked Blocked
Prioritets-arv Om process p blockerar process q, så kommer q att köras med p 's prioritet a b c d Process
Svarstid och blockering
En utvidgbar process-modell Hittills: Deadlines kan vara mindre än perioden (D<T) Sporadiska och aperiodiska processer, liksom periodiska processer, kan understödjas Process-växelverkningar är möjliga. Den resulterande blockeringen tas hänsyn till i svarstids-ekvationerna.
Utvidgningar Cooperative Scheduling Release Jitter Arbitrary Deadlines Fault Tolerance Offsets Optimal Priority Assignment
Sammanfattning En schemaläggning definierar en algoritm för att dela på resurser, och en möjlighet att förutsäga värsta-fall-uppförandet för en tillämpning, för det sätt den aktuella schemaläggningen delar på resurserna.