6 votes

Pourquoi Windows 98 nous donnait-il fréquemment des écrans bleus ?

Contrairement à Windows XP, qui me donne rarement un écran bleu, je me souviens que, lorsque j'utilisais Windows 98, il se transformait souvent en écran bleu.

Y a-t-il un problème avec Windows 98 qui le rend particulièrement instable ?

8voto

Ed Brannin Points 2723

La principale cause d'un BSOD est une exception qui n'a pas été lue dans un pilote et dont le système ne peut pas se remettre. La principale raison pour laquelle les choses ont changé est le nouveau système de pilotes ( WDM ) est beaucoup plus stable que l'ancien système ( VxD ) pour traiter les cas limites. Maintenant, vous obtiendrez simplement une erreur dans le journal des événements au lieu d'un BSOD sur une erreur dans un pilote qui n'est pas assez grave pour mettre le système hors service.

Un autre facteur est que Microsoft a mis en place beaucoup plus de ressources que les développeurs peuvent utiliser pour créer un meilleur code.

Un troisième facteur (que billc.cn m'a rappelé, et qui est peut-être plus courant que le problème du pilote) Depuis Windows XP, il est beaucoup plus difficile d'accéder à la RAM d'un autre programme en cours d'exécution. Très souvent, des programmes normaux mal écrits pouvaient simplement s'en aller et écraser ce qu'ils voulaient dans l'espace mémoire d'un autre programme, et si cet autre programme était un élément clé de Windows .... BSOD.

Ces trois éléments expliquent pourquoi les BSOD sont beaucoup moins fréquents.

Bien sûr, si les BSODs vous manquent vraiment. CrashOnCtrlScroll à 1, maintenez la touche Ctrl droite enfoncée et appuyez deux fois sur la touche Arrêt défil (sauvegardez tous les programmes ouverts avant d'essayer).

5voto

billc.cn Points 6989
  • Parfois, il s'agit simplement d'une façon particulière de signaler les erreurs non fatales. Vous pouvez en fait vous remettre de ce type d'écran bleu en appuyant sur la touche Entrée.
  • Windows 98 ne dispose d'aucune protection utile de la mémoire et d'aucun contrôle d'accès, de sorte qu'un processus peut facilement corrompre la mémoire d'autres processus. Il n'y a pas de moyen facile de récupérer la corruption du noyau ou des processus système, de sorte qu'il ne peut que vous montrer un BSoD et redémarrer. Depuis Windows NT, une protection stricte de la mémoire a été mise en place, de sorte que les écrans bleus sont moins fréquents (ce qui n'est possible qu'en raison des bogues de l'espace noyau).
  • Windows a conservé la compatibilité DOS, ce qui permet d'avoir toutes sortes de choses bizarres comme des pilotes 16 bits. Ils peuvent contenir tellement de piratages qu'ils ne sont que des BSoD qui attendent de se produire.
  • Windows 98 contient beaucoup de code bogué en général.

2voto

Hasan Manzak Points 1521

Un autre élément à l'origine des BSoD est l'algorithme d'ordonnancement. Si vous ne savez pas ce qu'est un ordonnanceur, il s'agit de la partie du noyau qui décide quelle application sera exécutée ensuite dans un système multitâche. L'objectif principal de l'ordonnanceur est de pouvoir exécuter toutes les applications qui sont dans l'état "processus" et d'empêcher ces processus de retenir indéfiniment les ressources du système. Chaque processus a besoin de ressources système telles que la mémoire, le processeur ou les E/S, et il doit libérer ces ressources après les avoir utilisées. Si un processus attend une ressource qui est détenue par un autre processus, ce processus en attente ne peut pas continuer à fonctionner et est privé de cette ressource. Supposons que nous avons deux processus en cours d'exécution, p1 et p2, et deux ressources système, r1 et r2, et que p1 détient r1, p2 détient r2. Si le processus p2 entre dans un état d'attente pour la ressource r1 et le processus p1 entre dans un état d'attente pour la ressource r2, alors le système se bloque et les processus p1 et p2 ne peuvent pas sortir de l'état d'attente et ne peuvent pas continuer à fonctionner. Cet état est appelé "deadlock". Un système complètement bloqué ne peut être récupéré que par un redémarrage.

L'algorithme d'ordonnancement de Win98 ne peut pas éviter les blocages aussi souhaité . Ainsi, les BSoDs sont plus fréquents dans win98 que dans winXP qui a un planificateur et un gestionnaire de ressources plus avancés et plus puissants.

2voto

Les points principaux ont déjà été mentionnés : Windows XP a un nouveau sous-système de pilotes et Windows XP a une protection de la mémoire beaucoup plus stricte.

Un troisième point important qui n'a pas été mentionné : à partir de Windows XP, Microsoft a exigé que tout le matériel + les pilotes soient soumis à un certain niveau de tests de compatibilité ( WHQL ) afin de porter un "Compatible avec Windows" autocollant. Cela renforce un certain niveau d'assurance qualité qui n'existait pas auparavant.

2voto

user Points 28521

Windows XP (qui est techniquement Windows NT 5.1) est/était basé sur une architecture complètement différente de celle de Windows 98 (techniquement Windows 4.1). Je ne me souviens pas avoir eu beaucoup de BSODs sous Windows NT 4.0 non plus. Le noyau et l'architecture de NT sont conçus et écrits de telle manière que les erreurs logicielles faisant tomber l'ensemble du système d'exploitation (se manifestant sous la forme d'un BSOD) sont beaucoup plus rares que dans les séries Windows anciennes/"ordinaires". Rappelez-vous que le chemin de mise à niveau des produits est passé de DOS + Windows 3.11 à Windows 95 puis à Windows 98, ou Windows NT 3.x à Windows NT 4.0 à Windows 2000 (NT 5.0) à Windows XP (NT 5.1).

Je me souviens que lorsque j'ai installé la station de travail NT 4.0, une chose qui a été spécifiquement signalée était que vous ne peut pas l'installer au-dessus de n'importe quelle version de Windows ordinaire (par opposition à Windows NT). Il est probable que pourrait aurait été possible si Microsoft y avait consacré beaucoup d'efforts, mais les deux sont si différents que (1) cela n'aurait probablement pas vraiment de sens, et (2) il n'y aurait aucun moyen de garantir un résultat stable, du point de vue du système d'exploitation et/ou des applications. Ainsi, ils ont probablement choisi de ne même pas essayer et de passer ce temps à travailler sur d'autres fonctionnalités qui étaient plus significatives pour son marché cible (qui était complètement différent de la série Windows 9x). Même chose avec Windows 2000, je crois, mais comme à ce moment-là je mettais à niveau depuis NT 4.0, ce n'était pas un problème pour moi.

À titre d'information, l'une des principales modifications apportées entre NT 3.51 et NT 4.0 a consisté à faire passer les pilotes graphiques de l'anneau 3 (mode utilisateur) à l'anneau 0 (mode noyau). Cela était censé être fait pour des raisons de performance, mais avait un énorme inconvénient : soudainement, un pilote graphique mal écrit pouvait beaucoup plus facilement faire tomber le système avec un BSOD. Je pense, mais je n'en suis pas certain, qu'une des choses qu'ils ont changé dans Vista (NT 6.0) était de remettre ces pilotes dans l'anneau 3 - cette fois pour des raisons de stabilité.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X