David, vamos primeiro abordar sua pergunta direta: como restringir o Windows Vista a um núcleo.
Eu vejo duas maneiras:
(a) Execute seu Vista em uma máquina virtual no Hyper-V e forneça à VM apenas um processador lógico. Isso deixa o resto da máquina em bom estado.
(b) Como alternativa, você pode usar a opção / numproc = 1 no boot.ini para forçar a máquina a use um único processador. Você pode configurar isso através do msconfig.
- Clique em Iniciar, clique em Executar, digite msconfig e clique em OK.
- Clique na guia "Boot".
- Clique em "Opções avançadas ..."
- Clique para selecionar a caixa de seleção "Número de processadores" e selecione "1".
- Clique em OK duas vezes e, em seguida, reinicie o computador.
texto alternativo http://i39.tinypic.com/141789i.png
Mas talvez seja suficiente restringir apenas o seu programa a um único núcleo e, em seguida, definindo a afinidade do processador é a resposta preferível. Isto pode ser conseguido através da configuração ou diretamente do seu código de processo.
Além destes, você também pode querer considerar ferramentas avançadas de depuração multitreading, como Verificador de threads da Intel se isso se aplica ao seu ambiente.