BSOD BugCheck no sistema Multi-core - O segmento causou o acidente?

1

Estou ciente de que um sistema do Windows irá travar com um erro de parada e uma "tela azul" para um algumas razões comuns , algumas das quais podem ser:

  • Um driver de dispositivo ou uma função do sistema operacional que é executada no espaço do modo kernel experimenta uma exceção não tratada (problemas de acesso à memória, etc.)
  • Um driver de dispositivo ou uma função do sistema operacional trava explicitamente o sistema porque detecta a corrupção ou o risco de corrupção
  • Hardware com defeito

O que me interessa é que, ao examinar um despejo de memória (em dizer WinDBG), o dump sempre indique o encadeamento que causou a falha, o que permite examinar a pilha desse encadeamento, fornecendo um histórico das chamadas que levou à verificação de erros e falha. Andar nesta pilha fornece pistas sobre como evitar o problema no futuro (por exemplo, um driver específico que precisa de atualização, etc.).

Sabendo disso, eu me fiz a seguinte pergunta que revela uma lacuna no meu conhecimento:

  1. Em um sistema multicore / processador, vários segmentos serão executados simultaneamente
  2. Portanto, certamente existe o potencial de dois threads para simultaneamente levantar uma verificação de bug?

O que acontece nessas circunstâncias? Eu tenho um mal-entendido fundamental sobre como o sistema operacional lida com sistemas multicore / processador em termos de execução simultânea e acesso a memória e hardware (IRQL e chamadas de procedimento diferido (DPC) etc.)?

Obrigado

    
por MFT_Whatarethee 28.04.2016 / 23:01

0 respostas