Sobes.tech
Junior — Middle

Kaip paskirsto operacinė sistema dviejų procesų vykdymą, pradėtus viename procesoriaus branduolyje?

sobes.tech AI

Atsakymas iš AI

Operacinė sistema naudoja planuotoją (scheduler), kad paskirstytų CPU laiką tarp kelių procesų, net jei turi tik vieną branduolį.

Pagrindinis principas yra daugiužduotumas su laiko dalijimu (time slicing). Procesai gauna laiko kvantą (time slice), kurio metu jie vykdomi. Pasibaigus kvantui, planuotojas sustabdo esamą procesą ir pereina prie kito.

Tai vyksta labai greitai (milisekundės), sukurdami iliuziją apie vienalaikį vykdymą.

Go kalboje, be operacinės sistemos, yra ir savo goroutine planuotojas, kuris paskirsto lengvų sriegių (goroutine) vykdymą viename ar keliuose sisteminiuose sriegiuose, tačiau proceso lygyje tai jau yra OS užduotis.