Išankstinis ir nenusprendžiantis planavimas: pagrindiniai skirtumai

Turinys:

Anonim

Kas yra prevencinis planavimas?

Preemptive Scheduling yra planavimo metodas, kai užduotys dažniausiai priskiriamos pagal jų prioritetus. Kartais svarbu vykdyti užduotį su didesniu prioritetu prieš kitą žemesnio prioriteto užduotį, net jei vis dar vykdoma žemesnio prioriteto užduotis.

Tuo metu žemesnio prioriteto užduotis laikoma tam tikrą laiką ir atnaujinama, kai aukštesnio prioriteto užduotis baigia vykdyti.

Šioje „Operacinės sistemos“ pamokoje sužinosite:

  • Kas yra prevencinis planavimas?
  • Kas yra nenusprendžiantis planavimas?
  • Skirtumas tarp išankstinio ir nepreferencinio planavimo OS
  • Prevencinio planavimo pranašumai
  • Neprieinamojo planavimo privalumai
  • Prevencinio planavimo trūkumai
  • Neperpektyvaus planavimo trūkumai
  • Neprieinamojo planavimo pavyzdys
  • Išankstinio planavimo pavyzdys

Kas yra nenusprendžiantis planavimas?

Šio tipo planavimo metodu procesorius buvo priskirtas konkrečiam procesui. Procesas, palaikantis procesoriaus užimtumą, atleis procesorių pakeisdamas kontekstą arba nutraukdamas.

Tai yra vienintelis metodas, kurį galima naudoti įvairioms aparatinės įrangos platformoms. Taip yra todėl, kad jai nereikia specializuotos aparatūros (pavyzdžiui, laikmačio), tokios kaip prevencinis planavimas.

Neplaninis planavimas įvyksta, kai procesas savanoriškai pereina į laukimo būseną arba baigiasi.

Skirtumas tarp išankstinio ir nepreferencinio planavimo OS

Čia yra prevencinis ir nepreferencinis planavimas OS

Išankstinis planavimas Neapsaugotas planavimas
Procesoriui gali būti suteikta teisė vykdyti skirtingus procesus viduryje bet kurio dabartinio proceso vykdymo. Kai procesorius pradeda vykdyti, jis turi jį užbaigti prieš vykdydamas kitą. Jo negalima pristabdyti viduryje.
Procesoriaus naudojimas yra efektyvesnis, palyginti su neprieinamuoju planavimu. Procesoriaus naudojimas yra mažiau efektyvus, palyginti su išankstiniu planavimu.
Išankstinio planavimo laukimo ir atsakymo laikas yra trumpesnis. Neapsaugos planavimo metodo laukimo ir atsakymo laikas yra ilgesni.
Pirmenybė teikiama prevenciniam planavimui. Aukščiausio prioriteto procesas yra šiuo metu naudojamas procesas. Kai kuris nors procesas patenka į vykdymo būseną, to proceso būsena niekada nebus ištrinta iš tvarkaraščio, kol jis baigs darbą.
Išankstinis planavimas yra lankstus. Neapsaugotas planavimas yra griežtas.
Pavyzdžiai: - Trumpiausias likęs laikas pirmiausia, „Robin Round“ ir kt. Pavyzdžiai: „Pirmiausia ateikite pirmą kartą“, „Trumpiausias darbas pirmiausia“, „Pirmumo planavimas“ ir kt.
Galima užkirsti kelią prevenciniam planavimo algoritmui, ty procesą galima suplanuoti Neplaninio planavimo proceso negalima suplanuoti
Šiame procese procesorius priskiriamas procesams tam tikram laikotarpiui. Šiame procese procesorius priskiriamas procesui, kol jis baigsis arba persijungs į laukimo būseną.
Prevencinis algoritmas turi pridėtinę reikšmę proceso perjungimui iš parengties būsenos į veikiančią būseną ir atvirkščiai. Neapsaugotas planavimas neturi tokios pertvarkymo, kai procesas persijungia iš parengties būsenos.

Prevencinio planavimo pranašumai

Čia yra „Preemptive Scheduling“ metodo privalumai / privalumai:

  • Išankstinis planavimo metodas yra tvirtesnis, todėl metodas negali monopolizuoti procesoriaus
  • Po kiekvienos pertraukos bus peržiūrėtas bėgimo užduoties pasirinkimas.
  • Kiekvienas įvykis sukelia vykdomų užduočių pertraukimą
  • OS užtikrina, kad procesorius būtų vienodas visuose vykstančiuose procesuose.
  • Šiuo atveju procesoriaus naudojimas yra tas pats, ty visi vykdomi procesai naudos CPU vienodai.
  • Šis planavimo metodas taip pat pagerina vidutinį atsako laiką.
  • Išankstinis planavimas yra naudingas, kai jį naudojame daugialypei programavimo aplinkai.

Neprieinamojo planavimo privalumai

Čia pateikiami neprognozuojamo planavimo metodo privalumai / privalumai:

  • Siūlo mažas planavimo pridėtines išlaidas
  • Paprastai siūlo didelį našumą
  • Tai konceptualiai labai paprastas metodas
  • Planavimui reikia mažiau skaičiavimo išteklių

Prevencinio planavimo trūkumai

Čia yra prevencinio planavimo metodo trūkumai / trūkumai:

  • Planavimui reikalingi riboti skaičiavimo ištekliai
  • Planuotojui reikia daugiau laiko sustabdyti vykdomą užduotį, perjungti kontekstą ir išsiųsti naują gaunamą užduotį.
  • Procesas, turintis mažą prioritetą, turi laukti ilgiau, jei kai kurie aukšto prioriteto procesai vyksta nuolat.

Neperpektyvaus planavimo trūkumai

Čia yra nepreferencinio planavimo metodo trūkumai / trūkumai:

  • Tai gali sukelti badą, ypač atliekant užduotis realiuoju laiku
  • Dėl klaidų mašina gali užšalti
  • Tai gali apsunkinti planavimą realiuoju laiku ir prioritetinį planavimą
  • Blogas procesų atsako laikas

Neprieinamojo planavimo pavyzdys

Neapsaugojant SJF planavimo, kai procesoriaus ciklas yra paskirtas procesui, procesas jį laiko tol, kol pasiekia laukimo būseną arba baigiasi.

Apsvarstykite šiuos penkis procesus, kurių kiekvienas turi savo unikalų serijos laiką ir atvykimo laiką.

Proceso eilė Sprogo laikas Atvykimo laikas
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

0 žingsnis) Tuo metu, kai = 0, ateina P4 ir pradeda vykdyti.

1 žingsnis) Tuo metu, kai = 1, ateina procesas P3. Tačiau P4 vis tiek reikia 2 vykdymo vienetų, kad būtų galima užbaigti. Jis tęs vykdymą.

2 žingsnis) Tuo metu, kai = 2, ateina procesas P1 ir įtraukiamas į laukimo eilę. P4 tęs vykdymą.

3 žingsnis) Tuo metu, kai laikas = 3, procesas P4 bus baigtas. Palyginamas P3 ir P1 sprogimo laikas. Procesas P1 vykdomas, nes jo serijos laikas yra mažesnis, palyginti su P3.

4 žingsnis) Tuo metu, kai = 4, ateina procesas P5 ir įtraukiamas į laukimo eilę. P1 tęs vykdymą.

5 žingsnis) Tuo metu, kai laikas yra 5, atkeliauja procesas P2 ir įtraukiamas į laukimo eilę. P1 tęs vykdymą.

6 žingsnis) Tuo metu, kai = 9, procesas P1 užbaigs jo vykdymą. Palyginamas P3, P5 ir P2 sprogimo laikas. Procesas P2 vykdomas, nes jo serijos laikas yra mažiausias.

7 žingsnis) Tuo metu, kai = 10, P2 vykdo, o P3 ir P5 yra laukimo eilėje.

8 žingsnis) Tuo metu, kai = 11, procesas P2 užbaigs jo vykdymą. Palyginamas P3 ir P5 sprogimo laikas. Procesas P5 vykdomas, nes jo serijos laikas yra mažesnis.

9 žingsnis) Tuo metu, kai 15, procesas P5 bus baigtas.

10 žingsnis) Tuo metu = 23, procesas P3 bus baigtas.

11 žingsnis) Apskaičiuokime aukščiau pateikto pavyzdžio vidutinę laukimo laiką.

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

Išankstinio planavimo pavyzdys

Apsvarstykite tai po trijų procesų „Round-robin“

Proceso eilė Sprogo laikas
P1 4
P2 3
P3 5

1 veiksmas) Vykdymas prasideda procesu P1, kurio sprogo laikas yra 4. Čia kiekvienas procesas vykdomas 2 sekundes. P2 ir P3 vis dar yra laukimo eilėje.

2 žingsnis ) Kai laikas = 2, prie eilės pabaigos pridedamas P1 ir P2 pradeda vykdyti

3 žingsnis) Tuo metu, kai = 4, P2 yra išimtas ir pridėtas eilės pabaigoje. P3 pradeda vykdyti.

4 žingsnis) Tuo metu, kai = 6, P3 yra išimtas ir pridėtas eilės pabaigoje. P1 pradeda vykdyti.

5 žingsnis) Tuo metu, kai laikas = 8, P1 serijos laikas yra 4. Jis baigė vykdyti. P2 pradeda vykdyti

6 žingsnis) P2 serijos laikas yra 3. Jis jau vykdomas 2 intervalais. Laiku = 9, P2 baigia vykdyti. Tada P3 pradeda vykdyti, kol baigsis.

7 žingsnis) Apskaičiuokime aukščiau pateikto pavyzdžio vidutinę laukimo laiką.

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

PAGRINDINIAI SKIRTUMAI

  • Taikant išankstinį planavimą, procesorius yra priskiriamas procesams tam tikram laikotarpiui, o ne išankstinis planavimo procesorius - procesui, kol jis baigsis.
  • Taikant planą „Preemptive Scheduling“ užduotys perjungiamos pagal prioritetą, o neprepresyvaus planavimo metu perjungimas nevyksta.
  • Preemptyvinis algoritmas turi procesą, perkeliantį procesą iš parengties būsenos į veikiančią būseną, o Neapsaugos planavimas neturi tokios perjungimo pridėtinės vertės.
  • Išankstinis planavimas yra lankstus, o ne prevencinis planavimas yra griežtas.