Razlika med načrtovalnim in nepredvidenim načrtovanjem v operacijskih sistemih

Načrtovanje procesorja (ali Načrtovanje CPU-ja) na podlagi modelov načrtovanja, kot je na primer, določa, kateri procesi so dodeljeni in odstranjeni iz CPU-ja Prednost in Nepremišljeno načrtovanje (poznan tudi kot Načrtovanje sodelovanja).

Starejši sistemi bi lahko delovali v enostavnih samostojnih načinih, vendar z naraščajočo potrebo po odzivnih, fleksibilnih sistemih ter virtualizaciji učinkovito upravljanje več procesov omogoča hiter odziv na vse zahteve za obdelavo opravil.

Enote za načrtovanje pogosto imenujejo a naloga in nalogo načrtovalca je, da te naloge vodi in upravlja, kadar koli je to potrebno; Planer izbere nalogo, ki jo bo odstranil in dodelil CPU za obdelavo, glede na uporabljeni model načrtovanja.

Kako načrtovalec ve, katere naloge so prednostne?

Planer mora izvesti pošten in učinkovit izbirni postopek, pri čemer upošteva spremenljive, dinamične zahteve za obdelavo in kar najbolje izkoristi cikle CPU-ja..

Naloge so med obdelavo lahko v dveh stanjih:

  1. V CPU Burst kjer CPU izvaja izračune za obdelavo naloge (obdobje za CPU Burst se razlikuje od naloge do naloge in od programa do programa).
  2. V an Vhod / izhod (V / I) Poči čaka na prejem ali pošiljanje podatkov iz sistema.

Ko je procesor v prostem teku, načrtovalec prebere Pripravljena vrsta, in izbere naslednjo nalogo, ki jo je treba zagnati. Potem je to Dispečer ki daje izbrani nadzor nad CPU, zato mora biti hiter! Vsak čas, ko ga je dispečer prevzel, je znan kot Zakasnitev odpreme.

Obstajajo različne strukture in parametri po meri za definiranje Pripravljena vrsta, kot tudi več metod, ki jih je mogoče uporabiti za upravljanje zahtevnosti postopka načrtovanja.

Na splošno gre za optimizacijo in povečanje izkoriščenosti CPU-ja, pretočnosti itd.

Planer se mora odločiti med eno od naslednjih faz:

  1. Ko se naloga spremeni iz a Teče do a Čakalna država (na primer čakanje med I / O zahtevo).
  2. Ko se opravilo spremeni iz Teče do Pripravljen (na primer odziv na prekinitev).
  3. Ko se opravilo spremeni iz Čakanje do Pripravljen (na primer zahteva za V / I je izpolnjena).
  4. Ko Naloga

Če se zgodi, da sta 1. ali 4. stopnja zagotovljena popolna uporaba CPU-ja, morate izbrati novo nalogo, tako da se lahko v obeh stopnjah 2 in 3 nadaljuje z izvajanjem ali pa je izbrana nova..

Potem ko razumemo, kako je naloga obdelana, si poglejmo dva modela načrtovanja, ki obravnavata prekinitve CPU-ja.

Obe imata podobne lastnosti z nalogami, stanji opravil, čakalnimi vrstami in prednostnimi nalogami (statične ali dinamične):

  • Nepremišljeno načrtovanje je, ko se naloga izvaja, dokler se ne ustavi (prostovoljno), ali dokonča. Windows® je imel načrtovanje nepredvidenega načrtovanja do sistema Windows 3.x, nato pa se je v Windows 95 spremenil v Premočljiv..
  • Predpogojno načrtovanje kjer lahko nalogo prisilno zaustavimo s prekinitvijo CPU-ja, za razliko od Non-Preemptive, kjer naloga teče, dokler ne sprosti nadzora nad CPU-jem..

Nepremišljeno načrtovanje

Naloge znotraj sistema za nepredvidljivo delovanje se bodo izvajale do konca.

Planer nato preveri stanja vseh nalog in z a Pripravljen država.

Pri Non-Preemptive Scheduling, ko ima naloga dodeljen CPU, ga ni mogoče odvzeti, tudi če morajo kratke naloge počakati, da se opravijo daljša opravila.

Upravljanje razporejanja za vse naloge je "pošteno", odzivni časi pa so predvidljivi, saj naloge z visoko prednostno nalogo ne morejo združevati čakalnih opravil dlje v vrsti.

Planer zagotavlja, da vsaka naloga dobi svoj delež CPU, pri čemer se izogne ​​zamudam pri kateri koli nalogi. „Čas“, dodeljen CPU-ju, ni nujno enak, saj je odvisno od tega, koliko časa opravi nalogo.

Predpogojno načrtovanje

Ta model razporejanja omogoča prekinitev nalog - za razliko od nepredvidenega načrtovanja, ki ima pristop "teči do zaključka".

Prekinitve, ki jih je mogoče sprožiti z zunanjih klicev, prikličejo načrtovalca, da ustavi zagnano opravilo za upravljanje druge naloge višje prioritete - tako je mogoče nadzorovati nadzor nad CPU-jem.

Najpomembnejša naloga v Pripravljen stanje se izvaja, kar omogoča hitro odzivanje na dogodke v realnem času.

Nekateri od posledic Preemptive Scheduling vključujejo povečanje splošnih stroškov za vire pri uporabi prekinitev in težave se lahko pojavijo z dvema nalogama za skupno rabo podatkov, saj lahko ena prekine med posodabljanjem skupnih podatkovnih struktur in lahko negativno vpliva na celovitost podatkov.

Po drugi strani je praktično, da lahko zaustavite nalogo za upravljanje še ene, ki bi lahko bila kritična.

V povzetku

Opredelimo lahko veliko odstopanj in odvisnosti v različnih politikah, na primer uporabo a "Politika okroglih Robin [i]" kjer se vsaka naloga (z enako prednostno nalogo) izvaja enkrat, nato pa se postavi na konec čakalne vrste za naslednji cikel.

Druge politike vključujejo First-in-first-out, Najkrajša-zaposlitev-prva, Najkrajša zaposlitev-Naprej, Najkrajši preostali čas, itd.

Analiza preteklih podatkov lahko zagotovi informacije o vidikih, kot so hitrost prispevanja novih nalog, CPU in vhodno / izhodni razpoki itd., Tako da lahko porazdelitev verjetnosti izračuna značilnosti čakalnih dob opravil, s čimer se administratorji oborožijo z ustreznimi podatki za določitev modelov načrtovanja.