Preventivno in nepreventivno razporejanje: ključne razlike

Kazalo:

Anonim

Kaj je preventivno načrtovanje?

Predhodno razporejanje je metoda razporejanja, pri kateri so naloge večinoma dodeljene s prednostnimi nalogami. Včasih je pomembno, da nalogo z višjo prioriteto zaženete pred drugo nalogo z nižjo prioriteto, tudi če se naloga z nižjo prioriteto še vedno izvaja.

Takrat ima naloga z nižjo prioriteto nekaj časa in se nadaljuje, ko naloga z višjo prioriteto zaključi svoje izvajanje.

V tej vadnici o operacijskem sistemu boste izvedeli:

  • Kaj je preventivno načrtovanje?
  • Kaj je predhodno načrtovanje?
  • Razlika med preventivnim in nepreventivnim načrtovanjem v OS
  • Prednosti preventivnega razporejanja
  • Prednosti predhodnega načrtovanja
  • Slabosti preventivnega načrtovanja
  • Slabosti predhodnega načrtovanja
  • Primer predhodnega načrtovanja
  • Primer prednostnega razporejanja

Kaj je predhodno načrtovanje?

Pri tej vrsti metode razporejanja je bil CPU dodeljen določenemu procesu. Postopek, ki CPU zaseda, sprosti CPU bodisi s preklopom konteksta bodisi z zaključkom.

To je edina metoda, ki jo je mogoče uporabiti za različne platforme strojne opreme. To pa zato, ker ne potrebuje posebne strojne opreme (na primer časovnika), kot je predhodno načrtovanje.

Nepreventivno razporejanje se zgodi, ko postopek prostovoljno preide v stanje čakanja ali se konča.

Razlika med preventivnim in nepreventivnim načrtovanjem v OS

Tu so prednostno in nepreventivno razporejanje v OS

Prednostno razporejanje Nepreventivno razporejanje
Procesor je mogoče preprečiti za izvajanje različnih procesov sredi katerega koli trenutnega izvajanja procesa. Ko procesor začne izvajati, ga mora dokončati, preden izvrši drugega. Na sredini ni mogoče ustaviti.
Uporaba procesorja je v primerjavi z nepredvidljivim načrtovanjem učinkovitejša. Uporaba procesorja je manj učinkovita v primerjavi s preventivnim razporejanjem.
Čakalni in odzivni čas preventivnega razporejanja je krajši. Čakalni in odzivni čas metode predhodnega načrtovanja je daljši.
Prednostno razporejanje ima prednost. Najpomembnejši postopek je postopek, ki se trenutno uporablja. Ko kateri koli proces preide v stanje izvajanja, se stanje tega procesa nikoli ne izbriše iz načrtovalca, dokler ne konča svojega dela.
Preventivno razporejanje je prilagodljivo. Nepreventivno razporejanje je togo.
Primeri: - Najkrajši preostali čas najprej, Round Robin itd. Primeri: Najprej pride prvi, najkrajša zaposlitev prva, prednostno razporejanje itd.
Predhodni algoritem razporejanja je mogoče predhodno uporabiti, da je postopek mogoče načrtovati V postopku predhodnega načrtovanja ni mogoče načrtovati
V tem procesu se CPU dodeli procesom za določeno časovno obdobje. V tem procesu se CPU dodeli procesu, dokler se ne konča ali preklopi v čakalno stanje.
Preventivni algoritem ima glavno funkcijo pri preklopu procesa iz pripravljenega stanja v delujoče in obratno. Nepreventivno razporejanje nima takšnih režijskih stroškov za preklop procesa iz zagona v stanje pripravljenosti.

Prednosti preventivnega razporejanja

Tu so prednosti / prednosti metode preventivnega načrtovanja:

  • Metoda predhodnega razporejanja je bolj robustna, zato en proces ne more monopolizirati CPU
  • Izbira tekočega opravila se po vsaki prekinitvi premisli.
  • Vsak dogodek povzroči prekinitev izvajanja nalog
  • OS zagotavlja, da je uporaba procesorja enaka pri vseh zagnanih procesih.
  • Pri tem je uporaba CPU enaka, tj. Vsi tekoči procesi bodo CPU uporabljali enako.
  • Ta metoda razporejanja improvizira tudi povprečni odzivni čas.
  • Preventivno načrtovanje je koristno, če ga uporabljamo za večprogramsko okolje.

Prednosti predhodnega načrtovanja

Tu so prednosti / prednosti metode brez predhodnega načrtovanja:

  • Ponuja režijske stroške z nizkim urnikom
  • Ponuja veliko pretovora
  • To je konceptualno zelo preprosta metoda
  • Za razporejanje potrebujete manj računalniških virov

Slabosti preventivnega načrtovanja

Tu so slabosti / pomanjkljivosti metode preventivnega razporejanja:

  • Za razporejanje potrebujete omejene računske vire
  • Načrtovalnik potrebuje več časa, da zadrži zagnano nalogo, preklopi kontekst in odpre novo dohodno nalogo.
  • Proces z nizko prioriteto mora počakati dlje časa, če nekateri procesi z visoko prioriteto prihajajo neprekinjeno.

Slabosti predhodnega načrtovanja

Tu so še slabosti / pomanjkljivosti metode neizčrpnega razporejanja:

  • Še posebej pri tistih opravilih v realnem času lahko povzroči lakoto
  • Zaradi napak lahko stroj zamrzne
  • To lahko oteži razporejanje v realnem času in prioritet
  • Slab odzivni čas za procese

Primer predhodnega načrtovanja

Pri nepredvidljivem razporejanju SJF, ko je cikel procesorja dodeljen za obdelavo, ga postopek zadrži, dokler ne pride v čakalno stanje ali se konča.

Razmislite o naslednjih petih procesih, ki imajo vsak svoj edinstveni čas porušitve in čas prihoda.

Čakalna vrsta procesa Čas porušitve Čas prihoda
P1 6. 2.
P2 2. 5.
P3 8. 1.
P4 3. 0
P5 4. 4.

Korak 0) Ob času = 0 prispe P4 in začne izvajanje.

Korak 1) Ob času = 1 prispe proces P3. Toda P4 še vedno potrebuje dve izvršilni enoti. Izvedba se bo nadaljevala.

Korak 2) Ob času = 2 prispe postopek P1 in se doda v čakalno vrsto. P4 bo nadaljeval izvajanje.

Korak 3) Ob času = 3 bo postopek P4 zaključil svoje izvajanje. Primerja se čas porušitve P3 in P1. Proces P1 se izvede, ker je njegov čas porušitve krajši v primerjavi s P3.

Korak 4) Ob času = 4 prispe postopek P5 in se doda v čakalno vrsto. P1 bo nadaljeval izvajanje.

5. korak) Ob času = 5 prispe proces P2 in se doda v čakalno vrsto. P1 bo nadaljeval izvajanje.

Korak 6) V času = 9 bo postopek P1 zaključil svoje izvajanje. Primerja se čas porušitve P3, P5 in P2. Proces P2 se izvede, ker je njegov čas porušitve najnižji.

Korak 7) V času = 10 se izvede P2, P3 in P5 pa sta v čakalni vrsti.

Korak 8) V času = 11 bo postopek P2 zaključil svoje izvajanje. Primerja se čas razpoka P3 in P5. Proces P5 se izvede, ker je njegov čas porušitve krajši.

Korak 9) Ob času = 15 bo postopek P5 zaključil svoje izvajanje.

Korak 10) V času = 23 bo postopek P3 zaključil svoje izvajanje.

Korak 11) Izračunajmo povprečno čakalno dobo za zgornji primer.

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

Primer prednostnega razporejanja

Razmislite o naslednjih treh postopkih v Round-robin

Čakalna vrsta procesa Čas porušitve
P1 4.
P2 3.
P3 5.

Korak 1) Izvedba se začne s postopkom P1, ki ima čas razpoka 4. Tu se vsak postopek izvede 2 sekundi. P2 in P3 sta še vedno v čakalni vrsti.

Korak 2 ) Ob času = 2 se P1 doda na konec čakalne vrste in P2 začne izvajati

Korak 3) V času = 4 je P2 izvzet in dodan na koncu čakalne vrste. P3 se začne izvajati.

Korak 4) V času = 6 je P3 izvzet in dodan na koncu čakalne vrste. P1 se začne izvajati.

Korak 5) V času = 8 ima P1 čas porušitve 4. Dokončal je izvedbo. P2 začne izvajati

Korak 6) P2 ima čas porušitve 3. Izvedel je že 2 intervala. V času = 9 P2 dokonča izvedbo. Nato P3 začne izvajati, dokler se ne zaključi.

Korak 7) Izračunajmo povprečno čakalno dobo za zgornji primer.

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

KLJUČNE RAZLIKE

  • Pri preventivnem načrtovanju je CPU procesom dodeljen za določeno časovno obdobje, CPP brez predhodnega načrtovanja pa je dodeljen procesu, dokler se ne konča.
  • Pri preventivnem načrtovanju se opravila preklapljajo glede na prednost, medtem ko nepredvidljivo načrtovanje ne preklopi.
  • Preventivni algoritem ima režijske stroške preklopa procesa iz pripravljenega stanja v stanje, ki se izvaja, medtem ko Non-Preemptive Scheduling nima takšnih režijskih stroškov preklopa.
  • Predhodno razporejanje je prilagodljivo, medtem ko je neizbežno razporejanje togo.