Wat is prioriteitsplanning?
Prioriteitsplanning is een methode voor het plannen van processen die is gebaseerd op prioriteit. In dit algoritme selecteert de planner de taken die volgens de prioriteit moeten worden uitgevoerd.
De processen met hogere prioriteit moeten eerst worden uitgevoerd, terwijl taken met dezelfde prioriteit op round-robin- of FCFS-basis worden uitgevoerd. Prioriteit hangt af van geheugenvereisten, tijdvereisten, enz.
In deze handleiding voor het besturingssysteem leert u:
- Wat is prioriteitsplanning?
- Soorten prioriteitsplanning
- Kenmerken van prioriteitsplanning
- Voorbeeld van prioriteitsplanning
- Voordelen van prioriteitsplanning
- Nadelen van prioriteitsplanning
Soorten prioriteitsplanning
Prioriteitsplanning onderverdeeld in twee hoofdtypen:
Preventieve planning
In Preemptive Scheduling worden de taken meestal toegewezen met hun prioriteiten. Soms is het belangrijk om een taak met een hogere prioriteit uit te voeren vóór een andere taak met een lagere prioriteit, zelfs als de taak met een lagere prioriteit nog steeds wordt uitgevoerd. De taak met lagere prioriteit blijft enige tijd bestaan en wordt hervat wanneer de taak met hogere prioriteit de uitvoering ervan heeft voltooid.
Niet-preventieve planning
Bij dit type planningsmethode is de CPU toegewezen aan een specifiek proces. Het proces dat de CPU bezig houdt, zal de CPU vrijgeven door van context te wisselen of te beëindigen. Het is de enige methode die voor verschillende hardwareplatforms kan worden gebruikt. Dat komt omdat het geen speciale hardware nodig heeft (bijvoorbeeld een timer) zoals preventieve planning.
Kenmerken van prioriteitsplanning
- Een CPU-algoritme dat processen plant op basis van prioriteit.
- Het werd gebruikt in besturingssystemen voor het uitvoeren van batchprocessen.
- Als twee taken met dezelfde prioriteit GEREED zijn, werkt het op basis van EERST KOMEN, EERST BEDIENEN.
- Bij prioriteitsplanning wordt aan elk proces een nummer toegewezen dat het prioriteitsniveau aangeeft.
- Verlaag het aantal, hoger is de prioriteit.
- Als bij dit type planningsalgoritme een nieuwer proces arriveert, dat een hogere prioriteit heeft dan het momenteel lopende proces, wordt het momenteel lopende proces onderdrukt.
Voorbeeld van prioriteitsplanning
Overweeg om vijf processen P1 tot P5 te volgen. Elk proces heeft zijn unieke prioriteit, burst-tijd en aankomsttijd.
Werkwijze | Prioriteit | Burst-tijd | Aankomsttijd |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 3 | 0 |
P3 | 1 | 7 | 6 |
P4 | 3 | 4 | 11 |
P5 | 2 | 2 | 12 |
Stap 0) Op tijd = 0 komen proces P1 en P2 aan. P1 heeft een hogere prioriteit dan P2. De uitvoering begint met proces P1, dat burst-tijd 4 heeft.
Stap 1) Op tijd = 1 komt er geen nieuw proces aan. De uitvoering gaat verder met P1.
Stap 2) Op tijdstip 2 komt er geen nieuw proces aan, dus u kunt doorgaan met P1. P2 staat in de wachtrij.
Stap 3) Op tijdstip 3 komt er geen nieuw proces aan, dus u kunt doorgaan met P1. P2-proces staat nog steeds in de wachtrij.
Stap 4) Op tijdstip 4 is P1 klaar met zijn uitvoering. P2 begint met de uitvoering.
Stap 5) Op tijd = 5 komt er geen nieuw proces aan, dus gaan we verder met P2.
Stap 6) Op tijd = 6 arriveert P3. P3 heeft een hogere prioriteit (1) vergeleken met P2 met prioriteit (2). P2 wordt overbodig gemaakt en P3 begint met de uitvoering ervan.
Werkwijze | Prioriteit | Burst-tijd | Aankomsttijd |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 1 op de 3 in behandeling | 0 |
P3 | 1 | 7 | 6 |
P4 | 3 | 4 | 11 |
P5 | 2 | 2 | 12 |
Stap 7) Op tijdstip 7 komt er geen nieuw proces aan, dus gaan we verder met P3. P2 staat in de wachtrij.
Stap 8) Op tijd = 8 komt er geen nieuw proces aan, dus kunnen we verder met P3.
Stap 9) Op tijd = 9 komt er geen nieuw proces, dus kunnen we doorgaan met P3.
Stap 10) Met tijdsinterval 10 komt er geen nieuw proces, dus gaan we verder met P3
Stap 11) Op tijd = 11 arriveert P4 met prioriteit 4. P3 heeft een hogere prioriteit, dus gaat het verder met de uitvoering ervan.
Werkwijze | Prioriteit | Burst-tijd | Aankomsttijd |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 1 op de 3 in behandeling | 0 |
P3 | 1 | 2 van de 7 in behandeling | 6 |
P4 | 3 | 4 | 11 |
P5 | 2 | 2 | 12 |
Stap 12) Op tijd = 12 komt P5 aan. P3 heeft een hogere prioriteit, dus het gaat door met de uitvoering.
Stap 13) Op tijd = 13 voltooit P3 de uitvoering. We hebben P2, P4, P5 in de wachtrij. P2 en P5 hebben dezelfde prioriteit. Aankomsttijd van P2 is vóór P5. Dus P2 begint met de uitvoering.
Werkwijze | Prioriteit | Burst-tijd | Aankomsttijd |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 1 op de 3 in behandeling | 0 |
P3 | 1 | 7 | 6 |
P4 | 3 | 4 | 11 |
P5 | 2 | 2 | 12 |
Stap 14) Op tijd = 14 is het P2-proces voltooid. P4 en P5 bevinden zich in de wachttoestand. P5 heeft de hoogste prioriteit en begint met de uitvoering.
Stap 15) Op tijd = 15 gaat P5 door met de uitvoering.
Stap 16) Op tijd = 16 is P5 klaar met zijn uitvoering. P4 is het enige proces dat nog over is. Het begint met de uitvoering.
Stap 17) Op tijd = 20 heeft P5 de uitvoering voltooid en is er geen proces meer over.
Stap 18) Laten we de gemiddelde wachttijd voor het bovenstaande voorbeeld berekenen.
Wachttijd = starttijd - aankomsttijd + wachttijd voor de volgende burst
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
Voordelen van prioriteitsplanning
Hier zijn de voordelen / voordelen van het gebruik van de prioriteitsplanningsmethode:
- Eenvoudig te gebruiken planningsmethode
- Processen worden uitgevoerd op basis van prioriteit waardoor hoge prioriteit niet lang hoeft te wachten wat tijd bespaart
- Deze methode biedt een goed mechanisme waarbij het relatieve belang van elk proces nauwkeurig kan worden gedefinieerd.
- Geschikt voor toepassingen met wisselende tijd- en middelenvereisten.
Nadelen van prioriteitsplanning
Hier zijn de nadelen / nadelen van prioriteitsplanning
- Als het systeem uiteindelijk crasht, gaan alle processen met lage prioriteit verloren.
- Als processen met hoge prioriteit veel CPU-tijd kosten, kunnen de processen met lagere prioriteit verhongeren en voor onbepaalde tijd worden uitgesteld.
- Dit planningsalgoritme kan sommige processen met lage prioriteit voor onbepaalde tijd laten wachten.
- Een proces wordt geblokkeerd wanneer het klaar is om te worden uitgevoerd, maar moet wachten op de CPU omdat er momenteel een ander proces wordt uitgevoerd.
- Als een nieuw proces met een hogere prioriteit in de wachtrij blijft komen, moet het proces dat zich in de wachtstand bevindt mogelijk lang wachten.
Overzicht:
- Prioriteitsplanning is een methode voor het plannen van processen die is gebaseerd op prioriteit. In dit algoritme selecteert de planner de taken die volgens de prioriteit moeten worden uitgevoerd.
- Bij Priority Preemptive Scheduling worden de taken meestal toegewezen met hun prioriteiten.
- In de niet-preventieve planningsmethode met prioriteit is de CPU toegewezen aan een specifiek proces.
- Processen worden uitgevoerd op basis van prioriteit waardoor hoge prioriteit niet lang hoeft te wachten wat tijd bespaart
- Als processen met hoge prioriteit veel CPU-tijd kosten, kunnen de processen met lagere prioriteit verhongeren en voor onbepaalde tijd worden uitgesteld.