Junior — Middle
Ako systémový plánovač zostavuje rozvrh spracovania požiadaviek?
sobes.tech AI
Odpoveď od AI
Plánovač systému (scheduler) v operačnom systéme je zodpovedný za rozdelenie procesorového času medzi procesy a vlákna. Základné princípy tvorby časového plánu sú:
- Prioritky: procesy s vyššou prioritou majú prednosť.
- Časový kvantum: každému procesu je pridelené určité časové obdobie (kvantum), po ktorom sa riadenie presúva na iný proces.
- Politiky plánovania: existujú rôzne algoritmy, ako Round Robin (kruhové prechádzanie), FIFO, prioritatívne plánovanie, viacúrovňové fronty.
- Zohľadnenie stavu procesov: plánovač berie do úvahy, či je proces pripravený na vykonanie alebo čaká na vstup/výstup.
V Go funguje plánovač gorutín na podobnom princípe, rozdeľujúc gorutiny medzi systémové vlákna pomocou plánovania M:N. Snaží sa efektívne využívať dostupné jadrá, prepínaním medzi gorutinami pri blokovaní alebo podľa kvanta.
Príklad zjednodušeného algoritmu Round Robin:
- Umiestnite všetky pripravené procesy do fronty.
- Priradte prvý proces z fronty na CPU na kvant času.
- Po skončení kvanta, ak proces nie je ukončený, ho vráťte na koniec fronty.
- Opakujte, kým sú pripravené procesy.
Takto plánovač zabezpečuje spravodlivé a efektívne rozdelenie zdrojov.