Preventiivse ja mitteeeliseva sõiduplaani erinevus operatsioonisüsteemides

Protsessori plaanimine (või Protsessori planeerimine) määrab, millised protsessid on CPU-le määratud ja eemaldatakse, tuginedes ajastamismudelitele nagu Ennetav ja Ennetav sõiduplaani koostamine (tuntud ka kui Ühistu plaanimine).

Vanemad süsteemid võiksid töötada lihtsates eraldiseisvates režiimides, kuid kasvava reageerimisvõimeliste, paindlike süsteemide ja virtualiseerimise vajaduse korral võimaldab mitme töötlemise tõhus juhtimine kiiret reageerimist kõigile töö töötlemise taotlustele.

Ajastamisüksusi nimetatakse sageli a ülesanne ja planeerija ülesanne on neid ülesandeid vajadusel hallata ja hallata; Planeerija valib eemaldatava ülesande ja töötlemiseks CPU-le määratud ülesande vastavalt kasutatud ajastamismudelile.

Kuidas planeerija teab, millised ülesanded on esmatähtsad??

Planeerija peab läbi viima õiglase ja tõhusa valikuprotsessi, võttes arvesse muutuvaid, dünaamilisi töötlemistaotlusi ja kasutades maksimaalselt ära protsessori tsükleid.

Töötlemisel võivad ülesanded olla kahes olekus:

  1. Sees Protsessori purunemine kus CPU teostab arvutusi ülesande töötlemiseks (CPU puhkeperiood varieerub ülesande kaupa ja programmi järgi).
  2. Sisse Sisendi / väljundi (I / O) sarivõte andmete vastuvõtmise või süsteemist saatmise ootamine.

Kui CPU on jõude, loeb planeerija: Valmis järjekord, ja valib järgmise käivitatava ülesande. Siis on Dispetšer mis annab CPU-le valitud ülesande juhtimise, nii et see peab olema kiire! Igasugust dispetšeri poolt kulutatud aega nimetatakse Dispetšeri latentsus.

Selle määratlemiseks on erinevad struktuurid ja kohandatud parameetrid Valmis järjekord, samuti mitut meetodit, mida saab kasutada sõiduplaani koostamise keerukuse juhtimiseks.

Üldiselt räägitakse protsessori kasutamise, läbilaskevõime jne optimeerimisest ja maksimeerimisest.

Planeerija peab tegema otsuse ühes järgmistest etappidest:

  1. Kui tööülesanne muutub a-st Jooksmine a Ootel olek (näiteks ootamine I / O päringu ajal).
  2. Kui Ülesanne muutub alates Jooksmine kuni Valmis (näiteks reageerimine katkestusele).
  3. Kui Ülesanne muutub alates Ootan kuni Valmis (näiteks I / O päring on täidetud).
  4. Kui Ülesanne

Kui 1. või 4. etapp juhtub tagama keskseadme täieliku kasutamise, tuleb valida uus ülesanne ja nii 2. kui ka 3. etapis saab toimingut jätkata või on valitud uus.

Pärast ülesande töötlemise mõistmist vaatame läbi kaks ajastamismudelit, mis käsitlevad protsessori katkestusi.

Mõlemal on sarnased funktsioonid ülesannete, ülesannete olekute, järjekordade ja prioriteetidega (staatilised või dünaamilised):

  • Ennetav sõiduplaani koostamine on siis, kui ülesanne kestab, kuni see peatub (vabatahtlikult) või lõpeb. Windows®-is oli ennetava kasutamise ajakava kuni Windows 3.x-ni, pärast seda muudeti Windows 95-st Preemptive-ks.
  • Ennetav sõiduplaani koostamine on koht, kus keskseadme katkestuse abil saab ülesande sunniviisiliselt peatada, erinevalt mittepreventiivsest, kus ülesanne kestab seni, kuni see vabastab keskseadme juhtimise.

Ennetav sõiduplaani koostamine

Mittepreventiivse süsteemi ülesanded kestavad kuni täitmiseni.

Seejärel kontrollib planeerija kõigi ülesannete olekuid ja ajastab järgmise kõrgeima prioriteediga ülesande nupuga a Valmis osariik.

Mittepreventiivse ajastamise korral ei saa seda ülesannet pärast CPU-le omistamist enam ära võtta, isegi kui lühikesed ülesanded peavad pikemate ülesannete täitmiseks ootama.

Kõigi ülesannete ajakavahaldus on õiglane ja reageerimisajad on ennustatavad, kuna kõrge prioriteediga ülesanded ei saa ooteülesandeid järjekorda lükata..

Ajasti tagab, et iga ülesanne saab osa protsessorist, vältides viivitusi mis tahes toiminguga. Protsessorile eraldatud „ajakulu” ei pruugi tingimata olla võrdne, kuna see sõltub sellest, kui kaua ülesande täitmine võtab.

Ennetav sõiduplaani koostamine

See ajastamismudel võimaldab tööülesandeid katkestada - vastupidiselt ennetavale plaanimisele, mille lähenemisviis on täielik valmimine..

Katkestused, mida saab algatada välistest kõnedest, kutsuvad planeerijat üles peatama jooksva ülesande, et hallata teist kõrgema prioriteediga ülesannet - nii saab keskprotsessori juhtimist ennetada.

A prioriteetsem ülesanne Valmis olek täidetakse, võimaldades kiiret reageerimist reaalajas sündmustele.

Mõned ennetava ajastamisega seotud miinused hõlmavad ressursside üldkulude suurenemist katkestuste kasutamisel ja probleemid võivad tekkida kahe andmete ühiskasutusülesande korral, kuna üks võib ühise andmestruktuuri värskendamisel katkestada ja see võib kahjustada andmete terviklikkust..

Teisest küljest on otstarbekas osata peatada ülesannet, et hallata teist, mis võib olla kriitiline.

Kokkuvõttes

Erinevates poliitikates võib määratleda palju erinevusi ja sõltuvusi, näiteks kasutades a „Ümarrohu poliitika [i]” kus iga ülesanne (võrdse prioriteediga) jookseb üks kord ja paigutatakse järgmise tsükli jaoks järjekorra lõppu.

Muud poliitikad hõlmavad Esimene-esimene-esimene, Kõige lühem töö, Lühim töö-järgmine, Lühim järelejäänud aeg, jne.

Ajalooliste andmete analüüs võib anda teavet selliste aspektide kohta nagu uute ülesannete saabumise kiirus, CPU ja I / O puhkemised jne, nii et tõenäosusjaotused saavad arvutada ülesannete ooteaegade karakteristikud, relvastades administraatorid asjakohaste andmetega ajastusmudelite määratlemiseks..