Preemptive vs Non-Preemptive Scheduling: Galvenās atšķirības

Satura rādītājs:

Anonim

Kas ir preventīvā plānošana?

Preemptive Scheduling ir plānošanas metode, kurā uzdevumi galvenokārt tiek piešķirti atbilstoši to prioritātēm. Dažreiz ir svarīgi izpildīt uzdevumu ar augstāku prioritāti pirms cita zemākas prioritātes uzdevuma, pat ja zemākas prioritātes uzdevums joprojām darbojas.

Tajā laikā zemākas prioritātes uzdevums darbojas kādu laiku un tiek atsākts, kad augstākas prioritātes uzdevums pabeidz izpildi.

Šajā operētājsistēmas apmācībā jūs uzzināsiet:

  • Kas ir preventīvā plānošana?
  • Kas ir neplānojoša plānošana?
  • Atšķirība starp preventīvu un nepreferenciālu plānošanu OS
  • Iepriekšējas plānošanas priekšrocības
  • Neprecizējošas plānošanas priekšrocības
  • Preemptive Scheduling trūkumi
  • Neplānojošās plānošanas trūkumi
  • Neplānojošas plānošanas piemērs
  • Iepriekšējas plānošanas piemērs

Kas ir neplānojoša plānošana?

Šāda veida plānošanas metodē CPU ir piešķirts noteiktam procesam. Process, kas uztur procesoru aizņemtu, atbrīvos CPU vai nu, pārslēdzot kontekstu vai pārtraucot darbību.

Tā ir vienīgā metode, ko var izmantot dažādām aparatūras platformām. Tas ir tāpēc, ka tai nav nepieciešama specializēta aparatūra (piemēram, taimeris), piemēram, preventīva plānošana.

Neplānojoša plānošana notiek, kad process brīvprātīgi nonāk gaidīšanas stāvoklī vai tiek pārtraukts.

Atšķirība starp preventīvu un nepreferenciālu plānošanu OS

Šeit ir iepriekšēja un nepreferenciāla plānošana OS

Iepriekšēja plānošana Neplānojoša plānošana
Procesoram var būt tiesības izpildīt dažādus procesus jebkura pašreizējā procesa izpildes vidū. Kad procesors sāk izpildi, tas ir jāpabeidz, pirms tiek izpildīts otrs. To nevar apturēt pa vidu.
Centrālā procesora izmantošana ir efektīvāka salīdzinājumā ar neplānojošu plānošanu. Centrālā procesora izmantošana ir mazāk efektīva, salīdzinot ar preventīvu plānošanu.
Iepriekšējas plānošanas gaidīšanas un reakcijas laiks ir mazāks. Neparedzamās plānošanas metodes gaidīšanas un reakcijas laiks ir lielāks.
Prioritāte ir prioritārajai plānošanai. Augstākās prioritātes process ir process, kas pašlaik tiek izmantots. Kad kāds process nonāk izpildes stāvoklī, šī procesa stāvoklis nekad netiek izdzēsts no plānotāja, līdz tas pabeidz savu darbu.
Iepriekšēja plānošana ir elastīga. Neplānojoša plānošana ir stingra.
Piemēri: - Visīsākais atlikušais laiks vispirms, apļa spēle utt. Piemēri: vispirms nāc, vispirms kalpo, īsākais darbs vispirms, prioritārā plānošana utt.
Var novērst iepriekšēju plānošanas algoritmu, tas ir, procesu var ieplānot Nepieļaujot plānošanu, procesu nevar ieplānot
Šajā procesā CPU tiek piešķirts procesiem uz noteiktu laika periodu. Šajā procesā CPU tiek piešķirts procesam, līdz tas tiek pārtraukts vai pārslēdzas uz gaidīšanas stāvokli.
Preventīvajam algoritmam ir virsprocess, kā procesu pārslēgt no gatavā stāvokļa uz darbības stāvokli un otrādi. Neplānojošai plānošanai nav tādas papildu izmaksas, lai pārslēgtu procesu no gatavības stāvokļa.

Iepriekšējas plānošanas priekšrocības

Šeit ir priekšrocības / priekšrocības, ko sniedz Preemptive Scheduling metode:

  • Preemptive plānošanas metode ir stingrāka, pieeja, tāpēc viens process nevar monopolizēt CPU
  • Pēc katra pārtraukuma tiek pārskatīta skriešanas uzdevuma izvēle.
  • Katrs notikums izraisa darbības uzdevumu pārtraukumu
  • OS pārliecinās, ka CPU izmantošana ir vienāda visos darbības procesos.
  • Šajā gadījumā CPU izmantošana ir vienāda, ti, visi notiekošie procesi CPU izmantos vienādi.
  • Šī plānošanas metode arī uzlabo vidējo reakcijas laiku.
  • Iepriekšēja plānošana ir izdevīga, ja to izmantojam daudzprogrammēšanas videi.

Neprecizējošas plānošanas priekšrocības

Šeit ir plusi / priekšrocības, kas saistīti ar neprognozējošu plānošanas metodi:

  • Piedāvā zemas plānošanas pieskaitāmās izmaksas
  • Mēdz piedāvāt lielu caurlaidspēju
  • Tā ir konceptuāli ļoti vienkārša metode
  • Plānošanai ir nepieciešami mazāk skaitļošanas resursu

Preemptive Scheduling trūkumi

Šeit ir priekšrocības plānošanas metodes mīnusi / trūkumi:

  • Plānošanai ir nepieciešami ierobežoti skaitļošanas resursi
  • Plānotājs aizņem ilgāku laiku, lai apturētu darbojošos uzdevumu, pārslēgtu kontekstu un nosūtītu jauno ienākošo uzdevumu.
  • Procesam, kam ir zema prioritāte, ir jāgaida ilgāk, ja daži augstas prioritātes procesi pienāk nepārtraukti.

Neplānojošās plānošanas trūkumi

Šeit ir mīnusi / trūkums, kas paredzēts neplānojošai plānošanas metodei:

  • Tas var izraisīt badu, jo īpaši tiem reāllaika uzdevumiem
  • Kļūdas var izraisīt mašīnas sasalšanu
  • Tas var apgrūtināt reāllaika un prioritātes plānošanu
  • Slikts procesu reakcijas laiks

Neplānojošas plānošanas piemērs

Nepieļaujot SJF plānošanu, kad CPU cikls ir piešķirts procesam, process to tur, līdz tas sasniedz gaidīšanas stāvokli vai tiek pārtraukts.

Apsveriet šādus piecus procesus, kuriem katram ir savs unikālais pārraides laiks un ierašanās laiks.

Procesa rinda Sprādziena laiks Ierašanās laiks
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

0. solis) Laikā = 0, P4 pienāk un sāk izpildi.

1. solis) Laikā = 1, pienāk process P3. Bet P4 pabeigšanai joprojām ir vajadzīgas 2 izpildes vienības. Tas turpinās izpildi.

2. solis. Laikā = 2 pienāk process P1 un tiek pievienots gaidīšanas rindai. P4 turpinās izpildi.

3. solis. Laikā = 3 process P4 pabeigs tā izpildi. Salīdzina P3 un P1 sprādziena laiku. Process P1 tiek izpildīts, jo tā sprādziena laiks ir mazāks nekā P3.

4. solis. Laikā = 4, pienāk process P5, kas tiek pievienots gaidīšanas rindai. P1 turpinās izpildi.

5. solis. Laikā = 5, pienāk process P2 un tiek pievienots gaidīšanas rindai. P1 turpinās izpildi.

6. solis) Laikā = 9 process P1 pabeigs tā izpildi. Salīdzina P3, P5 un P2 eksplozijas laiku. Process P2 tiek izpildīts, jo tā sprādziena laiks ir mazākais.

7. solis) Laikā = 10, P2 izpilda, un P3 un P5 ir gaidīšanas rindā.

8. solis. Laikā = 11 process P2 pabeigs tā izpildi. Salīdzina P3 un P5 sprādziena laiku. Process P5 tiek izpildīts, jo tā sprādziena laiks ir mazāks.

9. solis) Laikā = 15 process P5 pabeigs tā izpildi.

10. solis. Laikā = 23 process P3 izpildīs.

11. solis. Aprēķināsim vidējo gaidīšanas laiku iepriekš minētajam piemēram.

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

Iepriekšējas plānošanas piemērs

Apsveriet šo sekojošo trīs procesu apļveida pārbaudē

Procesa rinda Sprādziena laiks
P1 4
P2 3
P3 5

1. solis . Izpilde sākas ar procesu P1, kuram ir pārsprāgt laiks 4. Šeit katrs process tiek izpildīts 2 sekundes. P2 un P3 joprojām atrodas gaidīšanas rindā.

2. solis. Laikā = 2, rindas beigās tiek pievienots P1, un P2 sāk izpildīt

3. solis. Laikā = 4, P2 tiek izslēgts un pievienots rindas beigās. P3 sāk izpildīt.

4. solis. Laikā = 6, P3 tiek izslēgts un pievienots rindas beigās. P1 sāk izpildīt.

5. solis. Laikā = 8, P1 sērijas sprādziena laiks ir 4. Tas ir pabeidzis izpildi. P2 sāk izpildi

6. solis) P2 sērijas laiks ir 3. Tas jau ir izpildīts 2 intervālos. Laikā = 9, P2 izpildi pabeidz. Tad P3 sāk izpildi, līdz tā ir pabeigta.

7. solis. Aprēķināsim vidējo gaidīšanas laiku iepriekš minētajam piemēram.

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

GALVENĀS ATŠĶIRĪBAS

  • Programmā Preemptive Scheduling CPU tiek piešķirts procesiem uz noteiktu laika periodu, un procesam, kas nepieļauj iepriekšēju plānošanu, tiek piešķirts process, līdz tas beidzas.
  • Programmā Preemptive Scheduling uzdevumi tiek pārslēgti, pamatojoties uz prioritāti, savukārt bez preemptive Schedulign pārslēgšanās nenotiek.
  • Preventīvajam algoritmam ir virsprocess, kā process tiek pārslēgts no gatavā stāvokļa uz darbības stāvokli, savukārt nepreferenciālai plānošanai nav šādas pārslēgšanās.
  • Preemptive Scheduling ir elastīga, savukārt Non-preemptive Scheduling ir stingra.