Atšķirība starp preventīvo un nelietojošo plānošanu operētājsistēmās

Procesora plānošana (vai CPU plānošana) nosaka, kuri procesi tiek piešķirti un izņemti no CPU, pamatojoties uz plānošanas modeļiem, piemēram, Preventīvs un Nepreventīvs plānojums (zināms arī kā Kooperatīvā plānošana).

Vecākas sistēmas varētu darboties vienkāršos patstāvīgos režīmos, bet, ņemot vērā pieaugošo vajadzību pēc atsaucīgām, elastīgām sistēmām, kā arī virtualizācijas, daudzfunkciju apstrādes efektīva pārvaldība nodrošina ātru reakciju uz visiem uzdevumu apstrādes pieprasījumiem.

Plānošanas vienības bieži sauc par a uzdevums un Plānotāja pienākums ir vadīt un pārvaldīt šos uzdevumus, kad vien tas nepieciešams; plānotājs izvēlas noņemamo uzdevumu un piešķir CPU apstrādei atbilstoši izmantotajam plānošanas modelim.

Kā plānotājs zina, kuri uzdevumi ir prioritāri?

Plānotājam ir jāvada godīgs un efektīvs atlases process, ņemot vērā mainīgos, dinamiskos apstrādes pieprasījumus un maksimāli izmantojot CPU ciklus..

Apstrādes laikā uzdevumi var būt divos stāvokļos:

  1. Iekšā CPU eksplozija kur CPU veic aprēķinus, lai apstrādātu uzdevumu (CPU eksplozijas periods mainās atkarībā no uzdevuma un uzdevuma, un no programmas uz programmu).
  2. In Ievades / izvades (I / O) eksplozija gaida datu saņemšanu vai nosūtīšanu no sistēmas.

Kad CPU ir dīkstāvē, plānotājs nolasa Gatava rinda, un izvēlas nākamo izpildāmo uzdevumu. Tad tas ir Dispečers kas nodrošina izvēlētā procesora kontroli CPU, tāpēc tam jābūt ātram! Jebkurš dispečera patērētais laiks ir pazīstams kā Nosūtīšanas latentums.

Lai definētu, ir dažādas struktūras un pielāgoti parametri Gatava rinda, kā arī vairākas metodes, kuras var izmantot, lai pārvaldītu plānošanas procesa sarežģītību.

Parasti tas attiecas uz CPU izmantošanas, caurlaidspējas optimizēšanu un palielināšanu.

Plānotājam jāpieņem lēmums vienā no šiem posmiem:

  1. Kad uzdevums mainās no a Skriešana uz a Gaidīšanas valsts (piemēram, gaidīšana I / O pieprasījuma laikā).
  2. Kad uzdevums mainās no Skriešana uz Gatavs (piemēram, reaģējot uz pārtraukumu).
  3. Kad uzdevums mainās no Gaida uz Gatavs (piemēram, I / O pieprasījums ir pabeigts).
  4. Kad Uzdevums

Ja 1. vai 4. posms notiek, lai nodrošinātu CPU pilnīgu izmantošanu, ir jāizvēlas jauns uzdevums, un gan 2., gan 3. posmā uzdevumu var turpināt izpildīt vai ir izvēlēts jauns..

Pēc izpratnes par uzdevuma apstrādi apskatīsim divus plānošanas modeļus, kas attiecas uz CPU pārtraukumiem.

Abiem ir līdzīgas funkcijas ar uzdevumiem, uzdevumu stāvokļiem, rindām un prioritātēm (statiskām vai dinamiskām):

  • Nepreventīvs plānojums ir laiks, kad uzdevums tiek izpildīts, līdz tas apstājas (brīvprātīgi) vai tiek pabeigts. Līdz Windows 3.x operētājsistēmai Windows® bija nepiemērojoša plānošana, pēc tam Windows 95 to nomainīja uz Preemptive.
  • Preventīva plānošana ir tāda vieta, kur uzdevumu var piespiedu kārtā apturēt ar CPU pārtraukumu, atšķirībā no nepreventīvajiem, kur uzdevums tiek izpildīts, līdz tas atbrīvo CPU kontroli.

Nepreventīvs plānojums

Nepreventīvas sistēmas uzdevumi tiks veikti līdz pabeigšanai.

Plānotājs pēc tam pārbauda visu uzdevumu stāvokļus un iezīmē nākamo augstākās prioritātes uzdevumu ar Gatavs Valsts.

Ar neprevenciozu plānošanu, kad uzdevumam ir piešķirts centrālais procesors, to nevar noņemt, pat ja īsiem uzdevumiem jāgaida ilgāki uzdevumi.

Plānošanas pārvaldība visiem uzdevumiem ir “taisnīga”, un atbildes laiki ir paredzami, jo augstas prioritātes uzdevumi nevar atlikt gaidīšanas uzdevumus tālāk rindā..

Plānotājs nodrošina, ka katrs uzdevums iegūst CPU daļu, izvairoties no jebkādas kavēšanās ar jebkuru uzdevumu. CPU atvēlētais “laika daudzums” var nebūt vienāds, jo tas ir atkarīgs no tā, cik ilgs laiks jāveic uzdevumam.

Preventīva plānošana

Šis plānošanas modelis ļauj pārtraukt uzdevumus - atšķirībā no neprevenciozās plānošanas, kurai ir pieeja “palaist līdz pabeigšanai”..

Pārtraukumi, kurus var iniciēt no ārējiem zvaniem, liek plānotājam pārtraukt tekošo uzdevumu, lai pārvaldītu citu augstākas prioritātes uzdevumu - tātad var novērst CPU kontroli..

Augstākās prioritātes uzdevums a Gatavs stāvoklis tiek izpildīts, ļaujot ātri reaģēt uz reālā laika notikumiem.

Daži no trūkumiem, kas saistīti ar Preventīvās plānošanas procesu, ir saistīti ar resursu vispārējo izmaksu palielināšanos, ja tiek izmantoti pārtraukumi, un problēmas var rasties ar diviem uzdevumiem, ar kuriem kopīgi izmanto datus, jo viens var tikt pārtraukts, atjauninot dalītās datu struktūras, un tas varētu negatīvi ietekmēt datu integritāti..

No otras puses, ir praktiski spēt apturēt uzdevumu, lai pārvaldītu citu, kas varētu būt kritisks.

Kopsavilkumā

Var definēt daudzas atšķirības un atkarības dažādās politikās, piemēram, izmantojot a “Apaļā robina politika [i]” kur katrs uzdevums (ar vienādu prioritāti) tiek izpildīts vienu reizi un pēc tam tiek novietots rindas beigās nākamajam ciklam.

Citas politikas ietver Pirmais iekšā, pirmais ārā, Visīsākais darbs, Īsākais darbs-nākamais, Īsākais atlikušais laiks, utt.

Vēstures datu analīze var sniegt informāciju par aspektiem, piemēram, jaunu uzdevumu saņemšanas ātrumu, CPU un I / O satricinājumiem utt., Lai varbūtības sadalījumi varētu aprēķināt uzdevumu gaidīšanas laika raksturlielumus, tādējādi apgādājot administratorus ar atbilstošiem datiem, lai definētu plānošanas modeļus..