Microsoft SDV : y a-t-il un pilote...'

Le par  |  10 commentaire(s) Source : Wired News
Microsoft

Microsoft s'attaque aux pilotes défaillants.

Microsoft s'attaque aux pilotes défaillants. Les pilotes logiciels, s'entend...

Microsoft

Au siège de Microsoft, on est convaincu que si les différentes versions de Windows vous affichent parfois le si redouté BSOD ( Blue Screen Of Death ) et redémarrent votre PC sans crier gare, c'est en majeure partie à cause de pilotes mal écrits.

Les pilotes, ce sont ces petits logiciels qui doivent aider le système d'exploitation de votre ordinateur -- Windows dans le cas qui nous occupe -- à reconnaître les périphériques, internes ou externes, installés sur la machine: clavier, écran, disque dur, etc...

Partant du principe qu'un pilote défectueux peut engendrer une cascade de soucis, notamment au démarrage du PC, ou de celui du périphérique concerné, Microsoft a élaboré un logiciel qui détecte les pilotes installés sur votre PC, et compare le code de ces derniers avec un modèle mathématique "idéal". Si un pilote présente une différence avec ce modèle, un message d'alerte s'affiche à l'écran, avertissant l'utilisateur du problème.

Assez bizarrement, s'agissant d'un programme destiné à assurer la stabilité des systèmes d'exploitation de Microsoft, ce logiciel, baptisé SDV ( Static Driver Verifier ), est resté jusqu'ici dans un quasi-anonymat.

Son principe, ultra-simple, cache cependant un long développement, puisque les premières bases en ont été jetées par Bill Gates lors de la Windows Engineering Conference 2002. Le président de Microsoft l'avait alors qualifié de "Saint-Graal de l'informatique", rien de moins.

Trois ans plus tard, SDV s'intègre de plein pied dans le projet Slam, et même s'il ne peut revendiquer une efficacité totale (il ne peut en effet garantir qu'un pilote fonctionnera toujours sans défaut), il est tout de même en mesure de prévenir un certain nombre de dysfonctionnements.

"Il chasse les bogues grâce à l'analyse statique (durant la phase de compilation) du code d'un pilote, plutôt qu'en examinant la façon dont il se comporte un fois lancé", explique un programmeur du projet Slam. Toutefois, cette opération peut prendre jusqu'à 20 minutes pour les pilotes les plus complexes; de plus, s'agissant d'une analyse statique, il peut parfois trouver des bogues qui n'existent pas...

Les pilotes sont le plus souvent écrits par les fabricants de matériels, dont l'expérience en matière de programmation ne peut soutenir la comparaison avec celle d'un éditeur de la taille de Microsoft. Pourtant, du fait que l'on attend d'un pilote un ensemble de tâches simples, ils sont bien adaptés à l'analyse statique.
Cette méthode ne pourrait toutefois s'appliquer à des programmes complexes, comme Word ou Adobe Reader, et ne pourrait donc être considéré comme un outil de débogage à part entière.

La firme Ounce Labs commercialise déjà un logiciel d'analyse automatique de code dénommé Prexis, qui recherche davantage les erreurs de conception pouvant ouvrir des failles de sécurité que les erreurs de syntaxe.

Le processus de vérification, qu'il soit fait en amont ou en aval de la compilation, part tout de même du principe qu'un logiciel défaillant ne devrait jamais atterrir sur la machine de l'utilisateur final.

Et ça, c'est plutôt une bonne chose...



Complément d'information

Vos commentaires

Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Le #68964
A quel stade de développement est-il' Est-ce un futur développement, une bêta ou une version déja officielle' Quand pourra-t-on le télécharger' A moins que ce ne soit déja possible' Cette actualité me laisse sur ma faim, je suis tenté, j'ai déja la salive qui pointe, mais aucun aliment n'est à ma disposition ...

Quant au site du projet SLAM, c'est un vrai bordel anti-ergonomique donc impossible d'en savoir plus sans avoir mal aux yeux.

Edit: si j'ai bien compris, il faut être testeur Windows pour pouvoir utiliser ce programme qui ne serait qu'en bêta'
<url=http://www.microsoft.com/whdc/devtools/tools/sdv.mspx
Le #68969
Enfin une info qui explique clairement 99.9% des soucis qu'on impute à tord à l'OS.
Bravo pour la news !
Le #68979
+1 pour SebXX !
Parfaitement d'accord avec toi !
Le #68982
Pkoi ne pas mettre des drivers en userspace plutot que kernelspace '

Franchement, qu'est ce qu'on s'en cogne que le pilote de la webcam soit chargé des le lancement de windows et pas de maniere dynamique '
Idem pour la carte vidéo, quel interet d'avoir un ecran de login en 1024x2048 en 32bits '
(je précise que je ne parle pas des pilotes critiques comme les carte ethernet ou les pilotes disque dur).
A méditer =)
Le #68989
KerTiaM> D'après ce que j'ai compris, c'est ce que Long.. euh Vista devrait faire(enfin en partie)
Le #69000
Réponse dans un an...
Le #69009
+1 pour Alex131089

En effet Vista pourra gérer les pilotes de cartes graphiques indépendament et donc en cas de plantages de cartes graphiques (notament lors d'o/c ) pourra stoper le pilote sans faire planter l'OS.

Il suffira donc de rebrancher une carte à chaud sans redémarrer pour continuer d'utiliser sa machine.

Espèrons que cela soit appliqué à plus de matériel que les cartes graphiques
Le #69033
c un peu radical comme solution pour deplanter son windows d'ouvrir le boitier, retirer la cg, la rebrancher ....

Le bouton reset semble plus adapté ...

Et quid d'un driver qui plante pendant le boot '
Le #69040
lelyon : pourquoi debrancher et rebrancher la carte video O_O '

Il y aura une partie critique en noyeau et le reste en user. Donc si la partie user plante, on a qu'à la "RELANCER" pas besoin de faire son plug and play ...

KerTiaM: Si la partie Kernel plante de toute manière c'est que le driver est à fouttre à la poubelle. Le but etant que la partie Kernel soit la plus simple possible et la plus rock solid possible.
Le #69062
@Atomusk: " Le but etant que la partie Kernel soit la plus simple possible et la plus rock solid possible."

Sinon on touche "rock bottom"...'
Suivre les commentaires
Poster un commentaire
Anonyme
:) ;) :D ^^ 8) :| :lol: :p :-/ :o :w00t: :roll: :( :cry: :facepalm:
:andy: :annoyed: :bandit: :alien: :ninja: :agent: :doh: :@ :sick: :kiss: :love: :sleep: :whistle: =]