5.5.15 · D1 · HinglishEmbedded Systems & Real-Time Software

FoundationsBare-metal vs RTOS — when to use each

2,465 words11 min read↑ Read in English

5.5.15 · D1 · Coding › Embedded Systems & Real-Time Software › Bare-metal vs RTOS — when to use each

Parent note Bare-metal vs RTOS padhne se pehle, tumhe usme use hone wala har word clearly dikhna chahiye. Yeh page har ek ko zero se build karta hai.


1. CPU — ek worker, ek kaam ek baar mein

Yeh poora topic is bottleneck ki wajah se hi exist karta hai. Agar har kaam ke liye ek alag CPU hota, toh scheduling ki koi problem hi nahi hoti. Lekin nahi hota — isliye tumhe interleave karna padta hai.

Figure — Bare-metal vs RTOS — when to use each

Figure dekho: horizontal axis time hai jo left se right ki taraf flow ho raha hai. CPU ek single lane hai. Teen kaam (blue, yellow, green) — teeno us lane ko chahte hain, lekin time ke kisi bhi ek vertical slice mein sirf ek coloured block hi us lane mein ho sakta hai. Yahi hai jo "ek CPU" humpe force karta hai.

Yeh picture pehle kyun chahiye? Kyunki baad mein aane wala har symbol — koi kaam kitna time leta hai, kitna wait karta hai — is time axis ke saath hi measure hota hai.


2. "Job" / "Task" — kaam ka ek unit

Picture: Figure 1 mein har coloured block ek running job hai. Uski width batati hai woh kitna time leta hai; uski left edge batati hai kab shuru hua.

Parent note mein example jobs jaise read_sensor(), update_display() listed hain. Har ek ek job hai. Yeh word isliye chahiye kyunki scheduling sirf aur sirf yahi decide karna hai ki kaunsi job ka block time axis par kahan jaayega.


3. — execution time (block kitna wide hai)

Picture: Figure 1 mein block ki width hai — literally. Mota block = bada . Parent ka update_display() ~30 ms ek bahut mota block hai; update_control() ~1 ms ek patla sliver hai.

Topic ko yeh kyun chahiye: super-loop ka killer formula sirf saari block widths ko add karna hai. Ek single width ka matlab jaane bina woh formula padh nahi sakte.


4. Subscript aur sum — "saare jobs mein add karo"

Picture: chaar blocks ko bina gap ke ek line mein rakh do — us train ki total length sum hai. Isliye har job ko har doosre job ka wait karna padta hai: apni agli baari paane ke liye, use poori train guzarne ka wait karna hoga.


5. — period (kaam kitni baar karna hai)

Figure — Bare-metal vs RTOS — when to use each

Picture (Figure 2): coloured arrows har period ka start mark karte hain — woh moments jab koi job "ready ho jaata hai" aur CPU time chahta hai. Chhoti period wale job ke arrows paas paas hote hain; lambi period wale mein door door. Do arrows ke beech ka gap hai.

Topic ko yeh kyun chahiye: bare-metal aur RTOS ka fark tabhi matter karta hai jab jobs ki periods bahut alag alag hon (ek fast ms job ek slow ms job ke peeche fansa hua). woh number hai jo "kitna alag" capture karta hai.


6. Deadline aur latency — woh wait jo hurt karta hai

Picture: Figure 2 mein socho blue arrow (job ready ho gayi) lekin CPU kisi yellow block mein busy hai. Arrow se blue block ke start tak wala red bracket latency hai. Chauda bracket = khatre ki ghanti.

Topic ko yeh kyun chahiye: poori bare-metal-vs-RTOS argument yahi hai — "kaun sa approach mere urgent jobs ke liye red bracket chhota rakhta hai?" Super-loop ki worst-case latency hai; RTOS ki high-priority jobs ke liye bahut chhoti hai — yahi punch line hai.


7. Priority aur pre-emption — urgent jobs ko line cut karne dena

Figure — Bare-metal vs RTOS — when to use each

Picture (Figure 3): top row = super-loop — green urgent job ka arrow aaya jab fat yellow block chal raha tha, aur green ko yellow ke poora khatam hone ka wait karna pada (lamba red wait). Bottom row = pre-emptive RTOS — same green arrow aata hai, yellow instantly do pieces mein split ho jaata hai aur green turant run karta hai (chota red wait). Split yellow block pre-emption ko visible karta hai.

Topic ko yeh kyun chahiye: yeh akela picture hi woh reason hai kyun RTOSes exist karte hain. Isse related theory ki kaunse jobs ko kaunsi priority milti hai woh Rate-Monotonic Scheduling mein hai, aur woh subtle bug jahaan low task high wale ko block kar deta hai woh Priority Inversion and Mutexes mein hai.


8. , ceilings, aur response-time recurrence

Yeh kyun chahiye: yeh ka RTOS counterpart hai. Yeh mathematically dikhata hai ki slow low-priority jobs ( mein nahi hain) urgent task ke response time mein kuch bhi add nahi karte — RTOS ka poora selling point yahi hai.


9. — utilisation, "CPU kitna bhara hua hai?"

Figure — Bare-metal vs RTOS — when to use each

Picture (Figure 4): ek single bar = CPU ka 100%. Har job ka ek slice fill karta hai. Parent ke example bar ka fill karta hai — baaki idle head-room hai. par dashed line Liu & Layland safety limit hai: iske neeche raho aur har deadline guaranteed hai.


Prerequisite map

One CPU - one job at a time

Jobs and tasks

C - execution time

T - period

Sum over jobs gives loop latency

Bare-metal super-loop

Priority and pre-emption

Response-time recurrence R

Utilisation U

RTOS scheduling

Choosing bare-metal vs RTOS


Equipment checklist

Parent note ke liye tum ready ho jab in sab ka jawab zor se de sako:

Ek CPU bahut saare jobs par kya force karta hai?
Unhe interleaving se share karna padta hai — koi bhi ek instant mein sirf ek hi run karta hai.
kya hai aur time diagram mein woh kya hota hai?
Job ka worst-case execution time — uske block ki width.
kya hai aur diagram mein use kya mark karta hai?
Period (arrivals ke beech ka time) — un arrows ke beech ka gap jahan job ready hoti hai.
aur mein kya fark hai?
= job kitni der run karti hai; = use kitni baar run karna hai.
seedhe shabdon mein padho.
Saare jobs ke execution times add karo — total block-train ki length.
Latency kya hai?
Job ke ready hone se CPU ke usse serve karna shuru karne tak ka wait.
Pre-emption kya hai?
RTOS ka ek low-priority task ko mid-run pause karke higher-priority wale ko serve karna, phir resume karna.
Ceiling kya karta hai aur yahan kyun?
Upar round karta hai — higher task ki ek partial extra arrival phir bhi pura chura leti hai.
ka matlab kya hai?
se higher priority wale tasks ka set — sirf yahi use delay kar sakte hain.
kya measure karta hai?
Saare jobs milkar CPU time ki kitni fraction demand karte hain; matlab fully booked.

Connections