Vad är prioritetsplanering?
Prioritetsplanering är en metod för schemaläggning av processer som baseras på prioritet. I denna algoritm väljer schemaläggaren de uppgifter som ska fungera enligt prioriteten.
Processer med högre prioritet bör genomföras först, medan jobb med lika prioriteringar utförs på en round-robin eller FCFS-basis. Prioritet beror på minneskrav, tidskrav etc.
I den här handboken för operativsystem lär du dig:
- Vad är prioritetsplanering?
- Typer av prioriterad schemaläggning
- Kännetecken för prioriterad schemaläggning
- Exempel på prioriterad schemaläggning
- Fördelar med prioritering
- Nackdelar med prioritering
Typer av prioriterad schemaläggning
Prioriterad schemaläggning uppdelad i två huvudtyper:
Förebyggande schemaläggning
I förebyggande schemaläggning tilldelas uppgifterna mestadels med sina prioriteringar. Ibland är det viktigt att köra en uppgift med högre prioritet före en annan uppgift med lägre prioritet, även om uppgiften med lägre prioritet fortfarande körs. Uppgiften med lägre prioritet hålls en stund och återupptas när uppgiften med högre prioritet är klar.
Icke-förebyggande schemaläggning
I denna typ av schemaläggningsmetod har CPU tilldelats en specifik process. Processen som håller CPU upptagen släpper CPU antingen genom att byta sammanhang eller avsluta. Det är den enda metoden som kan användas för olika hårdvaruplattformar. Det beror på att det inte behöver någon speciell hårdvara (till exempel en timer) som förebyggande schemaläggning.
Kännetecken för prioriterad schemaläggning
- En CPU-algoritm som schemalägger processer baserat på prioritet.
- Den används i operativsystem för att utföra batchprocesser.
- Om två jobb med samma prioritet är KLAR, fungerar det på FÖRSTA KOM, FÖRSTA SERVERADE.
- I prioritetsschemaläggning tilldelas varje process ett nummer som anger dess prioritetsnivå.
- Sänk antalet, högre är prioriteten.
- I den här typen av schemaläggningsalgoritm, om en nyare process anländer, som har en högre prioritet än den nuvarande processen, förhindras den nuvarande processen.
Exempel på prioriterad schemaläggning
Överväg att följa fem processer P1 till P5. Varje process har sin unika prioritet, burst-tid och ankomsttid.
Bearbeta | Prioritet | Bursttid | Ankomst tid |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 3 | 0 |
P3 | 1 | 7 | 6 |
P4 | 3 | 4 | 11 |
P5 | 2 | 2 | 12 |
Steg 0) Vid tid = 0 anländer process P1 och P2. P1 har högre prioritet än P2. Körningen börjar med process P1, som har sprängningstid 4.
Steg 1) Vid tid = 1 kommer ingen ny process. Körningen fortsätter med P1.
Steg 2) Vid tidpunkt 2 kommer ingen ny process, så du kan fortsätta med P1. P2 står i väntekön.
Steg 3) Vid tidpunkten 3 kommer ingen ny process så att du kan fortsätta med P1. P2-processen fortfarande i väntekön.
Steg 4) Vid tidpunkt 4 har P1 avslutat sin körning. P2 startar körningen.
Steg 5) Vid tid = 5 kommer ingen ny process, så vi fortsätter med P2.
Steg 6) Vid tid = 6 anländer P3. P3 har högre prioritet (1) jämfört med P2 som har prioritet (2). P2 är förhindrad och P3 börjar körningen.
Bearbeta | Prioritet | Bursttid | Ankomst tid |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 1 av 3 väntar | 0 |
P3 | 1 | 7 | 6 |
P4 | 3 | 4 | 11 |
P5 | 2 | 2 | 12 |
Steg 7) Vid tidpunkt 7 kommer ingen ny process, så vi fortsätter med P3. P2 står i väntekön.
Steg 8) Vid tid = 8 kommer ingen ny process, så vi kan fortsätta med P3.
Steg 9) Vid tid = 9 kommer ingen ny process så att vi kan fortsätta med P3.
Steg 10) Vid tidsintervall 10 kommer ingen ny process, så vi fortsätter med P3
Steg 11) Vid tid = 11 kommer P4 med prioritet 4. P3 har högre prioritet, så den fortsätter sin körning.
Bearbeta | Prioritet | Bursttid | Ankomst tid |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 1 av 3 väntar | 0 |
P3 | 1 | 2 av 7 väntar | 6 |
P4 | 3 | 4 | 11 |
P5 | 2 | 2 | 12 |
Steg 12) Vid tid = 12 kommer P5. P3 har högre prioritet, så det fortsätter körningen.
Steg 13) Vid tid = 13 slutför P3 körningen. Vi har P2, P4, P5 i klar kö. P2 och P5 har samma prioritet. Ankomsttid för P2 är före P5. Så P2 startar körningen.
Bearbeta | Prioritet | Bursttid | Ankomst tid |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 1 av 3 väntar | 0 |
P3 | 1 | 7 | 6 |
P4 | 3 | 4 | 11 |
P5 | 2 | 2 | 12 |
Steg 14) Vid tid = 14 har P2-processen avslutat sin körning. P4 och P5 är i vänteläge. P5 har högsta prioritet och startar körning.
Steg 15) Vid tid = 15 fortsätter P5 körningen.
Steg 16) Vid tid = 16 är P5 klar med sin exekvering. P4 är den enda processen kvar. Det startar utförandet.
Steg 17) Vid tid = 20 har P5 slutfört körningen och ingen process är kvar.
Steg 18) Låt oss beräkna den genomsnittliga väntetiden för exemplet ovan.
Väntetid = starttid - ankomsttid + väntetid för nästa 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
Fördelar med prioritering
Här är fördelar / fördelar med att använda prioritetsschemaläggningsmetod:
- Lättanvänd schemaläggningsmetod
- Processer utförs på basis av prioritet så hög prioritet behöver inte vänta länge vilket sparar tid
- Denna metod ger en bra mekanism där den relativa viktigheten för varje process kan definieras exakt.
- Lämplig för applikationer med fluktuerande tid och resurskrav.
Nackdelar med prioritering
Här är nackdelar / nackdelar med prioritetsplanering
- Om systemet så småningom kraschar går alla processer med låg prioritet förlorade.
- Om processer med hög prioritet tar mycket CPU-tid kan processer med lägre prioritet svälta och kommer att skjutas upp på obestämd tid.
- Denna schemaläggningsalgoritm kan låta vissa processer med låg prioritet vänta på obestämd tid.
- En process blockeras när den är redo att köras men måste vänta på processorn eftersom någon annan process kör just nu.
- Om en ny högre prioritetsprocess fortsätter att komma i den färdiga köen, kan processen som är i vänteläge behöva vänta under en lång tid.
Sammanfattning:
- Prioritetsschemaläggning är en metod för schemaläggning av processer som baseras på prioritet. I denna algoritm väljer schemaläggaren de uppgifter som ska fungera enligt prioriteten.
- I prioriterad förebyggande schemaläggning tilldelas uppgifterna mestadels med sina prioriteringar.
- I prioriterad icke förebyggande schemaläggningsmetod har processorn tilldelats en specifik process.
- Processer utförs på basis av prioritet så hög prioritet behöver inte vänta länge vilket sparar tid
- Om processer med hög prioritet tar mycket CPU-tid kan processer med lägre prioritet svälta och kommer att skjutas upp på obestämd tid.