Mi az a CPU ütemezése?
A CPU ütemezése annak meghatározása, hogy melyik folyamat lesz a CPU tulajdonosa végrehajtás céljából, míg egy másik folyamat várakozás alatt áll. A CPU ütemezésének fő feladata annak biztosítása, hogy amikor a CPU tétlen marad, az operációs rendszer legalább kiválassza az egyik folyamatban lévő folyamatban lévő folyamat egyikét. A kiválasztási folyamatot a CPU ütemezője hajtja végre. Kiválasztja a memóriában a végrehajtásra kész folyamatok egyikét.
Ebben a CPU ütemezési oktatóanyagban megtudhatja:
- Mi az a CPU ütemezése?
- A CPU ütemezésének típusai
- Fontos CPU ütemezési terminológiák
- CPU ütemezési kritériumok
- Intervallum időzítő
- Mi a diszpécser?
- A CPU ütemezési algoritmus típusai
- Aki kapja, marja
- A legrövidebb hátralévő idő
- Prioritás alapú ütemezés
- Round-Robin ütemezése
- Először a legrövidebb munka
- Többszintű várólisták ütemezése
- Az ütemezési algoritmus célja
A CPU ütemezésének típusai
Kétféle ütemezési módszer van:
Megelőző ütemezés
Az előzetes ütemezésben a feladatokat többnyire prioritásaikkal osztják ki. Néha fontos egy magasabb prioritású feladatot futtatni egy másik alacsonyabb prioritású feladat előtt, még akkor is, ha az alacsonyabb prioritású feladat még mindig fut. Az alacsonyabb prioritású feladat egy ideig tart, és akkor folytatódik, amikor a magasabb prioritású feladat befejezi a végrehajtását.
Nem megelőző ütemezés
Az ilyen típusú ütemezési módszerben a CPU-t egy meghatározott folyamathoz rendelték hozzá. Az a folyamat, amely a CPU-t elfoglalt tartja, feloldja a CPU-t kontextusváltással vagy leállítással. Ez az egyetlen módszer, amely különböző hardverplatformokhoz használható. Ez azért van, mert nincs szüksége speciális hardverre (például időzítőre), mint például a megelőző ütemezés.
Amikor az ütemezés megelőző vagy nem megelőző?
Annak megállapításához, hogy az ütemezés megelőző vagy megelőző jellegű-e, vegye figyelembe a következő négy paramétert:
- A folyamat a futásról a várakozási állapotra vált.
- Az adott folyamat a futó állapotról a kész állapotra vált.
- Az adott folyamat a várakozási állapotról a kész állapotra vált.
- A folyamat befejezte a végrehajtást és leállt.
Csak az 1. és 4. feltétel érvényes, az ütemezést nem megelőzőnek nevezzük.
Minden más ütemezés megelőző jellegű.
Fontos CPU ütemezési terminológiák
- Sorozatidő / végrehajtási idő: Ez az az idő, amelyre a folyamatnak szüksége van a végrehajtás befejezéséhez. Futási időnek is nevezik.
- Érkezési idő: amikor egy folyamat kész állapotba kerül
- Befejezési idő: amikor a folyamat befejeződik és kilép a rendszerből
- Többprogramozás: Számos program, amely egyszerre jelen lehet a memóriában.
- Munkák: Ez egyfajta program, mindenféle felhasználói interakció nélkül.
- Felhasználó: Ez egyfajta program, amely felhasználói interakcióval rendelkezik.
- Folyamat: Ezt a referenciát használják mind a munkához, mind a felhasználóhoz.
- CPU / IO burst ciklus: Jellemzi a folyamat végrehajtását, amely váltakozik a CPU és az I / O tevékenység között. A CPU idők általában rövidebbek, mint az I / O ideje.
CPU ütemezési kritériumok
A CPU ütemezési algoritmus megpróbálja maximalizálni és minimalizálni a következőket:
Nagyítás:
CPU kihasználtság: A CPU kihasználtság az a fő feladat, amelyben az operációs rendszernek meg kell győződnie arról, hogy a CPU a lehető legforgalmasabb marad. 0 és 100 százalék között mozoghat. Az RTOS esetében azonban az alacsony szintű 40 százalék, a magas szintű rendszer esetében pedig 90 százalék lehet.
Átbocsátás: Az időegységenként végrehajtásukat befejező folyamatok száma ismert. Tehát, amikor a CPU elfoglalt a folyamat végrehajtásával, akkor a munka folyamatban van, és az időegységenként elvégzett munkát átbocsátásnak nevezzük.
Minimalizálás:
Várakozási idő: A várakozási idő egy összeg, amelyet egy adott folyamatnak várnia kell a készenléti sorban.
Válaszidő: A kérelem benyújtásának időpontja az első válasz elkészítéséig.
Átfutási idő: Az átfutási idő egy adott folyamat végrehajtásának időtartama. Ez kiszámítja a memóriába kerülésre, a várakozási sorban való várakozásra és a CPU végrehajtására fordított teljes idő számítását. A folyamat benyújtása és a befejezés közötti időtartam az átfutási idő.
Intervallum időzítő
Az időzített megszakítás olyan módszer, amely szorosan kapcsolódik az elővásárláshoz. Amikor egy bizonyos folyamat megkapja a CPU-kiosztást, egy időzítőt meghatározott időközönként lehet beállítani. Mind az időzítő megszakítása, mind az előválogatás arra kényszeríti a folyamatot, hogy a CPU-burst befejezése előtt visszatérjen a CPU-hoz.
A többszörösen programozott operációs rendszer nagy része valamilyen időzítőt használ, hogy megakadályozza a folyamat örök kötődését.
Mi a diszpécser?
Ez egy modul, amely biztosítja a processzor vezérlését a folyamat számára. A diszpécsernek gyorsnak kell lennie, hogy minden környezetkapcsolón fusson. Az elküldési késés az az idő, amelyre a CPU ütemezőjének szüksége van az egyik folyamat leállításához és egy másik elindításához.
A diszpécser által végrehajtott funkciók:
- Környezetváltás
- Váltás felhasználói módra
- Ugrás a megfelelő helyre az újonnan betöltött programban.
A CPU ütemezési algoritmus típusai
Főként hatféle folyamatütemezési algoritmus létezik
- First Come First Serve (FCFS)
- A legrövidebb munka-első (SJF) ütemezése
- A legrövidebb hátralévő idő
- Prioritás ütemezése
- Kerek Robin ütemezése
- Többszintű várakozási ütemezés
Aki kapja, marja
Az First Come First Serve az FCFS teljes formája. Ez a legegyszerűbb és legegyszerűbb CPU ütemezési algoritmus. Ebben a típusú algoritmusban a CPU-t kérő folyamat először a CPU-kiosztást kapja meg. Ez az ütemezési módszer egy FIFO-sorral kezelhető.
Amint a folyamat belép a kész várólistába, annak PCB-je (Process Control Block) összekapcsolódik a sor farkával. Tehát, amikor a CPU szabaddá válik, azt a sor elején kell a folyamathoz rendelni.
Az FCFS módszer jellemzői:
- Nem megelőző és megelőző ütemezési algoritmust kínál.
- A munkákat mindig az érkezési sorrendben hajtják végre
- Könnyen kivitelezhető és használható.
- Ez a módszer azonban gyenge teljesítményű, és az általános várakozási idő meglehetősen magas.
A legrövidebb hátralévő idő
Az SRT teljes formája a legrövidebb hátralévő idő. Más néven SJF megelőző ütemezés. Ebben a módszerben a folyamat a feladathoz lesz hozzárendelve, amely a legközelebb van a befejezéséhez. Ez a módszer megakadályozza, hogy egy újabb kész állapotú folyamat megakadályozza egy régebbi folyamat befejezését.
Az SRT ütemezési módszer jellemzői:
- Ezt a módszert leginkább kötegelt környezetekben alkalmazzák, ahol a rövid munkákat kell előnyben részesíteni.
- Ez nem ideális módszer egy megosztott rendszerben történő megvalósításra, ahol a szükséges CPU-idő ismeretlen.
- Társítson minden folyamathoz, amikor a következő CPU tört. Tehát az operációs rendszer ezeket a hosszúságokat használja, ami elősegíti a folyamat lehető legrövidebb időn belüli ütemezését.
Prioritás alapú ütemezés
Az elsőbbségi ütemezés a folyamatok ütemezésének prioritáson alapuló módszere. Ebben a módszerben az ütemező kiválasztja a feladatokat a prioritásnak megfelelően.
A prioritásütemezés segít az operációs rendszernek prioritási hozzárendelések bevonásában is. Először a magasabb prioritású folyamatokat kell végrehajtani, míg az azonos prioritású munkákat körbeosztás vagy FCFS alapján végzik. Az elsőbbség a memóriaigény, az időigény stb. Alapján dönthető el.
Round-Robin ütemezése
A körmérkőzés a legrégebbi, legegyszerűbb ütemezési algoritmus. Ennek az algoritmusnak a neve a körmérkőzéses elvből származik, ahol minden ember egymás után egyenlő részesedést kap valamiből. Leginkább algoritmusok ütemezésére használják a multitaskingban. Ez az algoritmus módszer segíti a folyamatok éhezés nélküli végrehajtását.
A kör-robin ütemezés jellemzői
- A körmérkőzés egy hibrid modell, amely óra vezérelt
- Az időszeletnek minimálisnak kell lennie, amelyet egy adott feldolgozandó feladathoz rendelnek hozzá. Ez azonban a különböző folyamatoknál változhat.
- Ez egy valós idejű rendszer, amely meghatározott időn belül reagál az eseményre.
Először a legrövidebb munka
Az SJF a (Shortest job first) teljes formája egy ütemezési algoritmus, amelyben a legrövidebb végrehajtási idővel rendelkező folyamatot kell kiválasztani a következő végrehajtáshoz. Ez az ütemezési módszer lehet megelőző vagy nem megelőző. Jelentősen lerövidíti a végrehajtásra váró egyéb folyamatok átlagos várakozási idejét.
Az SJF ütemezés jellemzői
- Minden munkához a teljesítés időegységeként kapcsolódik.
- Ebben a módszerben, amikor rendelkezésre áll a CPU, először a legrövidebb befejezési idővel rendelkező következő folyamat vagy feladat kerül végrehajtásra.
- Nem megelőző politikával valósítják meg.
- Ez az algoritmus módszer hasznos kötegelt típusú feldolgozásnál, ahol a munkák befejezésére való várakozás nem kritikus.
- Javítja a munka eredményét azáltal, hogy rövidebb állásokat kínál, amelyeket először végre kell hajtani, amelyek többnyire rövidebb átfutási idővel rendelkeznek.
Többszintű várólisták ütemezése
Ez az algoritmus a kész várólistát különálló sorokba választja szét. Ebben a módszerben a folyamatok egy sorhoz vannak hozzárendelve a folyamat meghatározott tulajdonságai, például a folyamat prioritása, a memória mérete stb. Alapján.
Ez azonban nem független ütemező OS algoritmus, mivel más típusú algoritmusokat kell használnia a feladatok ütemezéséhez.
A többszintű várakozási ütemezés jellemzője:
- Bizonyos jellemzőkkel rendelkező folyamatokhoz több várólistát kell fenntartani.
- Minden sornak külön ütemezési algoritmusa lehet.
- Az egyes soroknál prioritások vannak megadva.
Az ütemezési algoritmus célja
Itt vannak az ütemezési algoritmus használatának okai:
- A CPU az ütemezést használja hatékonyságának javítására.
- Segít az erőforrások elosztásában a versengő folyamatok között.
- A CPU maximális kihasználtsága multi-programozással érhető el.
- A végrehajtandó folyamatok készenlétben állnak.
Összegzés:
- A CPU ütemezése egy folyamat annak meghatározására, hogy melyik processzor fogja a CPU-t végrehajtásra, míg egy másik folyamat várakozik.
- Az előzetes ütemezésben a feladatokat többnyire prioritásaikkal osztják ki.
- A nem megelőző ütemezési módszerben a CPU-t egy meghatározott folyamathoz rendelték hozzá.
- A sorozatidő a folyamat befejezéséhez szükséges idő. Futási időnek is nevezik.
- A CPU kihasználtság az a fő feladat, amelyben az operációs rendszernek meg kell győződnie arról, hogy a CPU a lehető legforgalmasabb marad
- Az időegységenként végrehajtásukat befejező folyamatok száma ismert.
- A várakozási idő egy összeg, amelyet az adott folyamatnak várnia kell a készenléti sorban.
- A kérelem benyújtásának időpontja az első válasz elkészítéséig.
- Az átfutási idő egy adott folyamat végrehajtásának ideje.
- Az időzített megszakítás olyan módszer, amely szorosan kapcsolódik az elővásárláshoz,
- A diszpécser olyan modul, amely biztosítja a processzor vezérlését a folyamat számára.
- A folyamatütemezési algoritmusok hat típusa a következő:
- First Come First Serve (FCFS), 2) A legrövidebb munka első (SJF) ütemezése 3) A legrövidebb hátralévő idő 4) Prioritás ütemezése 5) A körmérkőzés ütemezése 6) Többszintű várakozási ütemezés
- A First Come First Serve módszerben a CPU-t kérő folyamat előbb megkapja a CPU-kiosztást.
- A lehető legrövidebb idő alatt a folyamat a feladathoz lesz hozzárendelve, amely a legközelebb van a befejezéséhez.
- A Prioritás ütemezése szakaszban az ütemező kiválasztja a feladatokat a prioritásnak megfelelően.
- Ebben a körmérkőzés ütemezése elvileg működik, ahol minden ember egymás után egyenlő részt kap valamiből
- Először a Legrövidebb feladat esetén a legrövidebb végrehajtási időt kell kiválasztani a végrehajtáshoz
- A többszintű ütemezésben a módszer külön készenléti sorokra különíti el a kész várólistát. Ebben a módszerben a folyamatok egy adott tulajdonság alapján sorba vannak rendelve
- A CPU az ütemezést használja hatékonyságának javítására.