Junior — Middle
Как разпределя операционната система изпълнението на два процеса, стартирани на един процесорен ядро?
sobes.tech AI
Отговор от AI
Операционная система использует планировщик (scheduler) для распределения времени процессора между несколькими процессами, даже если у неё только одно ядро.
Основной принцип — многозадачность с разделением времени (time slicing). Процессы получают квант времени (time slice), в течение которого они выполняются. По истечении кванта планировщик приостанавливает текущий процесс и переключается на другой.
Это происходит очень быстро (миллисекунды), создавая иллюзию одновременного выполнения.
В Go, помимо ОС, есть собственный планировщик горутин, который распределяет выполнение лёгких потоков (горутин) внутри одного или нескольких системных потоков, но на уровне процессов это уже задача ОС.