Hva er prioritetsplanlegging?
Prioritetsplanlegging er en metode for planlegging av prosesser som er basert på prioritet. I denne algoritmen velger planleggeren oppgavene som skal fungere i henhold til prioriteten.
Prosessene med høyere prioritet bør utføres først, mens jobber med like prioriteringer utføres på en round-robin eller FCFS-basis. Prioritet avhenger av minnekrav, tidskrav osv.
I denne opplæringen om operativsystem vil du lære:
- Hva er prioritetsplanlegging?
- Typer av prioritert planlegging
- Kjennetegn ved prioritert planlegging
- Eksempel på prioritert planlegging
- Fordeler med prioritert planlegging
- Ulemper med prioritert planlegging
Typer av prioritert planlegging
Prioritetsplanlegging delt inn i to hovedtyper:
Forebyggende planlegging
I Preemptive Scheduling tildeles oppgavene for det meste med deres 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. Oppgaven med lavere prioritet holder seg en stund og fortsetter når oppgaven med høyere prioritet er ferdig.
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 spesiell maskinvare (for eksempel en tidtaker) som forebyggende planlegging.
Kjennetegn ved prioritert planlegging
- En CPU-algoritme som planlegger prosesser basert på prioritet.
- Den brukes i operativsystemer for å utføre batchprosesser.
- Hvis to jobber med samme prioritet er KLAR, fungerer det på FØRSTE KOM, FØRSTESERVEDE basis.
- I prioritetsplanlegging tilordnes et tall til hver prosess som indikerer prioritetsnivået.
- Senk tallet, høyere er prioriteten.
- I denne typen planleggingsalgoritme, hvis en nyere prosess ankommer, som har høyere prioritet enn den nåværende prosessen, blir den nåværende prosessen forhindret.
Eksempel på prioritert planlegging
Vurder å følge fem prosesser P1 til P5. Hver prosess har sin unike prioritet, bursttid og ankomsttid.
Prosess | Prioritet | Bursttid | Ankomsttid |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 3 | 0 |
P3 | 1 | 7 | 6 |
P4 | 3 | 4 | 11 |
P5 | 2 | 2 | 12 |
Trinn 0) På tidspunktet = 0 ankommer prosess P1 og P2. P1 har høyere prioritet enn P2. Utførelsen begynner med prosess P1, som har bristetid 4.
Trinn 1) På tidspunktet = 1, kommer ingen ny prosess. Utførelsen fortsetter med P1.
Trinn 2) På tidspunkt 2 kommer ingen ny prosess, så du kan fortsette med P1. P2 står i ventekø.
Trinn 3) På tidspunkt 3 kommer ingen ny prosess slik at du kan fortsette med P1. P2-prosessen fremdeles i ventekøen.
Trinn 4) På tidspunkt 4 er P1 ferdig med utførelsen. P2 starter utførelse.
Trinn 5) Ved tid = 5 kommer ingen ny prosess, så vi fortsetter med P2.
Trinn 6) Ved tid = 6 kommer P3. P3 har høyere prioritet (1) sammenlignet med P2 som har prioritet (2). P2 er forhåndsbestemt, og P3 begynner utførelsen.
Prosess | Prioritet | Bursttid | Ankomsttid |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 1 av 3 venter | 0 |
P3 | 1 | 7 | 6 |
P4 | 3 | 4 | 11 |
P5 | 2 | 2 | 12 |
Trinn 7) På tidspunkt 7 kommer ingen ny prosess, så vi fortsetter med P3. P2 står i ventekø.
Trinn 8) På tidspunktet = 8 kommer ingen ny prosess, så vi kan fortsette med P3.
Trinn 9) På tidspunktet = 9 kommer ingen ny prosess slik at vi kan fortsette med P3.
Trinn 10) I tidsintervall 10 kommer ingen ny prosess, så vi fortsetter med P3
Trinn 11) Ved tid = 11 kommer P4 med prioritet 4. P3 har høyere prioritet, så den fortsetter sin utførelse.
Prosess | Prioritet | Bursttid | 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 |
Trinn 12) Ved tid = 12 kommer P5. P3 har høyere prioritet, så den fortsetter utførelsen.
Trinn 13) På tidspunktet = 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 | Bursttid | Ankomsttid |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 1 av 3 venter | 0 |
P3 | 1 | 7 | 6 |
P4 | 3 | 4 | 11 |
P5 | 2 | 2 | 12 |
Trinn 14) Ved tid = 14 er P2-prosessen ferdig med utførelsen. P4 og P5 er i ventetilstand. P5 har høyest prioritet og starter utførelse.
Trinn 15) Ved tid = 15 fortsetter P5 utførelsen.
Trinn 16) Ved tid = 16 er P5 ferdig med utførelsen. P4 er den eneste prosessen som er igjen. Det starter henrettelsen.
Trinn 17) På tidspunktet = 20 har P5 fullført kjøringen og ingen prosess er igjen.
Trinn 18) La oss beregne gjennomsnittlig ventetid for eksemplet ovenfor.
Ventetid = starttid - ankomsttid + ventetid for neste serie
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
Fordeler med prioritert planlegging
Her er fordeler / fordeler ved å bruke prioritert planleggingsmetode:
- Enkel å bruke planleggingsmetode
- Prosesser utføres på grunnlag av prioritet, så høy prioritet trenger ikke å 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 svingende tid og ressurskrav.
Ulemper med prioritert planlegging
Her er ulemper med prioritetsplanlegging
- Hvis systemet til slutt krasjer, går alle prosesser med lav prioritet tapt.
- Hvis prosesser med høy prioritet tar mye CPU-tid, kan prosesser med lavere prioritet sulte og blir utsatt på ubestemt tid.
- Denne planleggingsalgoritmen kan la noen prosesser med lav prioritet vente på ubestemt tid.
- En prosess vil bli blokkert når den er klar til å kjøres, men må vente på CPUen fordi en annen prosess kjører for øyeblikket.
- Hvis en ny prosess med høyere prioritet fortsetter å komme i klar kø, kan det hende at prosessen som er i ventetilstand, må vente i lang tid.
Sammendrag:
- Prioritetsplanlegging er en metode for planlegging av prosesser som er basert på prioritet. I denne algoritmen velger planleggeren oppgavene som skal fungere i henhold til prioriteten.
- I Priority Preemptive Scheduling tildeles oppgavene for det meste med sine prioriteringer.
- I Prioritert ikke-forebyggende planleggingsmetode har CPU-en blitt tildelt en bestemt prosess.
- Prosesser utføres på grunnlag av prioritet, så høy prioritet trenger ikke å vente lenge, noe som sparer tid
- Hvis prosesser med høy prioritet tar mye CPU-tid, kan prosesser med lavere prioritet sulte og blir utsatt på ubestemt tid.