- dlhodobe - urcuje, ktore programy budu zpracovane systemom
- strednodobe -
- kratkodobe - pri preruseni od casovaca, I/O zariadenia, systemove volania, signaly (medzi pamatou a CPU)
- kriteria su z uzivatelskeho hladiska: doba zpracovania, doba odozvy, dosiahnutie medze, predvidatelnost
- z hladiska OS su kriteria priepustnost, vyuzitie procesoru, spravodlivost, presadenie prorit, vyvazenie I/O
- I/O planovanie - urcuje, ktory I/O poziadavok bude obsluzeny volnym zariadenim
- procesy a vlakna mozme rozdelit na orientovane na CPU a orientovane na I/O. Doba vyuzitia CPU je kritickym faktorom.
strategie planovania
- planovanie s predbiehanim
- proces je zablokovany automaticky po uplynuti nejakeho casoveho kvanta
- je to jedina mozna strategia v real-time a viacuzivatelskych systemoch
- planovanie bez predbiehania
- proces bezi, az kym o nejaku sluzbu nepoziada jadro, alebo kym neskonci
- pouzivalo sa v davkovych systemoch, v real-time systemoch by hrozilo blokovanie jadra
- pouziva sa v niektorych procesoch pre specialne triedy procesov a vlakien
- planovanie v davkovych systemoch
- First Come First Served - FIFO fronta
- bez predbiehania
- ked je beziaci proces zablokovany, tak dalsi z fronty ma volno
- ked je bloknuty proces opat ready, tak sa vlozi do fronty
- jednoduche, ale moze zpomalovat procesy orientovane na I/O
- Shortest Job First
- bez predbiehania, ale predpoklada, ze doba vypoctu bude znama vopred
- planovac teda spusti najskor procesy s najmensou dobou vypoctu
- planovac sa snazi minimalizovat priemernu dobu vypoctu
- Shortest Remaining Time Next
- je to vlastne Shortest Job First, ale s predbiehanim
- na radu sa dostane proces, ktory by mal najrychlejsie skoncit - ked pride poziadavok, tak sa porovna, ze kto bude rychlejsi - aktualny proces vs novy proces? a ten rychlejsi ide
- starvation risk
- planovanie v interaktivnych systemoch
- Round Robin
- planovanie s predbiehanim
- ready procesy cakaju vo FIFO fronte
- kazdy proces ma casove kvantum, po uplynuti ktoreho, sa zaradi na koniec fronty
- dlzka casoveho kvanta je dolezita v tomto pripade - dlha == dlha doba odozvy, kratka == neefektivne pre CPU, 20 - 50ms je kompromis
- Priority Scheduling
- procesy maju pridelenu prioritu
- procesy su zoradene v triedach podla priority
- CPU je priradzovane procesom s najvyssou prioritou - v ramci triedy sa procesy striedaju s pouzitim round robin
- bez predbiehania - problem hladovenia
- s predbiehanim
- staticka/dynamicka priorita
- ak staticka, tak nadalej moze dochadzat k starvation
- ak dynamicka, tak proces, ktory caka dlho, moze dostat zvysenu prioritu
- casove kvanta mozu byt fixne/variabilne - v zavislosti na danej triede
Windows - Priority Scheduling s predbiehanim