Como o agendador do Linux agenda processos em processadores com vários núcleos?

Processadores com vários núcleos exploram o paralelismo de nível de encadeamento, o que significa que vários encadeamentos são executados em paralelo. Suponha que um processo tenha apenas um segmento, então, os outros núcleos permanecem ociosos durante a execução deste processo? No sistema linux, o planejador considera processos e encadeamentos como uma tarefa. Não diferencia entre processo e thread ao agendá-lo. Então, isso significa que diferentes núcleos executam diferentes threads de diferentes processos em paralelo?

Quando a troca de contexto acontece, isso acontece apenas para um núcleo ou para todos os núcleos da CPU?

questionAnswers(1)

yourAnswerToTheQuestion