É possível que o kernel não permita que um segmento já pronto seja executado mesmo quando houver um processador inativo?

0

Suponha que a afinidade de cada thread seja de todos os processadores. Sempre que um encadeamento ficar pronto, o kernel tentará encontrar um processador inativo para executá-lo?

    
por xiaokaoy 21.07.2016 / 08:19

1 resposta

0

O agendador de processo do kernel não espera que os núcleos fiquem inativos, ele realmente decide o que obtém fatias de processamento em cada núcleo sequencialmente com base em affinity e priority .

Quando o encadeamento estiver inativo ou aguardando E / S, ele simplesmente será ignorado até a próxima vez em que o planejador voltar a ele em sua fila de processamento.

Entender isso com mais detalhes requer a leitura do código-fonte. Esteja avisado que é a parte mais complexa do kernel.

    
por 21.07.2016 / 09:23