Worked examples — Real-time constraints — hard and soft deadlines
5.5.12 · D3· Coding › Embedded Systems & Real-Time Software › Real-time constraints — hard and soft deadlines
Shuru karne se pehle, char quantities ka ek reminder (sab parent topic note mein build hue hain): = worst-case execution time (dekho Worst-Case Execution Time analysis), = period, = relative deadline, = wo fraction jitna ek CPU ka task khaata hai.
Scenario matrix
Har schedulability question inhi cells mein se kisi ek mein aata hai. Neeche ke examples cell(s) ke saath label kiye gaye hain, aur mil ke yeh sab cells ko touch karte hain.
| Cell | Input situation | Kya hona chahiye |
|---|---|---|
| A | (over-subscribed) | Instant FAIL — physics, koi scheduler save nahi kar sakta |
| B | RM bound (quick test passes) | PASS sirf sufficient test se prove hota hai |
| C | RM bound (quick test fails) | Verdict UNKNOWN → exact RTA zaroor chalao |
| C1 | Cell C, RTA converges with | PASS despite failing quick test |
| C2 | Cell C, RTA gives some | FAIL — confirmed unschedulable |
| D | (single task) | Bound ; degenerate limit |
| E | (empty task set) | Trivially schedulable; |
| F | exactly equals a bound | Boundary — kya inclusive hai? |
| G | RM says FAIL but EDF says PASS | Same tasks, scheduler choice matters |
| H | Word problem: hard vs firm vs soft | Cost-of-miss se classify karo, numbers se nahi |
| I | (deadline period se choti hai) | Sirf utilisation test invalid hai |
Example 1 — Cell B: clean PASS
- Utilisation. . Yeh step kyun? pehla gate hai: yeh total CPU share demand kiya gaya hai. se neeche ho to aage badho; upar ho to ruk jao.
- ke liye RM bound. . Yeh step kyun? Fixed-priority scheduling bad phasings par CPU waste kar sakta hai, isliye ise ke neeche ek bound chahiye. Yahi woh bound hai.
- Compare karo. → PASS. Yeh step kyun? Liu–Layland test sufficient hai: ise clear karna proof hai ki sab deadlines meet hoti hain.
Verify: comfortably se neeche hai — margin . Units: sab dimensionless fractions hain (seconds/seconds), isliye summing legal hai.
Example 2 — Cell A: physics se instant FAIL
- Utilisation. . Yeh step kyun? Kisi bhi clever test se pehle, check karo ki demand physically fit hoti hai ya nahi.
- 1 se compare karo. → FAIL, unconditionally. Yeh step kyun? Tum ek processor ka maang rahe ho. Koi bhi scheduler — RM, EDF, ya magic — se zyada serve nahi kar sakta. Koi deadline zaroor slip karegi.
Verify: matlab longer task ke ek period mein tum processor se zyada CPU-seconds demand karte ho. s mein tum CPU-seconds request karte ho lekin sirf available hain. Impossible.
RTA notation, ek baar define karo
Example 3 — Cell C + C1: quick test fails, exact test rescues
- Utilisation. . Yeh step kyun? Pehla gate. , to physically impossible nahi hai.
- RM bound. . Compare karo: → quick test FAILS. Yeh step kyun? Sufficient test fail hua → verdict unknown hai, "unschedulable" NAHI. Hum escalate karte hain.
- Lowest-priority task (task 3) par exact test. RTA equation apply karo ke saath (dono doosre tasks ke shorter periods hain, isliye dono task 3 ko preempt kar sakte hain). Yeh step kyun? Task 3 ka least priority hai, isliye yeh sabse zyada interference suffer karta hai aur satisfy karna sabse mushkil hai. count karta hai ki task 3 ke response window mein har higher task ke kitne releases aate hain aur CPU churaate hain.
- Iterate karo. se shuru karo.
- .
- .
- . par Converged. Yeh step kyun? Hum iterate karte hain kyunki dono sides par hai — ek fixed-point. Jaise window badhti hai, zyada preemptions fit ho sakte hain; jab value change karna band ho jaaye, koi nayi preemption appear nahi hoti aur hume true worst-case finish time milta hai.
- Compare karo. → task 3 apni deadline meet karta hai. (Tasks 1 aur 2 aur bhi aasaan hain — verify dekho.) → PASS. Yeh step kyun? Schedulable iff har task ke liye.
Neeche figure yeh worst-case timeline draw karta hai: teeno tasks par ek saath release hote hain (the "critical instant"), aur tum dekh sakte ho ki task 3 higher-priority tasks ke haath push hota hai phir bhi par finish karta hai, apni deadline se kaafi pehle.

Figure ko teen stacked lanes ki tarah padho (ek per task). Coloured blocks dikhate hain jab har task CPU actually hold karta hai. Notice karo task 3 ka block split hai: yeh run karta hai, par task 1 re-release hone par preempt ho jaata hai (lavender interruption), phir resume karta hai aur par complete karta hai — woh point mark kiya gaya hai. par dashed coral line uski deadline hai; aur ke beech gap safety margin hai.
Verify: Task 1 (highest priority) mein koi interference nahi: . ✓ Task 2: ; iterate karo , to . ✓ Sab pass — to yeh set RM ke under schedulable hai even though quick bound ne "don't know" kaha.
Example 4 — Cell C + C2: exact test FAIL confirm karta hai
- Utilisation. . Yeh step kyun? Pehla gate. , to nahi physically impossible — exact test meaningful hai.
- RM bound. . Compare karo: → quick test FAILS → RTA par escalate karo. Yeh step kyun? Sufficient test fail hua → verdict unknown, exact test zaroor chalao.
- Task 2 ke liye RTA (; sirf task 1 ise preempt karta hai). :
- .
- . Converged, . ✓ Yeh step kyun? Bottom wale se pehle middle task check karo; yeh pass karta hai.
- Task 3 ke liye RTA (; dono ise preempt karte hain). :
- .
- .
- . FAIL. Yeh step kyun? Window deadline ke past badhti rehti hai; jab ho to hum ruk jaate hain — task 3 worst-case phasing mein kabhi time par finish nahi kar sakta.
- Verdict. Task 3 miss karta hai → set RM ke under unschedulable hai, even though . Yeh step kyun? Schedulable hone ke liye har chahiye; ek miss poore set ko condemn karta hai.
Verify: climb karta hai aur converge hone se pehle exceed kar leta hai. wala set fixed priorities ke under phir bhi fail ho sakta hai — exactly isliye quick test sirf sufficient hai.
Example 5 — Cell G: RM fails, EDF passes (same tasks)
- EDF bound. wale periodic tasks ke liye ek CPU par, EDF schedulable hai iff . Yeh step kyun? EDF hamesha nearest deadline wali job run karta hai, bad phasings par koi CPU waste nahi — isliye yeh safely poore processor ko use kar sakta hai.
- Compare karo. → PASS under EDF. Yeh step kyun? EDF ke exact bound ko meet karna single-CPU periodic sets ke liye schedulability ka proof hai.
Verify: Same tasks, do verdicts: RM = FAIL, EDF = PASS. Isliye EDF ko single-CPU periodic sets ke liye optimal kaha jaata hai — yeh fixed-priority ko dominate karta hai. RM ki misses purely fixed priorities ki wajah se critical instant par CPU idle rehne se aayi.
Example 6 — Cells D, E, F: degenerate aur boundary inputs
(D) Ek task, . .
- Bound. . Yeh step kyun? Single task ke saath koi interference nahi, isliye RM bound EDF bound ke barabar hoti hai: poora CPU.
- Compare karo. → PASS. Yeh step kyun? Single task CPU ka consume karta hai, headroom chhod ke; ke bound ko clear karna prove karta hai ki yeh apni deadline meet karta hai.
Verify: Ek akela periodic task schedulable hai iff , yaani . Yahan . ✓
(E) Empty set, . Koi task nahi.
- Utilisation. (empty sum). Yeh step kyun? Zero tasks ke saath add karne ke liye koi terms nahi hain, aur ek empty sum convention se hota hai — CPU kuch demand nahi karta.
- Compare karo. kisi bhi bound → PASS trivially. Yeh step kyun? Agar koi task hi nahi hai, to miss karne ke liye koi deadline nahi; verdict schedulable hona chahiye, aur har possible bound clear karta hai.
Verify: Miss karne ke liye kuch nahi ⇒ schedulable. Empty-sum convention deta hai, consistent.
(F) exactly on the bound, . Do-task RM bound hai . Concrete tasks choose karo jo exactly ise hit karte hain. Task 1 lo , to . Hume chahiye . aur choose karo, jisse .
- Total utilisation. . Yeh step kyun? Humne deliberately ko boundary par daala inequality ke edge ko test karne ke liye.
- Compare karo. RM bound . Test hai , aur holds → PASS. Yeh step kyun? Liu–Layland (inclusive) use karta hai, isliye exactly bound par land karna safe hai.
Verify: Hamara chhe decimals tak iske barabar hai. Exactly bound par hona pass karta hai; sirf strictly greater exact test force karta hai.
Example 7 — Cell H: word problem (hard / firm / soft)
- (a) ek HARD deadline hai. Ek missed stabilisation update = loss of control = catastrophe. Late result ki utility effectively hai. Yeh step kyun? Hum cost of a miss se classify karte hain, aur yahan cost total system failure hai — hard deadline ki defining mark. Yeh loop WCET-based proof obligation drive karta hai aur RTOS ke highest-priority band mein belong karta hai.
- (b) ek FIRM deadline hai. Apne display slot ke baad aane wala frame zero value ka hota hai — tum ise discard karte ho — lekin kuch toot-ta nahi. Yeh step kyun? Late = worthless but harmless exactly firm category hai; sahi action stale frame drop karna hai, late display karna nahi.
- (c) ek SOFT deadline hai. Thodi der se aane wali battery reading phir bhi reduced value rakhti hai (roughly sahi), aur occasional lateness tolerable hai. Yeh step kyun? Utility deadline ke baad gently degrade hoti hai rather than collapse — yeh soft deadline ki pehchaan hai. Design goal: statistics bound karo (jaise " within "), aur jitter tolerate karo.
Verify (design mapping):
- (a) → zero misses prove karo via schedulability test + priority inversion ke against guard karo.
- (b) → firm: discard-on-miss, zero misses ka proof zaruri nahi.
- (c) → soft: graceful degradation, statistical target. Numbers (//) category decide nahi karte — lateness ka consequence karta hai. deadline ek alag system mein hard ho sakti hai (jaise ek medical infusion controller).
Example 8 — Cell I: deadline period se choti hai
- Utilisation. . Bahut low! Yeh step kyun? Habit kehti hai "low ⇒ fine." Lekin deadlines periods se chhoti hain, isliye hum ise trust nahi kar sakte.
- Yeh trap hai. Liu–Layland utilisation bound assume karta hai . Yahan , isliye low schedulability prove nahi karta (matrix remark dekho). Hume RTA chalani hogi aur ke against compare karna hoga, ke nahi. Yeh step kyun? Utilisation demand ko pure period par average karta hai; ek choti deadline kaam ko jaldi maangti hai, jo dekh nahi sakta, isliye sirf exact test yahan valid hai.
- Task 1 ke liye RTA (highest priority, , koi preempt nahi karta). . Compare karo: . ✓ Yeh step kyun? Highest-priority task mein koi interference nahi, isliye uska response time sirf uski apni cost hai — ise tight deadline ke against check karo, period ke nahi.
- Task 2 ke liye RTA (; task 1 ise preempt karta hai). :
- .
- . Converged, . ✓ Yeh step kyun? Fixed point iterate karo; task 2 par finish karta hai, apni deadline ke andar.
- Verdict. Dono apni (tighter) deadlines meet karte hain → PASS — lekin sirf isliye kyunki RTA ne confirm kiya. number yahan kabhi valid proof nahi tha. Yeh step kyun? Cell I mein utilisation test silent hai; ke against exact test asli judge hai.
Verify: aur . Agar hum sirf par trust karte to hum woh check skip kar dete jo actually matter karta tha. Note karo dono response times short ke against compare kiye gaye hain, periods ke nahi.
Recall Self-test: har set ke liye cell ka naam batao
A: → ::: Cell A — , instant FAIL. B: → ::: Cell B — , quick PASS. C1: → ::: Cell C1 — quick test fails () lekin RTA pass karta hai (). C2/G: → ::: Cell C2 RM ke under (RTA fails, exceed karta hai), Cell G EDF ke under (PASS, ). D: single task → ::: Cell D — bound , PASS. E: koi task nahi → ::: Cell E — , trivially schedulable. F: → ::: Cell F — exactly RM bound par, PASS (inclusive ). I: → ::: Cell I — lekin , utilisation test invalid; RTA deta hai , PASS.