Como a Microsoft reduziu o aparecimento da "tela azul da morte" - Windows
Como a Microsoft reduziu o aparecimento da "tela azul da morte"
Por Redação | 01 de Outubro de 2013 às 14h16
Quem não se lembra da "tela azul da morte" (Blue Screen of Death), uma maneira nada simpática do Windows nos dizer que ocorreu um erro catastrófico e que o PC precisa ser reiniciado? Nos últimos anos, o aparecimento da temida tela tornou-se menos frequente devido ao avanço das novas versões dos sistemas operacionais da Microsoft.
Em um evento recente em Cambridge (Inglaterra), a Microsoft falou sobre como ela tinha conseguido reduzir o aparecimento do código da tela azul em seu SO usando ferramentas automatizadas e uma quantidade enorme de relatórios de falhas de usuários do Windows XP.
A principal causa de falhas no Windows XP era os drivers, que foram responsáveis por 85% das telas azuis no SO – principalmente erros em drivers desatualizados ou que foram atualizados com problema. Basicamente, drivers são os códigos que permitem que um sistema operacional controle um dispositivo de hardware, como uma impressora, utilizando comandos entre o dispositivo e o núcleo do SO, o kernel.
O processo de encontrar e reduzir bugs (debug) em drivers pode ser particularmente difícil, já que o seu código é escrito por diferentes empresas e geralmente não é open source. Suas interações também podem ser bastante complexas. "Há um número exponencialmente crescente de drivers de dispositivos no ecossistema e que normalmente não são escritos pela Microsoft, mas sim pelos nossos parceiros", disse Byron Cook, principal pesquisador do laboratório da Microsoft Research em Cambridge, ao Zdnet. "Há uma série de regras a que esses sistemas devem aderir, caso contrário, todo o sistema vai travar".
Como a Microsoft conseguiu diminuir os erros de drivers?
Equipes na divisão Windows da Microsoft desenvolveram algoritmos baseados em relatórios de falhas reportados por usuários do Windows XP e que estavam relacionados com drivers. Então, esses algoritmos automaticamente categorizavam os drivers de acordo com seu desenvolvedor e listava as causas prováveis de erro.
A meta da empresa de Redmond era descobrir quais drivers estavam causando problemas e quais eram os erros fatais mais comuns entre eles. A Microsoft então estabeleceu que havia três principais maneiras de drivers travarem o Windows XP:
Drivers quebram APIs do Windows que lidam com a comunicação entre o kernel do sistema operacional e o driver. Um exemplo é quando um driver chama duas vezes o IoCompleteRequest e isso faz com o Windows pare de funcionar;
Corrupção de memória, que acontece quando a memória não é alocada corretamente para as estruturas de dados necessárias para o driver;
Driver entra em loop infinito e trava o sistema.
Para reduzir o número de bugs causados pelos drivers, a Microsoft então iniciou um programa de verificação em que utilizava um programa de computador com um sistema matemático para construir ferramentas capazes de encontrar correções usando a matemática e a lógica.
A empresa desenvolveu três novas ferramentas para detectar automaticamente os erros: um software chamado Slam, utilizado como um mecanismo de verificação de drivers; o Slayer, voltado para memórias corrompidas; e o Terminator, que ajudou a descobrir uma série de erros no XP.
Basicamente, o pesquisador Byron Cook disse que a estabilidade recente encontrada nos novos sistemas operacionais, como o Windows 7 e 8, foram possíveis graças ao trabalho desempenhado pela Microsoft em relação à estabilização dos drivers.
Mas se ainda assim você continua se deparando com a temida tela, o Canaltech te ensina o que fazer quando a "tela azul da morte" aparece.