Por que o Windows 98 nos apresentava telas azuis com frequência?

Por que o Windows 98 nos apresentava telas azuis com frequência?

Ao contrário do Windows XP, que raramente me dava tela azul, lembro que, quando usava o Windows 98, muitas vezes aparecia em tela azul.

Há algo de errado com o Windows 98 que o torna particularmente instável?

Responder1

A principal causa de um BSOD é uma exceção que não foi tratada em um driver do qual o sistema não consegue se recuperar. A principal razão pela qual as coisas mudaram é o novo sistema de driver (WDM) é muito mais estável que o sistema antigo (VxD) no tratamento de casos extremos. Agora você receberá apenas um erro no log de eventos em vez de um BSOD sobre um erro em um driver que não é ruim o suficiente para desligar o sistema.

Outro fator é que a Microsoft lançoumuito mais recursospara os desenvolvedores usarem para criar um código melhor.

Um terceiro fator (que o billc.cn me lembrou, e isso pode ser mais comum do que o problema do driver): a partir do Windows XP, é muito mais difícil acessar a RAM de outro programa em execução. Muitas vezes, apenas programas normais mal escritos poderiam simplesmente substituir o que quisessem dentro do espaço de memória de algum outro programa, e se esse outro programa fosse uma parte importante do Windows ... BSOD.

É entre essas três coisas que os BSODs são muito menos comuns.

claro, se você realmente sente falta do conjunto de BSODsCrashOnCtrlScrollpara 1, mantenha pressionada a tecla Ctrl direita e pressione Scroll Lock duas vezes. (salve todos os programas abertos antes de tentar)

Responder2

  • Às vezes é apenas um estilo particular de relatar erros não fatais. Na verdade, você pode se recuperar desse tipo de tela azul pressionando Enter.
  • O Windows 98 não possui nenhuma proteção útil de memória e controle de acesso, portanto, um processo pode facilmente corromper a memória de outros processos. Não há uma maneira fácil de recuperar a corrupção do kernel ou do processo do sistema, portanto, ele só pode mostrar um BSoD e reinicializar. Desde o Windows NT, uma proteção estrita de memória foi implementada para que a tela azul apareça com menos frequência (só possível devido a erros de espaço do kernel).
  • O Windows manteve a compatibilidade com o DOS, então você pode ter todo tipo de coisas estranhas, como drivers de 16 bits. Eles podem ter tantos hacks que são apenas BSoDs esperando para acontecer.
  • O Windows 98 contém muitos códigos com bugs em geral.

Responder3

Outra coisa que causa BSoDs é o algoritmo de agendamento. Se você não sabe o que é um agendador, o agendador é a parte do kernel que decide qual aplicativo será executado em seguida em um sistema multitarefa. O principal objetivo do agendador é ser capaz de executar todos os aplicativos que estão no estado de "processo" e evitar que esses processos retenham recursos do sistema para sempre. Cada processo precisa de recursos do sistema como memória, CPU ou E/S, e eles precisam liberar esses recursos após usá-los. Se um processo aguardar por um recurso que está sendo mantido por outro processo, esse processo em espera não poderá continuar em execução e ficará sem esse recurso. Suponha que temos dois processos em execução, p1 e p2, e dois recursos do sistema, r1 e r2, e p1 contém r1, p2 contém r2. Se o processo p2 entrar em um estado de espera para o recurso r1 e o processo p1 entrar em um estado de espera para o recurso r2, então esse sistema se bloqueará e esses processos p1 e p2 não poderão sair do estado de espera e não poderão continuar a execução. Este estado é denominado "Deadlock". Um sistema totalmente bloqueado só pode ser recuperado por reinicialização.

O algoritmo de agendamento do Win98 não pode evitar os impasses, poisdesejado. Portanto, BSoDs são mais frequentes no win98 do que no winXP, que possui um agendador e gerenciador de recursos mais avançado e poderoso.

Responder4

Os pontos principais já foram mencionados: o Windows XP possui um novo subsistema de driver e o Windows XP possui uma proteção de memória muito mais rígida.

Um terceiro ponto importanteisso não foi mencionado: começando com o Windows XP, a Microsoft exigiu que todo hardware + drivers passassem por um certo nível de teste de compatibilidade (WHQL) para suportar um"Compatível com Windows"adesivo. Isso impõe um certo nível de garantia de qualidade que não existia.

informação relacionada