Sobes.tech
Junior — Middle
115

Каким образом операционная система распределяет выполнение двух процессов, запущенных на одном процессорном ядре?

AI-дан жауап

sobes.tech AI

Операционная система использует планировщик (scheduler) для распределения времени процессора между несколькими процессами, даже если у неё только одно ядро.

Основной принцип — многозадачность с разделением времени (time slicing). Процессы получают квант времени (time slice), в течение которого они выполняются. По истечении кванта планировщик приостанавливает текущий процесс и переключается на другой.

Это происходит очень быстро (миллисекунды), создавая иллюзию одновременного выполнения.

В Go, помимо ОС, есть собственный планировщик горутин, который распределяет выполнение лёгких потоков (горутин) внутри одного или нескольких системных потоков, но на уровне процессов это уже задача ОС.