Comment Windows 7 est-il capable de récupérer d'un crash de pilote?


0

J'ai remarqué que le PC de jeu de mon frère fonctionnant sous Windows 7 avait un crash de pilote pour sa carte vidéo nvidia 690, mais que le système d'exploitation lui-même ne s'était pas écrasé, il affirmait plutôt qu'il avait récupéré. J'étais curieux de savoir comment cela est possible? J'avais l'impression que, puisque le noyau ne dispose pas de protection de la mémoire, un crash du pilote ferait tomber tout le système d'exploitation, ce que je fonde sur ma connaissance du noyau Linux. Comment Windows 7 évite-t-il le crash complet de l'OS?

Réponses:


2

À partir de Windows Vista et du modèle de pilote WDDM, les pilotes GPU sont scindés en une partie noyau et mode utilisateur. Donc, un problème dans la partie en mode utilisateur ne fait plus planter Windows.

La fonctionnalité que vous voyez s'appelle Détection de délai d'attente et récupération de GPU (TDR) . Microsoft a expliqué cela ici dans un article .

  1. Le composant Planificateur de vidéo de la pile graphique Windows Vista détecte que le processeur graphique prend plus que le temps quantique autorisé pour exécuter la tâche particulière et tente de préempter cette tâche particulière. L'opération de préemption a un délai d'attente, le "délai d'attente TDR" réel. Cette étape est donc la phase de "détection de dépassement de délai" du processus. Le délai d'expiration par défaut sous Windows Vista est de 2 secondes. Si le processeur graphique ne peut pas terminer ou préempter la tâche en cours dans le délai imparti au TDR, le GPU est alors diagnostiqué bloqué.

  2. Le système d'exploitation informe le pilote WDDM qu'un délai d'attente a été détecté et il doit réinitialiser le GPU. Le pilote doit cesser d'accéder à la mémoire et ne doit plus accéder au matériel après cette heure. Le système d'exploitation et le pilote WDDM collectent le matériel et d'autres informations d'état pouvant s'avérer utiles pour le diagnostic post-mortem.

  3. Le système d'exploitation réinitialise l'état approprié de la pile de graphiques. Le composant Video Memory Manager de la pile graphique purge toutes les allocations de la mémoire vidéo. Le pilote WDDM réinitialise l'état matériel du GPU. La pile de graphiques effectue les actions finales et restaure le bureau à l'état réactif. Comme indiqué précédemment, certaines anciennes applications DirectX peuvent désormais afficher uniquement le noir, et l'utilisateur peut être amené à redémarrer ces applications. Les applications bien écrites DirectX 9Ex et DirectX 10 qui gèrent "Device Remove" continuent de fonctionner correctement. L'application doit libérer puis recréer son périphérique Microsoft Direct3D et tous ses objets.

    Tout au long du processus de détection et de récupération de blocage du processeur graphique, le poste de travail ne répond pas et ne peut donc pas être utilisé par l'utilisateur. Aux dernières étapes de la récupération, il se produit un bref clignotement d'écran similaire à celui où la résolution de l'écran est modifiée. Une fois le poste de travail récupéré, le message d’information suivant apparaît à l’utilisateur. entrez la description de l'image ici

Si vous voyez ce message trop souvent, consultez cet article de la base de connaissances:

Erreur "Le pilote d'affichage a cessé de répondre et a été récupérée" dans Windows 7 ou Windows Vista

http://support.microsoft.com/kb/2665946/en-us

Si vous utilisez un processeur graphique AMD, consultez cet article d’AMD:

Comment résoudre «Le pilote d'affichage a cessé de répondre et a été récupéré», erreurs de type ATIKMDAG.sys

http://support.amd.com/fr-fr/kb-articles/Pages/737-27116RadeonSeries-ATIKMDAG a reçu une correspondance par défaut.


Il y a plusieurs mois, nous avons eu le même problème et Windows s'est automatiquement rétabli. Je n'ai jamais compris comment ça s'est passé sans que je fasse quoi que ce soit.
Hunter

1

"Crash" est un terme très large. Vous voulez probablement dire ce message ballon:

Le pilote d'affichage a cessé de répondre et a été récupéré.

Ce n'est pas très détaillé aussi et vous devriez le lire comme ceci:

Votre GPU a fait quelque chose d'inattendu, mais le pilote a fait un peu de magie pour le récupérer. Ne paniquez pas, la situation est sous contrôle maintenant.

Donc, fondamentalement, ce n'est pas le pilote qui est tombé en panne, mais le matériel. Driver a fait de son mieux et a réussi. Ce qui se passe sous le capot lorsque le GPU tombe en panne dépend de la mise en œuvre, mais en général, le pilote le réinitialise pour s'assurer qu'il ne se trouve pas dans un état anormal.

Je pense que Windows prend en charge la récupération après incident sur un GPU sous cette forme, mais je me souviens avoir constaté une récupération automatique similaire sur les cartes ASUS avec ATI GPU sur XP il y a environ 8 ans, avant la sortie de Vista.


C’est bien le pilote, et non le matériel, qui est tombé en panne et Windows est intervenu et a redémarré le pilote. Le pilote ne fonctionne pas nécessairement en mode kernal. Mon pilote vidéo Intel est un pilote en mode utilisateur et se plantait fréquemment (de manière permanente dans un écran noir) au hasard dans 3 versions de mise à jour.
kreemoweet

0

Le pilote ne s'est pas écrasé, le GPU l'a fait. Le PC récupéré en réinitialisant le GPU.


1
C'est plutôt un abus de langage de dire que le GPU "plante". Certes, le matériel peut mal fonctionner, mais n'importe quel pilote bien écrit peut supporter la plupart des événements de ce type. Ce que décrit le Demandeur de questions est presque certainement un logiciel de pilote buggy.
kreemoweet

0

Je ne peux pas dire avec certitude sur Win7, mais sur d’autres systèmes, les pilotes ont un haut et un bas. Le bas va probablement planter tout votre système car il fonctionne en mémoire commune. Le sommet se situe à un niveau beaucoup plus élevé et il est possible de l’empêcher d’endommager d’autres objets, ce qui permet de détecter les collisions par des demandes de mémoire hors limites, et donc de les capturer avant qu’elles ne détruisent autre chose.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.