Algoritme for prioriteringsplanlegging: Forebyggende, ikke-forebyggende EKSEMPEL

Hva er prioritert planlegging?

Prioritetsplanlegging er en metode for å planlegge prosesser som er basert på prioritering. I denne algoritmen velger planleggeren oppgavene som skal fungere i henhold til prioritet.

Prosessene med høyere prioritet bør utføres først, mens jobber med lik prioritering utføres på rundkjørings- eller FCFS-basis. Prioritet avhenger av minnekrav, tidskrav osv.

Typer prioritert planlegging

Prioritetsplanlegging delt inn i to hovedtyper:

Forebyggende planlegging

I Preemptive Scheduling er oppgavene stort sett tildelt deres prioriteringer. Noen ganger er det viktig å kjøre en oppgave med høyere prioritet før en annen lavere prioritet oppgave, selv om den lavere prioriterte oppgaven fortsatt kjører. Den lavere prioriterte oppgaven varer i en stund og fortsetter når den høyere prioriterte oppgaven er ferdig.

Ikke-forebyggende planlegging

I denne typen planleggingsmetode har CPU-en blitt allokert til en spesifikk prosess. Prosessen som holder CPU-en opptatt, vil frigjøre CPU-en enten ved å bytte kontekst eller avslutte. Det er den eneste metoden som kan brukes for ulike maskinvareplattformer. Det er fordi det ikke trenger spesiell maskinvare (for eksempel en tidtaker) som forebyggende planlegging.

Kjennetegn ved prioriteringsplanlegging

  • En CPU-algoritme som planlegger prosesser basert på prioritet.
  • Den brukes i Operasystemer for å utføre batch-prosesser.
  • Hvis to jobber med samme prioritet er KLAR, fungerer det på en FØRSTEMANN TIL MØLLA basis.
  • Ved prioriteringsplanlegging tildeles et nummer til hver prosess som angir prioritetsnivået.
  • Senk tallet, høyere er prioritet.
  • I denne typen planleggingsalgoritme, hvis en nyere prosess kommer, som har en høyere prioritet enn prosessen som kjører for øyeblikket, blir prosessen som kjører for øyeblikket, forhåndsaktivert.

Eksempel på prioritert planlegging

Vurder å følge fem prosesser P1 til P5. Hver prosess har sin unike prioritet, eksplosjonstid og ankomsttid.

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

Trinn 0) Ved tid=0 kommer prosess P1 og P2. P1 har høyere prioritet enn P2. Utførelsen begynner med prosess P1, som har bruddtid 4.

Prioritetsplanlegging

Trinn 1) Ved tid=1 kommer ingen ny prosess. Utførelsen fortsetter med P1.

Prioritetsplanlegging

Trinn 2) Ved tidspunkt 2 kommer ingen ny prosess, så du kan fortsette med P1. P2 står i ventekø.

Prioritetsplanlegging

Trinn 3) Ved tidspunkt 3 kommer ingen ny prosess så du kan fortsette med P1. P2-prosessen er fortsatt i ventekø.

Prioritetsplanlegging

Trinn 4) På tid 4 har P1 avsluttet sin utførelse. P2 starter utførelse.

Prioritetsplanlegging

Trinn 5) Ved tid= 5 kommer ingen ny prosess, så vi fortsetter med P2.

Prioritetsplanlegging

Trinn 6) Klokken=6 kommer P3. P3 har høyere prioritet (1) sammenlignet med at P2 har prioritet (2). P2 er forhåndsaktivert, og P3 begynner utførelsen.

Prosess Prioritet Sprengtid Ankomsttid
P1 1 4 0
P2 2 1 av 3 venter 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Prioritetsplanlegging

Trinn 7) Kl tid 7 kommer ingen ny prosess, så vi fortsetter med P3. P2 står i ventekø.

Prioritetsplanlegging

Trinn 8) Ved tid= 8 kommer ingen ny prosess, så vi kan fortsette med P3.

Prioritetsplanlegging

Trinn 9) Ved tid = 9 kommer ingen ny prosess så vi kan fortsette med P3.

Prioritetsplanlegging

Trinn 10) Ved tidsintervall 10 kommer ingen ny prosess, så vi fortsetter med P3

Prioritetsplanlegging

Trinn 11) Ved tid=11 kommer P4 med prioritet 4. P3 har høyere prioritet, så den fortsetter utføringen.

Prosess Prioritet Sprengtid Ankomsttid
P1 1 4 0
P2 2 1 av 3 venter 0
P3 1 2 av 7 venter 6
P4 3 4 11
P5 2 2 12

Prioritetsplanlegging

Trinn 12) Klokken=12 kommer P5. P3 har høyere prioritet, så den fortsetter utførelse.

Prioritetsplanlegging

Trinn 13) Ved tid=13 fullfører P3 utførelsen. Vi har P2,P4,P5 i klar kø. P2 og P5 har lik prioritet. Ankomsttid for P2 er før P5. Så P2 starter utførelse.

Prosess Prioritet Sprengtid Ankomsttid
P1 1 4 0
P2 2 1 av 3 venter 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Prioritetsplanlegging

Trinn 14) Ved tiden =14 har P2-prosessen fullført sin utførelse. P4 og P5 er i ventetilstand. P5 har høyeste prioritet og starter utførelse.

Prioritetsplanlegging

Trinn 15) Ved tiden =15 fortsetter P5 kjøringen.

Prioritetsplanlegging

Trinn 16) Ved tid = 16 er P5 ferdig med utførelse. P4 er den eneste prosessen som gjenstår. Den starter utførelse.

Prioritetsplanlegging

Trinn 17) Ved tiden =20 har P5 fullført utførelse og ingen prosess er igjen.

Prioritetsplanlegging

Trinn 18) La oss beregne gjennomsnittlig ventetid for eksemplet ovenfor.

Ventetid = starttidspunkt – ankomsttid + ventetid for neste utbrudd

P1 = o - o = o
P2 =4 - o + 7 =11	
P3= 6-6=0
P4= 16-11=5
Average Waiting time = (0+11+0+5+2)/5 = 18/5= 3.6

Fordeler med prioritert planlegging

Her er fordeler/fordeler med å bruke prioritert planleggingsmetode:

  • Enkel å bruke planleggingsmetode
  • Prosesser utføres på grunnlag av prioritet slik at høy prioritet ikke trenger å vente lenge, noe som sparer tid
  • Denne metoden gir en god mekanisme der den relative viktigheten av hver prosess kan defineres nøyaktig.
  • Egnet for applikasjoner med varierende tids- og ressursbehov.

Ulemper med prioritert planlegging

Her er ulemper/ulemper med prioriteringsplanlegging

  • Hvis systemet til slutt krasjer, går alle lavprioriterte prosesser tapt.
  • Hvis prosesser med høy prioritet tar mye CPU-tid, kan de lavere prioriterte prosessene sulte og vil bli utsatt på ubestemt tid.
  • Denne planleggingsalgoritmen kan la noen lavprioriterte prosesser vente på ubestemt tid.
  • En prosess vil bli blokkert når den er klar til å kjøre, men må vente på CPU fordi en annen prosess kjører for øyeblikket.
  • Hvis en ny prosess med høyere prioritet fortsetter å komme i klarkøen, kan det hende at prosessen som er i ventetilstand må vente i lang tid.

Sammendrag

  • Prioritetsplanlegging er en metode for å planlegge prosesser som er basert på prioritet. I denne algoritmen velger planleggeren oppgavene som skal fungere i henhold til prioritet.
  • I prioritert forebyggende planlegging er oppgavene stort sett tildelt deres prioriteringer.
  • I Priority Non-preemptive scheduling-metoden har CPU-en blitt allokert til en spesifikk prosess.
  • Prosesser utføres på grunnlag av prioritet slik at høy prioritet ikke trenger å vente lenge, noe som sparer tid
  • Hvis prosesser med høy prioritet tar mye CPU-tid, kan de lavere prioriterte prosessene sulte og vil bli utsatt på ubestemt tid.

Oppsummer dette innlegget med: