Prioritetsplanleggingsalgoritme: Preemptiv, ikke-preemptiv
โก Smart oppsummering
Prioritetsplanlegging er en CPU-planleggingsmetode som velger prosesser basert pรฅ prioritet, og kjรธrer oppgaver med hรธyere prioritet fรธrst. Den kan vรฆre preemptiv eller ikke-preemptiv, og prosesser med lik prioritet hรฅndteres etter fรธrst til mรธlla-prinsippet eller etter runde-robin-prinsippet.

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
Prioritert planlegging er 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 er CPU-en allokert til en spesifikk prosess. Prosessen som holder CPU-en opptatt, frigjรธr CPU-en enten ved รฅ bytte kontekst eller avslutte. Det er den eneste metoden som kan brukes for ulike maskinvareplattformer. Det er fordi den ikke trenger spesiell maskinvare (for eksempel en timer) slik som preemptiv planlegging.
Kjennetegn ved prioriteringsplanlegging
- En CPU-algoritme som planlegger prosesser basert pรฅ prioritet.
- Det er brukt 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.
- Jo lavere tallet er, desto hรธyere er prioriteten.
- I denne typen planleggingsalgoritme, hvis en nyere prosess ankommer som har hรธyere prioritet enn den prosessen som kjรธrer for รธyeblikket, blir den prosessen som kjรธrer foregrepet.
Eksempel pรฅ prioritert planlegging
Tenk pรฅ de fรธlgende fem prosessene P1 til P5. Hver prosess har sin unike prioritet, burst-tid 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 ankommer prosess P1 og P2. P1 har hรธyere prioritet enn P2. Utfรธrelsen begynner med prosess P1, som har burst-tid 4.
Trinn 1) Ved tid = 1, ankommer ingen ny prosess. Utfรธrelsen fortsetter med P1.
Trinn 2) Ved tidspunkt 2 kommer ingen ny prosess, sรฅ du kan fortsette med P1. P2 stรฅr i ventekรธ.
Trinn 3) Ved tidspunkt 3 ankommer ingen ny prosess, sรฅ du kan fortsette med P1. P2-prosessen stรฅr fortsatt i ventekรธen.
Trinn 4) Pรฅ tid 4 har P1 avsluttet sin utfรธrelse. P2 starter utfรธrelse.
Trinn 5) Ved tid = 5 ankommer ingen ny prosess, sรฅ vi fortsetter med P2.
Trinn 6) Ved tid = 6 ankommer P3. P3 har hรธyere prioritet (1) sammenlignet med P2 som har prioritet (2). P2 blir foregrepet, og P3 begynner sin 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 |
Trinn 7) Ved tidspunkt 7 ankommer ingen ny prosess, sรฅ vi fortsetter med P3. P2 stรฅr i ventekรธen.
Trinn 8) Ved tid = 8 ankommer ingen ny prosess, sรฅ vi kan fortsette med P3.
Trinn 9) Ved tid = 9 kommer ingen ny prosess, sรฅ vi kan fortsette med P3.
Trinn 10) Ved tidsintervall 10 kommer ingen ny prosess, sรฅ vi fortsetter med P3.
Trinn 11) Ved tid = 11 ankommer P4 med prioritet 4. P3 har hรธyere prioritet, sรฅ den fortsetter utfรธrelsen.
| 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 |
Trinn 12) Ved tid = 12 ankommer P5. P3 har hรธyere prioritet, sรฅ den fortsetter utfรธrelsen.
Trinn 13) Ved tid = 13 fullfรธrer P3 utfรธrelsen. Vi har P2, P4 og P5 i klarkรธen. P2 og P5 har lik prioritet. Ankomsttiden til P2 er fรธr P5, sรฅ P2 starter 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 |
Trinn 14) Ved tid = 14 er P2-prosessen ferdig med utfรธrelse. 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รธrelse. P4 er den eneste prosessen som er igjen. Den starter utfรธrelse.
Trinn 17) Ved tidspunktet = 20 har P4 fullfรธrt utfรธrelsen, og ingen prosess er igjen.
Trinn 18) La oss beregne den gjennomsnittlige ventetiden for eksemplet ovenfor.
Ventetid = starttidspunkt โ ankomsttid + ventetid for neste utbrudd
P1 = 0 - 0 = 0 P2 = 4 - 0 + 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 fordelene/profesjonene ved รฅ bruke prioritert planleggingsmetoden:
- 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 betydningen av hver prosess kan defineres presist.
- Egnet for applikasjoner med varierende tids- og ressursbehov.
Ulemper med prioritert planlegging
Her er ulempene/ulempene med prioritert planlegging:
- 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.


















