Ugrás a tartalomhoz

multilevel queue

A Wikiszótárból, a nyitott szótárból


Főnév

multilevel queue (tsz. multilevel queues)

  1. (informatika) A Multilevel Queue Scheduling (Statikus) egy nem-preemptív CPU ütemezési algoritmus, amely a folyamatokat különböző prioritási szintű sorokba (queues) rendezi. Minden sor egy adott típusú folyamatot tartalmaz, és minden sorhoz külön-külön ütemezési szabályokat alkalmaznak. Az algoritmus statikus, mivel a folyamatok egyszer kerülnek besorolásra egy sorba, és ezen a besoroláson nem változtatnak a futás során.

Működési elv:

  1. Folyamatok besorolása a sorokba:
    • A folyamatokat különböző prioritású sorokba sorolják be, például egy interaktív folyamatokkal foglalkozó sorba, egy háttér folyamatokkal foglalkozó sorba, és így tovább. A folyamatok besorolása a típustól függ, és ezt statikusan határozzák meg.
    • A besorolás történhet például a folyamat típusától függően (interaktív, háttér, IO-bound stb.).
  2. Sorok ütemezése:
    • Minden sorhoz saját ütemezési algoritmus tartozik. A leggyakrabban használt algoritmusok a First-Come-First-Served (FCFS), Round Robin (RR), vagy Shortest Job First (SJF).
    • Az első sor legmagasabb prioritású, és a folyamatokat ezen a soron belül ütemezik először. A legmagasabb prioritású soroknak előnyük van, míg az alacsonyabb prioritású sorokba tartozó folyamatok késlekedhetnek.
  3. Nem-preemptív ütemezés:
    • A sorokban történő ütemezés általában nem-preemptív, vagyis miután egy folyamat elindul egy adott sorban, nem szakad meg, amíg be nem fejeződik vagy blokkolódik.
  4. Folyamatok átirányítása a sorok között:
    • Mivel a Multilevel Queue ütemezés statikus, a folyamatokat a futásuk kezdetén egy adott sorba sorolják be, és onnan nem kerülnek áthelyezésre másik sorba.
    • Ez jelenthet hátrányt, mivel a folyamatok előre meghatározott besorolása nem veszi figyelembe az esetleges dinamikus változásokat, például egy IO-bound folyamat CPU-bound-ra válthat, de nem kerül át az alacsonyabb prioritású sorba.

Példa:

Tegyük fel, hogy három sorunk van:

Sor szint Prioritás Ütemezési algoritmus
1. szint Magas FCFS (First Come First Served)
2. szint Közepes Round Robin
3. szint Alacsony FCFS

És van három folyamatunk:

Folyamat Prioritás Futtatás ideje (S)
A Magas 5
B Közepes 3
C Alacsony 6
  1. A folyamat, mivel magas prioritású, a legmagasabb szintű sorba kerül (1. szint), és ott FCFS szerint fut.
  2. B a közepes prioritású, így a második szintre kerül, és Round Robin algoritmussal ütemezik.
  3. C alacsony prioritású, így a harmadik szintre kerül, és itt is FCFS ütemezést alkalmaznak.

Sorrend: - A először indul, és 5 másodpercet fut. - Miután A befejeződött, B következik, és a Round Robin algoritmus alapján ütemezik. - C végül az alacsony prioritású sorba kerül, és FCFS szerint fut.

Előnyök:

  1. Egyszerű és jól szervezett: A Multilevel Queue egyszerűen alkalmazható, mivel minden folyamatnak előre meghatározott a helye és az ütemezési szabálya. Az algoritmus egyértelműen szétválasztja a különböző típusú folyamatokat, és egyszerűsíti az ütemezést.
  2. Prioritás alapú kezelés: A rendszer prioritást biztosít a fontosabb vagy interaktívabb folyamatok számára, miközben biztosítja, hogy a háttérfolyamatok is futtathatók legyenek.
  3. Alkalmas többféle alkalmazásra: A különböző sorokba sorolt folyamatok más-más típusú ütemezési algoritmusokat használhatnak, így különböző munkaterhelésekhez is alkalmazkodni tud.

Hátrányok:

  1. Statikus besorolás: Mivel a folyamatok egyszer kerülnek besorolásra, és azután nem változtatható meg a prioritásuk vagy a soruk, az algoritmus nem képes dinamikusan alkalmazkodni a folyamatok igényeihez.
  2. Starvation (Éhezés): A statikus besorolás miatt egyes alacsony prioritású folyamatok sokáig várakozhatnak, mivel mindig a magas prioritású sorokba tartozó folyamatok futnak először. Ez a starvation problémát okozhat.
  3. Nem rugalmas: A rendszer nem képes dinamikusan átrendezni a folyamatokat a különböző sorok között, ami hátrányos lehet, ha egy folyamat viselkedése változik, például egy IO-bound folyamat CPU-bound folyamatra vált.

Összegzés:

A Multilevel Queue Scheduling (Statikus) algoritmus egy egyszerű és hatékony módszer a folyamatok különböző típusú kezelése érdekében, ahol minden sor más-más prioritással rendelkezik. Bár jól alkalmazható olyan helyzetekben, ahol a folyamatok viselkedése előre meghatározható, nem képes dinamikusan alkalmazkodni a változó környezethez, és a starvation problémát is előidézheti.