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.
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:
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:
Č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):
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.
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.
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.