Mi az a prioritási ütemezés?
A Prioritás ütemezése a folyamatok ütemezésének olyan módszere, amely prioritáson alapul. Ebben az algoritmusban az ütemező kiválasztja a feladatokat a prioritás szerint.
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 függ a memóriaigénytől, az időigénytől stb.
Ebben az operációs rendszer bemutatóban megtudhatja:
- Mi az a prioritásos ütemezés?
- A prioritási ütemezés típusai
- A prioritási ütemezés jellemzői
- Példa a prioritási ütemezésre
- A prioritás ütemezésének előnyei
- A prioritás ütemezésének hátrányai
A prioritási ütemezés típusai
A prioritási ütemezés két fő típusra osztható:
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 elfoglaltként tartja fenn, felszabadítja a CPU-t kontextus vá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.
A prioritási ütemezés jellemzői
- CPU algoritmus, amely a folyamatokat prioritás alapján ütemezi.
- Az operációs rendszerekben kötegelt folyamatok végrehajtására használták.
- Ha két azonos prioritású feladat KÉSZ, akkor az ELSŐ JÖVÉS, ELSŐ SZOLGÁLTATÁS alapján működik.
- A prioritás ütemezésében minden folyamathoz egy számot rendelünk, amely jelzi annak prioritási szintjét.
- Alacsonyabb a szám, nagyobb a prioritás.
- Ebben a típusú ütemezési algoritmusban, ha érkezik egy újabb folyamat, amelynek nagyobb prioritása van, mint a jelenleg futó folyamatnak, akkor a jelenleg futó folyamat meg van előzve.
Példa a prioritási ütemezésre
Fontolja meg a P1 – P5 öt folyamat követését. Minden folyamatnak megvan a maga prioritása, a sorozatfelvétel ideje és az érkezési ideje.
Folyamat | Kiemelten fontos | Burst time | Érkezési idő |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 3 | 0 |
P3 | 1 | 7 | 6. |
P4 | 3 | 4 | 11. |
P5 | 2 | 2 | 12. |
0. lépés: = 0 időpontban megérkezik a P1 és P2 folyamat. A P1 prioritása magasabb, mint a P2. A végrehajtás a P1 folyamattal kezdődik, amelynek 4-es tört ideje van.
1. lépés: Az időpontban = 1 nem érkezik új folyamat. A végrehajtás P1-vel folytatódik.
2. lépés: A 2. időpontban nem érkezik új folyamat, így folytathatja a P1-et. A P2 várakozási sorban van.
3. lépés: A 3. időpontban nem érkezik új folyamat, így folytathatja a P1 használatát. A P2 folyamat még várakozási sorban van.
4. lépés: A 4. pillanatban a P1 befejezte a végrehajtást. A P2 megkezdi a végrehajtást.
5. lépés: Az = 5 időpontban nem érkezik új folyamat, ezért folytatjuk a P2-vel.
6. lépés) A = 6 időpontban P3 érkezik. A P3 magasabb prioritású (1), mint a (2) prioritású P2. A P2 meg van előzve, és a P3 megkezdi a végrehajtását.
Folyamat | Kiemelten fontos | Burst time | Érkezési idő |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 1 a 3 függőben van | 0 |
P3 | 1 | 7 | 6. |
P4 | 3 | 4 | 11. |
P5 | 2 | 2 | 12. |
7. lépés) A 7. időpontban nem érkezik új folyamat, ezért folytatjuk a P3-mal. A P2 várakozási sorban van.
8. lépés: A = 8 időpontban nem érkezik új folyamat, így folytathatjuk a P3-val.
9. lépés: A = 9 időpontban nem jön új folyamat, így folytathatjuk a P3-at.
10. lépés: A 10. időintervallumban nem jön új folyamat, ezért folytatjuk a P3-mal
11. lépés: A = 11 időpontban a P4 a 4. prioritással érkezik. A P3 magasabb prioritással rendelkezik, így folytatja a végrehajtást.
Folyamat | Kiemelten fontos | Burst time | Érkezési idő |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 1 a 3 függőben van | 0 |
P3 | 1 | 2 a 7-ből függőben | 6. |
P4 | 3 | 4 | 11. |
P5 | 2 | 2 | 12. |
12. lépés) Időben = 12, megérkezik a P5. A P3 magasabb prioritással rendelkezik, ezért folytatja a végrehajtást.
13. lépés: A 13-as időpontban a P3 befejezi a végrehajtást. A P2, P4, P5 készenléti sorban van. P2 és P5 prioritása azonos. A P2 érkezési ideje P5 előtt van. Tehát a P2 elindítja a végrehajtást.
Folyamat | Kiemelten fontos | Burst time | Érkezési idő |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 1 a 3 függőben van | 0 |
P3 | 1 | 7 | 6. |
P4 | 3 | 4 | 11. |
P5 | 2 | 2 | 12. |
14. lépés: A = 14 időpontban a P2 folyamat befejezte a végrehajtását. P4 és P5 várakozási állapotban vannak. A P5 rendelkezik a legmagasabb prioritással, és elkezdi a végrehajtást.
15. lépés: A = 15 időpontban a P5 folytatja a végrehajtást.
16. lépés: A 16 = időpontban a P5 befejeződik a végrehajtásával. A P4 az egyetlen folyamat maradt. Megkezdi a végrehajtást.
17. lépés) A = 20 időpontban a P5 befejezte a végrehajtást, és nem maradt folyamat.
18. lépés) Számítsuk ki a fenti példa átlagos várakozási idejét.
Várakozási idő = kezdési idő - érkezési idő + várakozási idő a következő sorozatra
P1 = o - o = oP2 =4 - o + 7 =11P3= 6-6=0P4= 16-11=5Average Waiting time = (0+11+0+5+2)/5 = 18/5= 3.6
A prioritás ütemezésének előnyei
A prioritási ütemezési módszer használatának előnyei / előnyei:
- Könnyen használható ütemezési módszer
- A folyamatokat prioritás alapján hajtják végre, ezért a magas prioritásnak nem kell sokáig várnia, ami időt takarít meg
- Ez a módszer jó mechanizmust biztosít, ahol az egyes folyamatok relatív fontosságát pontosan meg lehet határozni.
- Alkalmas változó idő- és erőforrásigényű alkalmazásokhoz.
A prioritás ütemezésének hátrányai
Itt vannak az elsőbbségi ütemezés hátrányai / hátrányai
- Ha a rendszer végül összeomlik, minden alacsony prioritású folyamat elveszik.
- Ha a magas prioritású folyamatok sok CPU-időt igényelnek, akkor az alacsonyabb prioritású folyamatok éhezhetnek és határozatlan időre elhalasztódnak.
- Ez az ütemezési algoritmus néhány alacsony prioritású folyamatot korlátlan ideig várakozásra hagyhat.
- Egy folyamat le lesz tiltva, ha készen áll a futtatásra, de várnia kell a CPU-ra, mert jelenleg más folyamat fut.
- Ha egy új, magasabb prioritású folyamat folyamatosan érkezik a készenléti sorba, akkor a várakozási állapotban lévő folyamatnak hosszú ideig várnia kell.
Összegzés:
- Az elsőbbségi ütemezés a folyamatok ütemezésének olyan módszere, amely prioritáson alapul. Ebben az algoritmusban az ütemező kiválasztja a feladatokat a prioritás szerint.
- A Prioritást megelőző ütemezés során a feladatokat többnyire prioritásaikkal osztják ki.
- A Priority Non-preemptive ütemezési módszerben a CPU-t egy meghatározott folyamathoz rendelték hozzá.
- A folyamatokat prioritás alapján hajtják végre, ezért a magas prioritásnak nem kell sokáig várnia, ami időt takarít meg
- Ha a magas prioritású folyamatok sok CPU-időt igényelnek, akkor az alacsonyabb prioritású folyamatok éhezhetnek és határozatlan időre elhalasztódnak.