V číslicových počítačoch máme minimálne jeden CPU. Prvé operačné systémy boli takzvané jednoúlohové.
Počítač sa mohol venovať iba jednej úlohe/task. Úlohy boli preto koncipované tak
že museli po spustení viečo vykonať a skončiť. Najčastejšie išlo na príklad o načítanie vstupných dát.
Potom sa s datami vykonal nejaký výpočet, činnosť a ak vznikli nové data tie sa uložili alebo sa len vytlačili
výsledky výpočtov.
Úlohy boli vtedy pripravované na diernych štítkoch.
4,3MB dát na diernych štítkoch. Na jeden štítok sa zmestil jeden riadok textu dlhý maximálne 80 znakov
Takto pripravené úlohy boli usporiadané do tzv. dávok/batch. Všetky úlohy sa postupne vkladali na vstup počítača a ten ich vykonával. Zoraďovanie úloh mali na starosti spočiatku operátori počítača, neskôr špecializovaný program ktorému sa začalo hovoriť plánovač/scheduler
Plánovanie úloh sa dnes robí na základe rôznych kritérií. Toto sú najčastejšie:
K tomuto problému tu máme toto video.
Program je statický súbor, ktorý obsahuje inštrukcie ako sa má daná činnosť vykonať. Môže obsahovať aj potrebné data. Všetko je to v nejakom formáte (napr exe) uložené v súbore na disku. Je to ako recept na koláč. Hovorí vám, čo máte robiť, ale sám o sebe nič nerobí.
Proces je to aktívna inštancia programu počas jeho vykonávania. Je to ako keď začnete skutočne piecť koláč podľa receptu. Proces má vlastnú pamäť, zdroje (ako CPU a I/O) a stav.
Ako sa to deje?
Keď spustíte program, operačný systém (OS) najprv vytvorí
špeciálnu riadiacu štruktúru PCB (Proces Control Block)
Potom zistí koľko pamäte program potrebuje k svojej činnosti.
Túto pamäť alokuje pre dané PCB.
Do tejto pamäte potom načíta program z disku.
Procesor začne vykonávať inštrukcie z programu uložené v pamäti.
Práve sme podľa receptu začali piecť koláč. Teda z programu sa stal proces.
PCB (Proces Control Block) je
dátová štruktúra, ktorú používa operačný systém na uchovávanie všetkých informácií o procese.
PCB je zásadný pre efektívne riadenie procesov a zabezpečuje, že operačný systém môže sledovať
a spravovať rôzne procesy v systéme.
Hlavné komponenty PCB:
Identifikátor procesu (PID): Unikátne číslo, ktoré identifikuje každý proces.
Stav procesu: Informácie o aktuálnom stave procesu (napr. beží, čaká, ukončený).
Registre CPU: Ukladá hodnoty registrov CPU, ktoré sú potrebné na obnovenie stavu procesu.
Pamäťové informácie: Informácie o alokovanej pamäti pre proces, vrátane adresy začiatku a konca.
Priorita procesu: Určuje prioritu procesu v rámci plánovania CPU.
Informácie o I/O: Zoznam vstupno-výstupných zariadení, ktoré proces používa.
Prvá najjednoduchšia metóda dostala názov FCFS First Come First Serve