Folyamat ütemezés az operációs rendszerben: Hosszú, közepes, rövid távú ütemező

⚡ Okos összefoglaló

A folyamatütemezés egy operációs rendszerfeladat, amely a folyamatokat készenléti, várakozó és futó állapotokban kezeli. CPU-időt rendel minden folyamathoz, lefoglalja a CPU-t, és hosszú távú, középtávú és rövid távú ütemezők használatával csökkenti a válaszidőt.

  • Meghatározás: A folyamatütemezés a CPU leterheltségének biztosítása érdekében kezeli a folyamatokat készenléti, várakozó és futó állapotban.
  • 📥 Sorok: A feladat-, készenléti- és eszközvárólisták a folyamatokat végrehajtási állapotuk szerint rendezik.
  • 🔀 Kétállapotú modell: A legegyszerűbb szinten egy folyamat vagy fut, vagy nem fut.
  • 🧑💼 Három ütemező: A hosszú, közép és rövid távú ütemezők szabályozzák, hogy mely folyamatok mikor fussanak.
  • Rövid időszak: A CPU ütemező a leggyorsabb, kiválaszt egy kész folyamatot az azonnali végrehajtáshoz.
  • 🔁 Kontextusváltás: A CPU állapotának mentése és visszaállítása a NYÁK-ban lehetővé teszi a multitaskingot.

Folyamatütemezés operációs rendszerben

Mi az a folyamatütemezés?

Folyamat ütemezése egy operációs rendszerfeladat, amely különböző állapotú folyamatokat ütemez, például kész, várakozó és futó.

A folyamatütemezés lehetővé teszi az operációs rendszer számára, hogy minden folyamathoz egy időintervallumot rendeljen a CPU végrehajtásához. A folyamatütemező rendszer használatának másik fontos oka, hogy folyamatosan lefoglalja a CPU-t. Ez lehetővé teszi a programok minimális válaszidejének elérését.

Folyamat ütemezési sorok

A folyamatütemezési sorok segítenek minden egyes folyamatállapothoz és NYÁK-hoz külön sort fenntartani. Az összes azonos végrehajtási állapotú folyamat ugyanabba a sorba kerül. Ezért, amikor egy folyamat állapota módosul, a NYÁK-ját le kell választani a meglévő sorról, és vissza kell helyezni az új állapotsorba.

Az operációs rendszer várólisták három típusa:

  1. Munkasor – Segít az összes folyamat eltárolásában a rendszerben.
  2. Kész sor – Ez a fajta sor segít beállítani a fő memóriában lévő összes folyamatot, amely készen áll és végrehajtásra vár.
  3. Eszközsorok – Ez egy I/O eszköz hiánya miatt blokkolt folyamat.
Folyamat ütemezési sorok
Folyamat ütemezési sorok

A fenti ábrán látható:

  • A téglalap egy sort jelképez.
  • A kör jelöli az erőforrást.
  • Egy nyíl jelzi a folyamat menetét.
  1. Minden új folyamat először a Készenléti várólistába kerül. A kész sorban várakozik, amíg végül végrehajtásra nem kerül. Itt az új folyamat a kész várólistába kerül, és addig vár, amíg végrehajtásra kiválasztják, vagy elküldik.
  2. Az egyik folyamathoz lefoglalták a CPU-t, és az végrehajtás alatt áll.
  3. A folyamatnak I/O kérést kell kiadnia.
  4. Ezután be kell helyezni az I/O várólistába.
  5. A folyamatnak létre kell hoznia egy új alfolyamatot.
  6. A folyamatnak meg kell várnia a befejezését.
  7. Egy megszakítás következtében erőszakkal el kell távolítani a CPU-ból. Miután a megszakítás befejeződött, vissza kell küldeni a kész várólistába.

Kétállapotú folyamatmodell

A kétállapotú folyamatmodellek a következők:

  • Futó állapot
  • Nem futó állapot

futás

A Operadolog rendszer, amikor új folyamat épül fel, az bekerül a rendszerbe, amelynek futnia kell.

Nem fut

A nem futó folyamatok egy sorban várakoznak a végrehajtásra. A sorban minden bejegyzés egy adott folyamatra mutat.

Ütemezési célok

A folyamatütemezés fontos céljai a következők:

  • Maximalizálja az interaktív felhasználók számát elfogadható válaszidőn belül.
  • Érje el az egyensúlyt a válaszadás és a felhasználás között.
  • Kerülje el a határozatlan időre halasztást, és érvényesítse a prioritásokat.
  • Hivatkoznia kell a kulcsfontosságú erőforrásokat tároló folyamatokra is.

Folyamatütemezők típusa

Az ütemező egy olyan rendszerszoftver, amely lehetővé teszi a folyamatütemezés kezelését.

Főleg háromféle folyamatütemező létezik:

  1. Hosszú távú ütemező
  2. Rövid távú ütemező
  3. Középtávú ütemező

Hosszú távú ütemező

A hosszú távú ütemezőt más néven a munkaütemezőEz az ütemező szabályozza a programot, kiválasztja a folyamatokat a várakozási sorból, és betölti azokat a memóriába végrehajtásra. Emellett szabályozza a többszörös programozás mértékét is.

Az ilyen típusú ütemező fő célja azonban a feladatok, például a processzor és az I/O feladatok kiegyensúlyozott keverékének biztosítása, amely lehetővé teszi a többprogramozás kezelését.

Középtávú ütemező

A középtávú ütemezés fontos része cserepingLehetővé teszi a kicserélt folyamatok kezelését. Ebben az ütemezőben egy futó folyamat felfüggeszthető, ami I/O kérést küld.

Egy futó folyamat felfüggeszthető, ha I/O kérést küld. A felfüggesztett folyamat nem tud előrehaladni a befejezés felé. Annak érdekében, hogy a folyamatot eltávolítsuk a memóriából, és helyet szabadítsunk fel más folyamatoknak, a felfüggesztett folyamatot át kell helyezni egy másodlagos tárolóba.

Rövid távú ütemező

A rövid távú ütemezést más néven a CPU ütemezőEnnek az ütemezőnek a fő célja a rendszer teljesítményének növelése a beállított kritériumok alapján. Ez segít kiválasztani a végrehajtásra kész folyamatok egy csoportjából a megfelelőket, és a CPU-t hozzárendelni az egyikhez. A diszpécser átadja a CPU feletti vezérlést a rövid távú ütemező által kiválasztott folyamatnak.

Az ütemezők közötti különbség

Hosszú távú vs. rövid távú vs. középtávú:

Hosszútávú Rövid időszak Medium-Term
A hosszú távú munkarendezőt munkaütemezőnek is nevezik. A rövid távú ütemezést CPU ütemezőnek is nevezik. A középtávú ügyletet swapnak is nevezik.ping ütemező.
Az időmegosztásos rendszerben vagy hiányzik, vagy minimális. Az időmegosztási sorrendben jelentéktelen. Ez az ütemező az időmegosztási rendszerek egyik eleme.
A sebesség kisebb a rövid távú ütemezőhöz képest. A gyorsaság a leggyorsabb a rövid és középtávú ütemezőhöz képest. Közepes sebességet kínál.
Lehetővé teszi a folyamatok kiválasztását a betöltésből és a memóriába való visszatöltését. Csak azokat a folyamatokat választja ki, amelyek végrehajtásra kész állapotban vannak. Segít visszaküldeni a folyamatokat a memóriába.
Teljes kontrollt kínál. Kevesebb kontrollt kínál. Csökkenti a többprogramozás szintjét.

Mi az a Context switch?

Ez egy módszer a CPU állapotának tárolására/visszaállítására a NYÁK-ban, hogy a folyamat végrehajtása később ugyanarról a pontról folytatható legyen. A kontextusváltási módszer fontos a többfeladatos operációs rendszereknél.

GYIK

Az ütemező dönti el, hogy melyik folyamat fusson következőként egy szabályzat alapján. A diszpécser az a modul, amely valójában a kiválasztott folyamatnak adja a CPU feletti vezérlést, végrehajtva a kontextusváltást és az ugrást.ping a programban a megfelelő helyre.

A többprogramozás mértéke az egyidejűleg a főmemóriában tárolt folyamatok száma. A hosszú távú ütemező ezt úgy szabályozza, hogy eldönti, hány folyamatot enged be, kiegyensúlyozva a CPU és az I/O kihasználtságot a hatékony rendszerteljesítmény érdekében.

A folyamatvezérlő blokk egy olyan adatstruktúra, amelyet az operációs rendszer egy folyamattal kapcsolatos összes információ, például az állapot, a programszámláló, a regiszterek és a memóriakorlátok tárolására használ. Alapvető fontosságú a folyamatok mentéséhez és visszaállításához kontextusváltás során.

A mesterséges intelligencia képes megtanulni a munkaterhelési mintákat, hogy eldöntse, melyik folyamatot futtassa, és hogyan ossza el a CPU-időt. A fix szabályok helyett valós időben adaptálja az ütemezést, javítva az átviteli sebességet, a válaszidőt és az energiahatékonyságot, különösen a felhőalapú és a többmagos rendszerekben.

Igen. A múltbeli CPU-börzsök és I/O-mintázatok elemzésével a mesterséges intelligencia modellek meg tudják becsülni, hogy egy folyamat mennyi ideig fog futni, és hogy CPU- vagy I/O-korlátozású-e. Ezek az előrejelzések segítenek az ütemezőnek a folyamatok rangsorolásában és a várakozási idő csökkentésében.

Foglald össze ezt a bejegyzést a következőképpen: