Operációs rendszer menedzser

A feladatütemezés  az egyik kulcsfogalom a többfeladatos munkavégzésben és a többfeldolgozásban mind az általános célú , mind a valós idejű operációs rendszerekben . Az ütemezés egy prioritási sorban lévő folyamatokhoz prioritások hozzárendeléséből áll . A feladatot végrehajtó programkódot ütemezőnek ( feladatváltó , ütemező ) nevezzük . 

A feladatütemezés legfontosabb célja a processzor maximális kihasználása. Az áteresztőképesség  azon folyamatok száma, amelyek időegység alatt befejezik a végrehajtást. Várakozási idő – Az az idő,  ameddig egy folyamat a készenléti sorban várakozik. A válaszidő  az az idő, amely a kérés kezdetétől a kérésre adott első válaszig eltelik.

Valós idejű számítási környezetekben , például az iparban automatikus vezérlésre tervezett mobileszközökön (például robotika ), a feladatütemezőnek gondoskodnia kell arról, hogy a folyamatok meghatározott időintervallumokon (válaszidő) belül legyenek feldolgozva; ez kritikus fontosságú a valós idejű rendszer megfelelő működésének fenntartásához.

Ütemezők típusai operációs rendszerekben

Az operációs rendszerek legfeljebb három különböző típusú ütemezőt tartalmazhatnak: a hosszú távú ütemezőt (vagy futásidejű ütemezőt), a középtávú ütemezőt és a rövid távú ütemezőt (más néven diszpécser ). Már maguk a nevek is leírják, hogy az ütemező milyen relatív gyakorisággal látja el funkcióit.

Hosszú távú ütemező

A hosszú távú ütemező dönti el, hogy mely feladatok vagy folyamatok kerüljenek a futásra kész folyamatok sorába; vagyis amikor egy folyamatot megpróbálnak elindítani, a hosszú távú ütemező vagy hozzáad egy új folyamatot a kész folyamatok sorához (lehetővé teszi annak futását), vagy elhalasztja ezt a műveletet. Így a hosszú távú ütemező dönti el, hogy mely folyamatok futnak párhuzamosan, ezáltal szabályozva a párhuzamosság mértékét, valamint az I/O-intenzív és a CPU-igényes folyamatok közötti arányt. Az asztali számítógépek általában nem használnak hosszú távú ütemezőt, és lehetővé teszik az új folyamatok automatikus futtatását. Ez az ütemező azonban nagyon fontos a valós idejű rendszerek számára, mivel ha a rendszer túlterhelt párhuzamos folyamatokkal, akkor a rendszer válaszideje hosszabb lehet a szükségesnél, ami elfogadhatatlan.

Középtávú tervező

Minden virtuális memóriával rendelkező rendszerben a középtávú ütemező ideiglenesen áthelyezi (kiveszi) a folyamatokat a fő memóriából a másodlagos memóriába (például egy merevlemezre), és fordítva. Ezeket a műveleteket lapozásnak vagy cserének nevezik . A középtávú ütemező dönthet úgy, hogy egy folyamatot kicserél a fő memóriából, ha:

A folyamat visszakerül a fő memóriába, amikor a szükséges mennyiségű szabad memória rendelkezésre áll, vagy amikor a folyamat felébred (ebben az esetben az ütemező egy másik folyamatot cserél ki a fő memóriából, hogy felszabadítsa a fő memóriát).

Számos modern rendszerben, amely támogatja a virtuális címtér leképezését a lapfájltól eltérő másodlagos memóriához, a középtávú ütemező a hosszú távú ütemező szerepét is betöltheti, és az új folyamatokat a fő memóriából kicserélt folyamatokként kezeli. Ily módon a rendszer csak akkor tud kódot betölteni a fő memóriába, ha a folyamatnak szüksége van rá a végrehajtáshoz (ezt hívják igény-betöltésnek vagy " lusta betöltésnek ").

Rövid távú tervező

Az ütemező ezen a szinten dönti el, hogy a kész és betöltött folyamatok közül melyik fut le a CPU-n a megszakítás után (idő, I/O művelet, operációs rendszer hívás vagy egyéb jel alapján). Ezen a szinten nagyon gyakran kell döntéseket hozni (legalábbis minden időszakban). Ezenkívül az ütemező támogathatja vagy nem támogatja a megelőző multitaskingot (vagyis képes megszakítani egy folyamat végrehajtását).

Diszpécser

A diszpécser a tervezési rendszer másik összetevője. Ez egy olyan modul, amely átadja a processzor vezérlését a rövid távú ütemezési szinten kiválasztott folyamatnak. Feladatai közé tartozik a kontextus váltása, a felhasználói módba váltás, valamint a felhasználói program megfelelő helyére ugrás a végrehajtás elindításához vagy folytatásához. A diszpécserrel szemben támasztott fő követelmény a gyorsaság, mivel minden folyamatváltást végrehajt.

Lásd még