multilevel queue
Megjelenés
Főnév
multilevel queue (tsz. multilevel queues)
- (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:
- 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.).
- 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.
- 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.
- 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 |
- A folyamat, mivel magas prioritású, a legmagasabb szintű sorba kerül (1. szint), és ott FCFS szerint fut.
- B a közepes prioritású, így a második szintre kerül, és Round Robin algoritmussal ütemezik.
- 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:
- 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.
- 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.
- 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:
- 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.
- 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.
- 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.
- multilevel queue - Szótár.net (en-hu)
- multilevel queue - Sztaki (en-hu)
- multilevel queue - Merriam–Webster
- multilevel queue - Cambridge
- multilevel queue - WordNet
- multilevel queue - Яндекс (en-ru)
- multilevel queue - Google (en-hu)
- multilevel queue - Wikidata
- multilevel queue - Wikipédia (angol)