ЦП не выполняют переключение контекста.Операционные системы делают.
По сути, ОС выполняет переключение контекста, загружая новый контекст (регистры, отображения памяти и т. Д.) В ядро ЦП.Потоки - это структура ОС, в которой такие контексты могут быть сохранены.Следовательно, ОС также отвечает за выбор незапускаемого потока для загрузки контекста ЦП.
Если ОС выберет работающий поток, два ядра будут пытаться запустить один и тот же поток.Это может привести к путанице, так как они будут использовать одну и ту же память, и этот единственный поток не будет ожидать, что он будет работать параллельно с самим собой (!), Поэтому ни одна ОС не сделает такого.