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