Forebyggende vs ikke-forebyggende planlegging: Nøkkelforskjeller

Hva er forebyggende planlegging?

Forebyggende planlegging er en planleggingsmetode der oppgavene for det meste tildeles med sine prioriteringer. Noen ganger er det viktig å kjøre en oppgave med høyere prioritet før en annen oppgave med lavere prioritet, selv om oppgaven med lavere prioritet fortsatt kjører.

På den tiden holder oppgaven med lavere prioritet seg en stund og fortsetter når oppgaven med høyere prioritet er ferdig.

I denne opplæringen om operativsystem vil du lære:

  • Hva er forebyggende planlegging?
  • Hva er ikke-forebyggende planlegging?
  • Forskjellen mellom forebyggende og ikke-forebyggende planlegging i OS
  • Fordeler med forebyggende planlegging
  • Fordeler med ikke-forebyggende planlegging
  • Ulemper ved forebyggende planlegging
  • Ulemper ved ikke-forebyggende planlegging
  • Eksempel på ikke-forebyggende planlegging
  • Eksempel på forebyggende planlegging

Hva er ikke-forebyggende planlegging?

I denne typen planleggingsmetode har CPU-en blitt tildelt en bestemt prosess. Prosessen som holder CPUen opptatt vil frigjøre CPU enten ved å bytte kontekst eller avslutte.

Det er den eneste metoden som kan brukes på forskjellige maskinvareplattformer. Det er fordi det ikke trenger spesialisert maskinvare (for eksempel en tidtaker) som forebyggende planlegging.

Ikke-forebyggende planlegging skjer når en prosess frivillig går inn i ventetilstand eller avsluttes.

Forskjellen mellom forebyggende og ikke-forebyggende planlegging i OS

Her er forebyggende og ikke-forebyggende planlegging i OS

Forebyggende planlegging Ikke-forebyggende planlegging
En prosessor kan bli forhindret om å utføre de forskjellige prosessene midt i enhver aktuell prosessutførelse. Når prosessoren starter kjøringen, må den fullføre den før den andre kjøres. Det kan ikke pauses i midten.
CPU-utnyttelse er mer effektiv sammenlignet med ikke-forebyggende planlegging. CPU-utnyttelse er mindre effektiv sammenlignet med forebyggende planlegging.
Ventetid og responstid på forhåndsplanlegging er mindre. Ventetiden og responstiden til den ikke-forebyggende planleggingsmetoden er høyere.
Forebyggende planlegging er prioritert. Prosessen med høyest prioritet er en prosess som for tiden brukes. Når en prosess kommer inn i tilstanden som kjører, blir statusen til prosessen aldri slettet fra planleggeren før den er ferdig med jobben.
Forebyggende planlegging er fleksibel. Ikke-forebyggende planlegging er stiv.
Eksempler: - Kortest gjenværende tid først, Round Robin, etc. Eksempler: First Come First Serve, Shortest Job First, Priority Scheduling, etc.
Forebyggende planleggingsalgoritme kan forhåndsgis, det vil si at prosessen kan planlegges I ikke-forebyggende planleggingsprosess kan ikke planlegges
I denne prosessen er CPU tildelt prosessene for en bestemt tidsperiode. I denne prosessen tildeles CPU prosessen til den avsluttes eller bytter til ventetilstand.
Forebyggende algoritme har overhead å bytte prosessen fra klar tilstand til kjører tilstand og omvendt. Ikke-forebyggende planlegging har ingen slik overhead for å bytte prosessen fra å kjøre til klar tilstand.

Fordeler med forebyggende planlegging

Her er fordeler / fordeler med metode for forhåndsplanlegging:

  • Forebyggende planleggingsmetode er mer robust, tilnærming slik at en prosess ikke kan monopolisere prosessoren
  • Valg av løpende oppgave revurdert etter hvert avbrudd.
  • Hver hendelse forårsaker avbrudd i løpende oppgaver
  • Operativsystemet sørger for at CPU-bruken er den samme ved alle prosesser som kjører.
  • I dette er bruken av CPU den samme, dvs. at alle prosessene som kjører vil bruke CPU likt.
  • Denne planleggingsmetoden improviserer også gjennomsnittlig responstid.
  • Forebyggende planlegging er gunstig når vi bruker den til flerprogrammeringsmiljøet.

Fordeler med ikke-forebyggende planlegging

Her er fordeler / fordeler med ikke-forebyggende planleggingsmetode:

  • Tilbyr lave planleggingsomkostninger
  • Har en tendens til å tilby høy gjennomstrømning
  • Det er konseptuelt veldig enkel metode
  • Mindre beregningsressurser trenger for planlegging

Ulemper ved forebyggende planlegging

Her er ulemper / ulempe med metode for forhåndsplanlegging:

  • Trenger begrensede beregningsressurser for planlegging
  • Det tar høyere tid av planleggeren å avbryte den løpende oppgaven, bytte kontekst og sende den nye innkommende oppgaven.
  • Prosessen med lav prioritet må vente i lengre tid hvis noen prosesser med høy prioritet kommer kontinuerlig.

Ulemper ved ikke-forebyggende planlegging

Her er ulemper / ulempe med ikke-forebyggende planleggingsmetode:

  • Det kan føre til sult, spesielt for disse sanntidsoppgavene
  • Feil kan føre til at maskinen fryser
  • Det kan gjøre sanntid og prioritering av planlegging vanskelig
  • Dårlig responstid for prosesser

Eksempel på ikke-forebyggende planlegging

I ikke-forebyggende SJF-planlegging, når CPU-syklusen er allokert til prosess, holder prosessen den til den når en ventetilstand eller avsluttes.

Tenk på følgende fem prosesser som hver har sin egen unike bursttid og ankomsttid.

Prosesskø Bursttid Ankomsttid
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

Trinn 0) På tidspunktet = 0 ankommer P4 og starter utførelsen.

Trinn 1) Ved tid = 1, kommer prosess P3. Men P4 trenger fortsatt to utførelsesenheter for å fullføre. Det vil fortsette utførelsen.

Trinn 2) Ved tid = 2 ankommer prosess P1 og legges til ventekøen. P4 vil fortsette utførelsen.

Trinn 3) Ved tid = 3 vil prosess P4 fullføre utførelsen. Sprengningstiden for P3 og P1 sammenlignes. Prosess P1 utføres fordi burst-tiden er mindre sammenlignet med P3.

Trinn 4) Ved tid = 4 ankommer prosess P5 og legges til ventekøen. P1 vil fortsette utførelsen.

Trinn 5) Ved tid = 5 ankommer prosess P2 og legges til ventekøen. P1 vil fortsette utførelsen.

Trinn 6) Ved tid = 9 vil prosess P1 fullføre utførelsen. Sprengningstiden til P3, P5 og P2 sammenlignes. Prosess P2 utføres fordi bursttiden er lavest.

Trinn 7) Ved tid = 10 kjører P2, og P3 og P5 står i ventekøen.

Trinn 8) Ved tid = 11 vil prosess P2 fullføre utførelsen. Sprengningstiden for P3 og P5 sammenlignes. Prosess P5 utføres fordi burst-tiden er lavere.

Trinn 9) Ved tid = 15 vil prosess P5 fullføre utførelsen.

Trinn 10) Ved tid = 23 vil prosess P3 fullføre utførelsen.

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

Wait timeP4= 0-0=0P1= 3-2=1P2= 9-5=4P5= 11-4=7P3= 15-1=14Average Waiting Time= 0+1+4+7+14/5 = 26/5 = 5.2

Eksempel på forebyggende planlegging

Tenk på dette etter tre prosesser i Round-robin

Prosesskø Bursttid
P1 4
P2 3
P3 5

Trinn 1) Utførelsen begynner med prosess P1, som har burst-tid 4. Her utføres hver prosess i 2 sekunder. P2 og P3 står fremdeles i ventekøen.

Trinn 2 ) Ved tid = 2 blir P1 lagt til på slutten av køen og P2 begynner å kjøre

Trinn 3) Ved tid = 4 er P2 forhindret og legges til på slutten av køen. P3 begynner å kjøre.

Trinn 4) Ved tid = 6 er P3 forhindret og legges til på slutten av køen. P1 begynner å kjøre.

Trinn 5) Ved tid = 8 har P1 en bursttid på 4. Den har fullført utførelsen. P2 starter utførelse

Trinn 6) P2 har en bursttid på 3. Den har allerede utført i to intervaller. Ved tid = 9 fullfører P2 utførelsen. Deretter starter P3 utførelse til den er fullført.

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

Wait timeP1= 0+ 4= 4P2= 2+4= 6P3= 4+3= 7

HOVEDFORSKJELL

  • I Forebyggende planlegging er CPU tildelt prosessene for en bestemt tidsperiode, og ikke-forebyggende planlegging CPU tildeles prosessen til den avsluttes.
  • I Forebyggende planlegging byttes oppgaver basert på prioritet mens ikke-forebyggende planlegging ingen bytte finner sted.
  • Forebyggende algoritme har overhead å bytte prosessen fra klar tilstand til kjører tilstand, mens ikke-forebyggende planlegging ikke har noen slik overhead for bytte.
  • Forebyggende planlegging er fleksibel mens ikke forebyggende planlegging er stiv.

Interessante artikler...