Em um sistema multicore, cada cpu terá seu próprio kernel linux?

2

O que eu quis dizer foi que, em um sistema multicore com 'n' número de cpu's, cada cpu terá seu próprio kernel linux instalado, ou todas as cpu terão uma cópia da mesma imagem do kernel?

Outra questão sobre o multicore é o rastreio do kernel. Como o rastreamento funciona no nível do kernel, devo executar o rastreio para cada cpu separadamente ou o rastreio do kernel pode ser executado como um todo para todas as cpu's juntas?

    
por tracemein 16.02.2010 / 22:24

3 respostas

7

Todas as CPUs compartilham o mesmo sistema de memória e há apenas uma cópia do Linux carregado. Cada processo em execução terá sua própria pilha, mas isso também é verdade em sistemas de CPU única.

O Strace é implementado via ptrace, que acredito que funciona em PIDs individuais, então acho que isso significa que ele só rastreará a execução de um único thread.

    
por 16.02.2010 / 22:25
0

Você terá uma imagem do kernel, com seções do código executadas através do número de núcleos / cpu's. Isso irá variar dependendo dos switches do kernel / como foi compilado.

Em relação ao rastreio do kernel, você ainda terá um rastreio!

Lembre-se que o mesmo kernel singular será executado por múltiplos cpus / núcleos ...

Espero que isso ajude, Cumprimentos, Tom.

    
por 16.02.2010 / 22:28
0

Obrigado a todos por suas respostas. Eu mesmo fiz uma pequena pesquisa e descobri que ambos são possíveis em sistemas multicore. Um sistema multicore SMP terá um único kernel linux para todos os núcleos, onde, como em um sistema multicore AMP, cada núcleo terá seu próprio kernel. Normalmente, alguns multicores terão alguns núcleos para o AMP realizando tarefas críticas em tempo real, e o restante será o SMP executando tarefas não críticas e normais.

A pergunta, eu perguntei é sobre o rastreamento do kernel. Atualmente, a maioria dos kernels vem com kprobes embutidos que permitirão aos desenvolvedores do kernel obter informações sobre o desempenho do kernel. Eu acho que a resposta para a primeira questão também resolve essa questão. Em um SMP, um único rastreio para um kernel será gerado onde, como em AMP, serão gerados tantos rastreamentos quanto o número de CPUs.

AMP significa Multi-processamento assimétrico, SMP significa Multi-processamento simétrico

    
por 17.02.2010 / 17:54