Plánovanie procesora (alebo Plánovanie CPU) určuje, ktoré procesy sú priradené k CPU a odstránené z CPU na základe modelov plánovania, napr preemptivní a Nepreventívne plánovanie (taktiež známy ako Kooperatívne plánovanie).
Staršie systémy by mohli fungovať v jednoduchých samostatných režimoch, ale s narastajúcou potrebou pružných pružných systémov, ako aj virtualizácie, efektívne spravovanie viacerých procesov poskytuje rýchlu reakciu na všetky požiadavky na spracovanie úloh..
Plánovacie jednotky sa často označujú ako a úloha a úlohou plánovača je spravovať a spravovať tieto úlohy kedykoľvek je to potrebné; plánovač vyberie úlohu, ktorá má byť odstránená a priradená CPU na spracovanie, podľa použitého modelu plánovania.
Plánovač musí spustiť spravodlivý a efektívny výberový proces, pričom musí zohľadniť variabilné, dynamické spracovateľské požiadavky a čo najlepšie využiť cykly CPU..
Počas spracovania môžu byť úlohy v dvoch stavoch:
Keď je CPU nečinný, plánovač načíta Pripravený front, a vyberie ďalšiu úlohu, ktorá sa má spustiť. Potom je to odosielateľ ktorý dáva vybranej úlohe kontrolu nad CPU, takže musí byť rýchly! Kedykoľvek čas, ktorý dispečer zaberie, je známy ako Latencia odoslania.
Definujú sa rôzne štruktúry a vlastné parametre Pripravený front, ako aj niekoľko metód, ktoré možno použiť na riadenie zložitosti procesu plánovania.
Vo všeobecnosti ide o optimalizáciu a maximalizáciu využitia CPU, priepustnosti atď.
Plánovač sa musí rozhodnúť v jednej z nasledujúcich etáp:
Nová úloha musí byť vybraná, ak dôjde k etape 1 alebo 4, aby sa zabezpečilo plné využitie CPU, a vo fázach 2 a 3 môže úloha pokračovať v prevádzke alebo je vybraná nová..
Po pochopení spôsobu spracovania úlohy sa pozrime na dva modely plánovania, ktoré sa zaoberajú prerušeniami CPU.
Obaja majú podobné vlastnosti s úlohami, stavmi úloh, frontami a prioritami (statickými alebo dynamickými):
Úlohy v rámci systému, ktorý nie je preventívny, budú prebiehať až do dokončenia.
Plánovač potom skontroluje stavy všetkých úloh a naplánuje ďalšiu úlohu s najvyššou prioritou pomocou pripravený štát.
V prípade nevyplývajúceho plánovania, akonáhle má nejaká úloha priradené k CPU, nemožno ju odobrať, aj keď krátke úlohy musia čakať na dokončenie dlhších úloh..
Riadenie plánovania vo všetkých úlohách je „spravodlivé“ a časy odozvy sú predvídateľné, pretože úlohy s vysokou prioritou nemôžu narážať čakajúce úlohy ďalej v rade..
Plánovač zabezpečí, aby každá úloha získala svoj podiel CPU, čím sa vyhne akémukoľvek oneskoreniu pri akejkoľvek úlohe. „Množstvo času“ pridelené CPU nemusí byť nevyhnutne rovnaké, pretože závisí od toho, ako dlho trvá dokončenie úlohy.
Tento model plánovania umožňuje prerušenie úloh - na rozdiel od neplánovaného plánovania, ktoré má prístup „run-to-dokončení“..
Prerušenia, ktoré by mohli byť iniciované z externých hovorov, vyvolávajú plánovač, aby pozastavil bežiacu úlohu, aby spravoval ďalšiu úlohu s vyššou prioritou - takže je možné vopred vylúčiť riadenie CPU..
Úloha s najvyššou prioritou v a pripravený stav, ktorý umožňuje rýchlu reakciu na udalosti v reálnom čase.
Niektoré z nevýhod preventívneho plánovania zahŕňajú zvýšenie režijných nákladov na zdroje pri používaní prerušení a môžu sa vyskytnúť problémy s dvoma úlohami zdieľania údajov, pretože jedna môže byť prerušená pri aktualizácii štruktúr zdieľaných údajov a mohla by negatívne ovplyvniť integritu údajov..
Na druhej strane je praktické pozastaviť úlohu na spravovanie inej úlohy, ktorá by mohla byť kritická.
Je možné definovať mnoho odchýlok a závislosti v rôznych politikách, napríklad pomocou a „Zásady okrúhleho Robin [i]“ kde je každá úloha (s rovnakou prioritou) vykonaná raz a potom umiestnená na koniec frontu, pre ďalší cyklus.
Medzi ďalšie politiky patrí Prvý dnu prvý von, Najkratšia-Job-First, Najkratšia-Job-Next, Najkratší zostávajúci čas, atď.
Analýza historických údajov môže poskytnúť informácie o aspektoch, ako je rýchlosť, akou prichádzajú nové úlohy, CPU a I / O bursts atď., Takže distribúcie pravdepodobnosti môžu vypočítať charakteristiky čakacích dôb úloh, a tak správcom vyzvať príslušné údaje, aby definovali modely plánovania..