Procesoriaus planavimas (arba CPU planavimas) nustato, kuriems procesams priskiriami ir pašalinami procesoriai, remiantis planavimo modeliais, tokiais kaip Prevencinis ir Neprevencinis planavimas (taip pat žinomas kaip Bendradarbiavimo planavimas).
Senesnės sistemos galėtų veikti paprastais atskirais režimais, tačiau, atsižvelgiant į didėjantį reaguojančių, lanksčių sistemų poreikį ir virtualizaciją, efektyviai valdant daugialypį apdorojimą, greitai reaguojama į visas užduočių apdorojimo užklausas..
Planavimo vienetai dažnai vadinami a užduotis ir, kai reikia, šias užduotis vykdyti ir valdyti yra planuotojo užduotis; Tvarkaraštis pasirenka užduotį, kurią reikia pašalinti, ir priskiria procesoriui apdoroti pagal naudojamą planavimo modelį..
Tvarkaraštis turi vykdyti teisingą ir veiksmingą atrankos procesą, atsižvelgdamas į kintamas, dinamiškas apdorojimo užklausas ir maksimaliai išnaudodamas centrinio procesoriaus ciklus..
Apdorojant užduotys gali būti dviejose būsenose:
Kai procesorius nenaudojamas, planavimo priemonė nuskaito Paruošta eilė, ir pasirenka kitą vykdomą užduotį. Tada yra Dispečeris tai suteikia pasirinktai užduočiai CPU valdymą, todėl ji turi būti greita! Bet koks dispečerio laikas yra žinomas kaip Siuntimo vėlavimas.
Yra skirtingos struktūros ir pasirinktiniai parametrai Paruošta eilė, taip pat keletas metodų, kurie gali būti naudojami planavimo proceso sudėtingumui valdyti.
Paprastai kalbant apie procesoriaus panaudojimo, pralaidumo ir kt. Optimizavimą ir maksimizavimą.
Tvarkaraštis turi priimti sprendimą viename iš šių etapų:
Jei 1 ar 4 etapas įvyksta taip, kad būtų užtikrintas visiškas CPU panaudojimas, reikia pasirinkti naują užduotį, o tiek 2, tiek 3 etape užduotis gali būti vykdoma toliau arba pasirenkama nauja..
Supratę, kaip apdorojama užduotis, pažvelkime į du planavimo modelius, susijusius su procesoriaus pertraukimais.
Abu jie turi panašias funkcijas, susijusias su užduotimis, užduočių būsenomis, eilėmis ir prioritetais (statiniais ar dinaminiais):
Neprevencinėje sistemoje vykdomos užduotys bus įvykdytos iki galo.
Tada Tvarkaraštis patikrina visų užduočių būsenas ir suplanuoja kitą aukščiausio prioriteto užduotį mygtuku Parengta valstybės.
Neprevencinis planavimas, kai užduotis priskiriama centriniam procesoriui, jos negalima pašalinti, net jei trumpoms užduotims reikia laukti ilgesnių užduočių..
Visų užduočių planavimo valdymas yra „teisingas“ ir numatomas reagavimo laikas, nes aukšto prioriteto užduotys negali perkelti laukimo užduočių toliau eilėje..
Tvarkaraštis užtikrina, kad kiekviena užduotis užima dalį centrinio procesoriaus, išvengiant bet kokio užduoties vėlavimo. CPU paskirta „laiko suma“ nebūtinai turi būti lygi, nes tai priklauso nuo to, kiek laiko užduočiai atlikti reikia.
Šis planavimo modelis leidžia pertraukti užduotis - priešingai nei neprevencinis planavimas, kurio metodas yra „nuo pradžios iki pabaigos“..
Pertraukimai, kurie gali būti inicijuojami iš išorinių skambučių, reikalauja, kad Tvarkaraštis sustabdytų vykdomą užduotį, kad būtų galima valdyti kitą aukštesnio prioriteto užduotį - taigi galima užkirsti kelią centrinio procesoriaus valdymui..
Aukščiausio prioriteto užduotis a Parengta būsena vykdoma, leidžianti greitai reaguoti į realaus laiko įvykius.
Kai kurie trūkumai, susiję su prevenciniu planavimu, yra susiję su išteklių pridėtinių išlaidų padidėjimu, kai naudojami pertraukimai, ir problemų gali kilti dėl dviejų užduočių dalijimosi duomenimis, nes viena gali būti nutraukta atnaujinant bendrai naudojamas duomenų struktūras ir tai gali neigiamai paveikti duomenų vientisumą..
Kita vertus, praktiška mokėti pristabdyti užduotį, kad būtų galima valdyti kitą, kuri galėtų būti kritinė.
Galima apibrėžti daugybę skirtingų strategijų skirtumų ir priklausomybių, pavyzdžiui, naudojant a „Apvaliojo robino politika [i]“ kur kiekviena užduotis (turinti vienodą prioritetą) vykdoma vieną kartą, o po to dedama į eilės pabaigą kitam ciklui.
Į kitas politikas įeina Pirmas vidun, pirmas laukan, Trumpiausias darbas, Trumpiausias darbas-kitas, Trumpiausias likęs laikas, ir tt.
Istorinių duomenų analizė gali suteikti informacijos apie aspektus, tokius kaip naujų užduočių atvykimo greitis, procesoriaus ir I / O įkėlimai ir tt, taigi tikimybių pasiskirstymas gali apskaičiuoti užduočių laukimo laiko charakteristikas, tokiu būdu padėdamas administratorius svarbiais duomenimis apibrėžti planavimo modelius..