Sobes.tech
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:

  1. Umiestnite všetky pripravené procesy do fronty.
  2. Priradte prvý proces z fronty na CPU na kvant času.
  3. Po skončení kvanta, ak proces nie je ukončený, ho vráťte na koniec fronty.
  4. Opakujte, kým sú pripravené procesy.

Takto plánovač zabezpečuje spravodlivé a efektívne rozdelenie zdrojov.