При переключении контекста на одноядерном процессоре ответственный код выполняется на единственном процессоре, который заботится о переключении потоков.
Но как это сделать, когда у нас несколько процессоров? Есть ли главный ЦП, который выполняет переключение контекста всех подчиненных ЦП? Каждый ЦП отвечает за собственное переключение контекста? Если да, то как синхронизируется переключение, чтобы два процессора не выполняли один и тот же поток? Или есть какой-то другой механизм?