Algoritem prednostnega razporejanja: preventivni, nepreventivni PRIMER

Kazalo:

Anonim

Kaj je prednostno razporejanje?

Prednostno razporejanje je metoda razporejanja procesov, ki temelji na prednostnih nalogah. V tem algoritmu razporejevalnik izbere naloge, ki bodo delovale po prioriteti.

Najprej je treba izvesti procese z višjo prednostjo, medtem ko se delovna mesta z enakimi prednostnimi nalogami izvajajo po principu okrogle mize ali FCFS. Prednost je odvisna od potreb po pomnilniku, časa itd.

V tej vadnici o operacijskem sistemu boste izvedeli:

  • Kaj je prednostno razporejanje?
  • Vrste prednostnega razporejanja
  • Značilnosti razporejanja prednostnih nalog
  • Primer prednostnega razporejanja
  • Prednosti razporejanja prednostnih nalog
  • Slabosti prednostnega razporejanja

Vrste prednostnega razporejanja

Prednostno razporejanje je razdeljeno na dve glavni vrsti:

Prednostno razporejanje

Pri preventivnem načrtovanju 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. Naloga z nižjo prioriteto ostane nekaj časa in se nadaljuje, ko naloga z višjo prioriteto zaključi svoje izvajanje.

Nepreventivno razporejanje

Pri tej vrsti metode razporejanja je bil CPU dodeljen določenemu procesu. Postopek, ki CPU zaseda, sprosti CPU bodisi s preklopom konteksta bodisi s prekinitvijo. 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.

Značilnosti razporejanja prednostnih nalog

  • Procesorski algoritem, ki razporeja procese glede na prednost.
  • Uporablja se v operacijskih sistemih za izvajanje paketnih procesov.
  • Če sta dve opravili z enako prednostjo PRIPRAVLJENI, deluje na PRVI PRID, PRVI SERVIS.
  • Pri razporejanju prioritet se vsakemu postopku dodeli številka, ki označuje njegovo prednostno raven.
  • Nižje število, višja je prednost.
  • Pri tej vrsti algoritma razporejanja, če pride novejši postopek, ki ima večjo prioriteto od trenutno izvajanega procesa, je trenutno predvajan postopek prednostni.

Primer prednostnega razporejanja

Razmislite o naslednjih petih postopkih P1 do P5. Vsak postopek ima svojo edinstveno prednost, čas porušitve in čas prihoda.

Proces Prednostna naloga Čas porušitve Čas prihoda
P1 1. 4. 0
P2 2. 3. 0
P3 1. 7. 6.
P4 3. 4. 11.
P5 2. 2. 12.

Korak 0) Ob času = 0 prispeta proces P1 in P2. P1 ima višjo prednost kot P2. Izvedba se začne s postopkom P1, ki ima čas razpoka 4.

Korak 1) Ob času = 1 nov postopek ne prispe. Izvedba se nadaljuje s P1.

2. korak) Ob 2. času nov postopek ne prispe, zato lahko nadaljujete s P1. P2 je v čakalni vrsti.

Korak 3) Ob 3. času nov postopek ne prispe, tako da lahko nadaljujete s P1. Proces P2 je še vedno v čakalni vrsti.

Korak 4) V času 4 je P1 zaključil svoje izvajanje. P2 začne izvajati.

5. korak) Ob času = 5 nov postopek ne prispe, zato nadaljujemo s P2.

Korak 6) Ob času = 6 prispe P3. P3 ima višjo prioriteto (1) v primerjavi s P2 s prednostjo (2). P2 je prevzet in P3 začne njegovo izvajanje.

Proces Prednostna naloga Čas porušitve Čas prihoda
P1 1. 4. 0
P2 2. 1 od 3 v teku 0
P3 1. 7. 6.
P4 3. 4. 11.
P5 2. 2. 12.

Korak 7) Ob 7. času ne pride do novega postopka, zato nadaljujemo s P3. P2 je v čakalni vrsti.

Korak 8) Ob času = 8 nov postopek ne prispe, zato lahko nadaljujemo s P3.

Korak 9) Ob času = 9 ne pride do nobenega novega postopka, da bi lahko nadaljevali s P3.

Korak 10) V časovnem intervalu 10 nov postopek ne pride, zato nadaljujemo s P3

Korak 11) V času = 11 pride P4 s prioriteto 4. P3 ima višjo prednost, zato nadaljuje z izvajanjem.

Proces Prednostna naloga Čas porušitve Čas prihoda
P1 1. 4. 0
P2 2. 1 od 3 v teku 0
P3 1. 2 od 7 v teku 6.
P4 3. 4. 11.
P5 2. 2. 12.

Korak 12) Ob času = 12 prispe P5. P3 ima višjo prednost, zato nadaljuje izvajanje.

Korak 13) V času = 13 P3 dokonča izvedbo. V čakalni vrsti imamo P2, P4, P5. P2 in P5 imata enako prednost. Čas prihoda P2 je pred P5. Torej P2 začne izvajati.

Proces Prednostna naloga Čas porušitve Čas prihoda
P1 1. 4. 0
P2 2. 1 od 3 v teku 0
P3 1. 7. 6.
P4 3. 4. 11.
P5 2. 2. 12.

Korak 14) V času = 14 je postopek P2 končal svoje izvajanje. P4 in P5 sta v stanju čakanja. P5 ima najvišjo prioriteto in začne izvajati.

Korak 15) V času = 15, P5 nadaljuje izvajanje.

Korak 16) V času = 16 je P5 končan s svojim izvajanjem. P4 je edini preostali postopek. Začne se izvršitev.

Korak 17) V času = 20 je P5 zaključil izvajanje in postopek ne ostane.

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

Čakalni čas = čas začetka - čas prihoda + čas čakanja za naslednji izbruh

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

Prednosti razporejanja prednostnih nalog

Tu so prednosti / prednosti uporabe metode prednostnega razporejanja:

  • Preprost način načrtovanja
  • Procesi se izvajajo na podlagi prioritete, zato ni treba dolgo čakati na visoko prioriteto, kar prihrani čas
  • Ta metoda zagotavlja dober mehanizem, pri katerem je mogoče natančno določiti sorazmerno pomembno vrednost vsakega procesa.
  • Primerno za aplikacije z nihajočimi potrebami glede časa in virov.

Slabosti prednostnega razporejanja

Tu so slabosti / pomanjkljivosti razporejanja prednostnih nalog

  • Če se sistem sčasoma zruši, se vsi procesi z nizko prioriteto izgubijo.
  • Če procesi z visoko prioriteto vzamejo veliko CPU časa, potem lahko procesi z nižjo prioriteto stradajo in bodo odloženi za nedoločen čas.
  • Ta algoritem razporejanja lahko nekatere procese z nizko prioriteto čaka neomejeno dolgo.
  • Proces bo blokiran, ko bo pripravljen za zagon, vendar mora počakati na CPU, ker se trenutno izvaja drug postopek.
  • Če novi postopek z višjo prioriteto še naprej prihaja v čakalno vrsto, potem bo postopek, ki je v čakalnem stanju, morda moral čakati dlje časa.

Povzetek:

  • Prednostno razporejanje je metoda razporejanja procesov, ki temelji na prednostnih nalogah. V tem algoritmu razporejevalnik izbere naloge, ki bodo delovale po prioriteti.
  • Pri prednostnem predhodnem načrtovanju so naloge večinoma dodeljene s prednostnimi nalogami.
  • Pri metodi prednostnega nepredvidljivega razporejanja je bil CPU dodeljen določenemu postopku.
  • Procesi se izvajajo na podlagi prioritete, zato ni treba dolgo čakati na visoko prioriteto, kar prihrani čas
  • Če procesi z visoko prioriteto vzamejo veliko CPU časa, potem lahko procesi z nižjo prioriteto stradajo in bodo odloženi za nedoločen čas.