Sobes.tech
Junior — Middle

Hogyan valósul meg a több szálú végrehajtás egy egypéldányos rendszerben?

sobes.tech MI

Válasz az MI-től

Egy egyetlen processzorral és egy maggal rendelkező rendszerben a multitasking a rendszer operációs rendszerének feladatütemező mechanizmusával valósul meg, amely gyorsan váltogatja a szálak végrehajtását, így létrehozva a párhuzamos munka illúzióját. Ezt a folyamatot kooperatív vagy preemptív multitaskingnak nevezik.

A feladatütemező minden szálnak (thread) egy rövid időtartamot (kvantumot) ad a végrehajtáshoz, majd a következő szálra vált. Így, bár fizikailag minden pillanatban csak egy szál fut, a váltás olyan gyors, hogy a felhasználó párhuzamos munkának érzékeli.

Példa: az iOS-ben a multitasking a GCD (Grand Central Dispatch) vagy NSThread segítségével valósul meg, amelyek a rendszerütemezőt használják az idő megosztására a szálak között.