Prioriteret planlægningsalgoritme: Forebyggende, ikke-forebyggende EKSEMPEL

Indholdsfortegnelse:

Anonim

Hvad er prioritetsplanlægning?

Prioritetsplanlægning er en metode til planlægning af processer, der er baseret på prioritet. I denne algoritme vælger planlæggeren de opgaver, der skal fungere i henhold til prioriteten.

Processerne med højere prioritet skal udføres først, mens job med lige prioriteter udføres på en round-robin eller FCFS-basis. Prioritet afhænger af hukommelseskrav, tidskrav osv.

I denne operativsystemvejledning lærer du:

  • Hvad er prioritetsplanlægning?
  • Typer af prioriteret planlægning
  • Karakteristika for prioriteret planlægning
  • Eksempel på prioriteret planlægning
  • Fordele ved prioritetsplanlægning
  • Ulemper ved prioritetsplanlægning

Typer af prioriteret planlægning

Prioritetsplanlægning opdelt i to hovedtyper:

Forebyggende planlægning

I præventiv planlægning tildeles opgaverne for det meste med deres prioriteter. Nogle gange er det vigtigt at køre en opgave med en højere prioritet før en anden opgave med lavere prioritet, selvom opgaven med lavere prioritet stadig kører. Opgaven med lavere prioritet holder i nogen tid og genoptages, når opgaven med højere prioritet er færdig med udførelsen.

Ikke-forebyggende planlægning

I denne type planlægningsmetode er CPU'en allokeret til en bestemt proces. Processen, der holder CPU'en optaget, frigiver CPU'en enten ved at skifte kontekst eller afslutte. Det er den eneste metode, der kan bruges til forskellige hardwareplatforme. Det skyldes, at det ikke har brug for særlig hardware (for eksempel en timer) som forebyggende planlægning.

Karakteristika for prioriteret planlægning

  • En CPU-algoritme, der planlægger processer baseret på prioritet.
  • Det bruges i operativsystemer til udførelse af batchprocesser.
  • Hvis to job med samme prioritet er KLAR, fungerer det på FØRSTE KOM, FØRSTE SERVERET basis.
  • I prioritetsplanlægning tildeles et nummer til hver proces, der angiver dets prioritetsniveau.
  • Sænk antallet, højere er prioriteten.
  • I denne type planlægningsalgoritme, hvis der kommer en nyere proces, der har en højere prioritet end den aktuelt kørende proces, forebygges den aktuelt kørende proces.

Eksempel på prioriteret planlægning

Overvej at følge fem processer P1 til P5. Hver proces har sin unikke prioritet, bursttid og ankomsttid.

Behandle Prioritet Bursttid Ankomsttid
P1 1 4 0
P2 2 3 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Trin 0) På tidspunktet = 0 ankommer processen P1 og P2. P1 har højere prioritet end P2. Udførelsen begynder med proces P1, som har burst-tid 4.

Trin 1) På tidspunktet = 1 ankommer ingen ny proces. Udførelsen fortsætter med P1.

Trin 2) På tidspunkt 2 ankommer ingen ny proces, så du kan fortsætte med P1. P2 er i ventekøen.

Trin 3) På tidspunkt 3 ankommer ingen ny proces, så du kan fortsætte med P1. P2-processen er stadig i ventekøen.

Trin 4) På tidspunkt 4 er P1 færdig med sin udførelse. P2 starter udførelse.

Trin 5) På tidspunktet = 5 ankommer ingen ny proces, så vi fortsætter med P2.

Trin 6) På tidspunktet = 6 ankommer P3. P3 har højere prioritet (1) sammenlignet med P2, der har prioritet (2). P2 er forhindret, og P3 begynder sin udførelse.

Behandle Prioritet Bursttid Ankomsttid
P1 1 4 0
P2 2 1 ud af 3 afventer 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Trin 7) På tidspunkt 7 ankommer ingen ny proces, så vi fortsætter med P3. P2 er i ventekøen.

Trin 8) På tidspunktet = 8 ankommer ingen ny proces, så vi kan fortsætte med P3.

Trin 9) På tidspunktet = 9 kommer der ingen ny proces, så vi kan fortsætte med P3.

Trin 10) Ved tidsinterval 10 kommer der ingen ny proces, så vi fortsætter med P3

Trin 11) På tidspunktet = 11 ankommer P4 med prioritet 4. P3 har højere prioritet, så den fortsætter sin udførelse.

Behandle Prioritet Bursttid Ankomsttid
P1 1 4 0
P2 2 1 ud af 3 afventer 0
P3 1 2 ud af 7 afventer 6
P4 3 4 11
P5 2 2 12

Trin 12) På tidspunktet = 12 ankommer P5. P3 har højere prioritet, så den fortsætter udførelsen.

Trin 13) På tidspunktet = 13 fuldfører P3 udførelsen. Vi har P2, P4, P5 i kø. P2 og P5 har samme prioritet. Ankomsttid for P2 er før P5. Så P2 starter udførelse.

Behandle Prioritet Bursttid Ankomsttid
P1 1 4 0
P2 2 1 ud af 3 afventer 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Trin 14) På tidspunktet = 14 er P2-processen færdig med sin udførelse. P4 og P5 er i ventetilstand. P5 har højeste prioritet og starter udførelse.

Trin 15) På tidspunktet = 15 fortsætter P5 udførelsen.

Trin 16) På tidspunktet = 16 er P5 færdig med sin udførelse. P4 er den eneste proces tilbage. Det starter udførelse.

Trin 17) På tidspunktet = 20 har P5 afsluttet udførelsen, og der er ingen proces tilbage.

Trin 18) Lad os beregne den gennemsnitlige ventetid for ovenstående eksempel.

Ventetid = starttid - ankomsttid + ventetid til næste 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

Fordele ved prioritetsplanlægning

Her er fordele / fordele ved at bruge prioritetsplanlægningsmetode:

  • Nem at bruge planlægningsmetode
  • Processer udføres på basis af prioritet, så høj prioritet behøver ikke at vente længe, ​​hvilket sparer tid
  • Denne metode giver en god mekanisme, hvor den relative betydning af hver proces kan defineres nøjagtigt.
  • Velegnet til applikationer med svingende tid og ressourcekrav.

Ulemper ved prioritetsplanlægning

Her er ulemper / ulemper ved prioritetsplanlægning

  • Hvis systemet til sidst går ned, går alle processer med lav prioritet tabt.
  • Hvis processer med høj prioritet tager meget CPU-tid, vil processer med lavere prioritet muligvis sulte og udsættes på ubestemt tid.
  • Denne planlægningsalgoritme kan lade nogle processer med lav prioritet vente på ubestemt tid.
  • En proces blokeres, når den er klar til at køre, men skal vente på CPU'en, fordi en anden proces kører i øjeblikket.
  • Hvis en ny proces med højere prioritet fortsætter med at komme i den klare kø, kan det være nødvendigt, at processen, der er i ventetilstand, skal vente i lang tid.

Resumé:

  • Prioritetsplanlægning er en metode til planlægning af processer, der er baseret på prioritet. I denne algoritme vælger planlæggeren de opgaver, der skal fungere i henhold til prioriteten.
  • I prioriteret præventiv planlægning tildeles opgaverne for det meste med deres prioriteter.
  • I prioriteret ikke-forebyggende planlægningsmetode er CPU'en allokeret til en bestemt proces.
  • Processer udføres på basis af prioritet, så høj prioritet behøver ikke at vente længe, ​​hvilket sparer tid
  • Hvis processer med høj prioritet tager meget CPU-tid, vil processer med lavere prioritet muligvis sulte og udsættes på ubestemt tid.