Párhuzamosság kezelése

Lefutó vezérlés

Beágyazott rendszerek programozásakor a legegyszerűbb az, ha azok feladataikat egymás után hajtják végre, amíg az egyik feladat be nem fejeződik, addig a következő nem kezdődhet el. A fejlesztő tulajdonképpen egy listát készít a teendőkről, amin a mikrovezérlő végigmegy. Számos felhasználás esetén ez elegendő, azonban sokszor nem hatékony vagy nem lehetséges felsorolni, melyik lépés után mi következik. Egy nagyon egyszerű példa, amikor két LED lámpát kell villogtatni például 89 ms és 216 ms intervallumokkal, lehetetlen lenne egy ismétlődő listát írni a bemenetek bekapcsolásokról, kikapcsolásáról és késleltetési időkről.

Multitasking

Egy sütemény elkészítése több lépésből áll. Ameddig a tűzhelyre feltett víz melegszik az egyik hozzávalóhoz, addig várakozás helyett lehet foglalkozni egy másik lépéssel. Több időt venne igénybe a recept lépésein úgy végigmenni, hogy egyszerre csak egy részfeladattal foglalkozik a cukrász és annak befejezéséig hozzá sem kezd a következőhöz. Ahogyan egy cukrásznak, úgy egy mikrovezérlőnek is sokszor kellhet egyszerre több feladattal foglalkoznia. Mivel egy processzor egyszerre egy utasítást tud végrehajtani, így csupán látszatát tudja kelteni a párhuzamosságnak úgy, hogy kis időközönként folyamatosan váltogat a feladatok között.

Operációs rendszer feladata

Lefutó vezérlés esetén nincs operációs rendszer. Ha több feladatot kell egyidejűleg kezelnie a processzornak, akkor szükséges egy rendszer, ami eldönti, hogy a feladatok mikor kapjanak erőforrást, mikor fussanak vagy álljanak le, vagy több várakozó feladat esetén épp melyikük következzen. Ez a rendszer az operációs rendszer, ami egyfajta rendezői feladatot tölt be a beágyazott rendszerekben és más informatikai eszközökben.