Windows Driver Model : un modèle de pilotes qui date

Ceux qui n’ont jamais eu de problème lors de l’installation d’un piloteModule logiciel nécessaire à un système d’exploitation pour gérer un périphérique ou un matériel particulier. Le pilote est un module logiciel qui ass... ne doivent pas être nombreux. Qu’il s’agisse d’écrans bleus surgissant aléatoirement, que ce soit sous WindowsNom que portent les systèmes d’exploitation avec interface graphique de Microsoft. Windows est apparu dans les années 80. Il s’agissait alors d’une in... 9x (qui ne connait pas VMMVirtual Machine Monitor, ou gestionnaire de machine virtuelle (aussi appelé hyperviseur). Logiciel de virtualisation (VMware, Virtual PC, Parallels Wo....VXD), ou Windows 2000Premier système d’exploitation "moderne" conçu par Microsoft dans les années 90 et prédécesseur de Windows XP et Vista. Windows NT (New Technology) es.../XP, ou du blocage pur et simple de la machine, vous en avez au moins entendu parler. Les responsables, vous les connaissez déjà, ce sont les pilotes, de petits programmes qui permettent au système d’exploitation (en l’occurrence Windows) de communiquer avec du matériel.

Il nous restera au moins l'écran de veille BSOD

Les différents systèmes Windows supportent de nombreux périphériques et gèrent plus de 30 000 pilotes dont certains datent de plus de dix ans. Ces versions ont acquis dans le temps la mauvaise réputation d’être instables. Mais selon Microsoft, plus de 85 % des plantages de Windows XP sont dus à des pilotes mal programmés. D’ailleurs, une majorité des développeurs estime que le modèle de pilotes actuel est trop complexe, et Microsoft l’a compris et a décidé de se défaire de son modèle introduit avec Windows 98Système d’exploitation grand public de Microsoft et évolution de Windows 95 mettant l’accent sur les fonctions Internet et réseau. Windows 98 a apport..., le Windows Driver Model, pour le remplacer par le Windows Driver FrameworkWindows Driver Framework, remplaçant plus simple et flexible du WDM pour Windows Vista, basé sur trois principaux composants : le Kernel-Mode Driver F....

vista installation driver

Bref historique du WDM : de Windows 98 à Windows XP

Le WDMWindows Driver Model, modèle de pilote conçu à l’origine pour standardiser l’écriture des drivers pour les pilotes de Windows 98, 2000 et XP et aussi ... a été conçu à l’origine pour standardiser l’écriture des drivers pour les pilotes de Windows 98 et 2000 et aussi réduire le nombre de lignes de code nécessaires. Si un pilote WDM ne peut pas s’exécuter sous Windows 95Premier système d’exploitation grand public avec interface graphique de Microsoft, lancé en 1995. Windows 95 a fait fusionner deux produits auparavant... ou NT4 par exemple, le modèle indique cependant qu’il pourra aussi bien s’exécuter sous Windows 98 que 98 SE, ME, Windows 2000, XP ou 2003 car il est prévu que des pilotes soient compatible (sources et binaires) entre les différents systèmes. Si ce cas est rare entre la famille 9x et NT5, on le retrouve souvent entre Windows 2000 et XP. Plus précisément, WDM a été conçu pour permettre la compatibilité ascendante mais pas la rétro compatibilité. En résumé, un pilote conçu pour Windows 98 a des chances de fonctionner avec Windows 2000, mais il ne profitera pas des nouvelles fonctions du WDM introduites dans le système supérieur ; l’inverse est par contre impossible.

Un modèle obsolète

A l’heure actuelle, ce modèle est jugé particulièrement complexe et l’écriture de drivers « simples » requiert plusieurs milliers de lignes de code, dont au moins 2 000 pour la prise en charge du Plug and Play et de la gestion de l’énergie. Pour communiquer avec le système, le pilote passe par une interface que l’on appelle communément device-driver interface ou DDI. De même, ces DDI sont très proches du noyauPartie centrale d’un système d’exploitation qui prend en charge ses fonctions de base et assure les échanges avec le matériel. L’architecture des syst... et leur modification implique souvent une recompilation des pilotes les utilisant. Ces DDI sont critiquées par les développeurs qui les trouvent trop compliquées à utiliser lorsqu’il s’agit de gérer le Plug and Play, les entrées / sorties asynchrones ou la gestion de l’énergie. Implémenter la gestion de l’énergie et du PnP oblige à gérer une centaine d’états du périphérique concerné. Lors de la création de son modèle, Microsoft n’avait pas prévu tous ces développements de drivers annexes, et, afin de garantir des performances optimales, les DDI ont été rattachées au noyau. L’inconvénient, vous l’aurez compris, c’est qu’un driver instable, peut, à travers une interface, corrompre le système et le bloquer. Windows supporte actuellement plus de dix modèles de miniport (un pilote miniport est un pilote générique qui rempli un certain nombre de fonctions de base pour les périphériques USBBus de connexion par câble de périphériques externes qui est aujourd’hui la norme la plus répandue. L’USB (Universal Serial Bus) est une norme apparue..., SCSI, réseauLAN est l’acronyme du terme anglais Local Area Network, que l’on peut traduire en fraçais par Réseau Local. Sa définition consiste en un ensemble d’or... ou audio ; ces pilotes sont censés être compatibles au niveau des sources et des binaires avec Windows 98 et 2000). Ces modèles ont été créés pour simplifier la vie des développeurs mais le choix d’un modèle plutôt qu’un autre n’est pas toujours évident et la situation se complique lorsqu’il s’agit d’un périphérique multifonction. Encore une fois, la support du PnP et de la gestion de l’énergie se trouve compliquée par le fait que chaque modèle expose ces fonctions de manières différentes.

kmdf vista

Terminons par le point le plus négatif pour l’éditeur, et sur lequel il a vraisemblablement beaucoup travaillé : la majorité des pilotes ne peuvent être exécutés qu’en espace noyau, ce qui veut dire que ce portions de code sont traitées comme une partie du noyau et ont accès à l’espace d’adressage système. Un plantage du pilote, et c’est le crash pour le système entier. Pourtant, un nombre conséquent de périphériques n’ont pas besoin de cet accès privilégié et devraient donc être exécutés en espace utilisateur. Mais là encore, le modèle actuel ne facilite pas la tâche des utilisateurs, puisqu’il n’existe aucun support pour guider les programmeurs désireux de programmer un pilote en espace utilisateur.


Annonces Google
Commentaires
bill2 15/01/2007 09:51
Masquer
-1+
bill2

Quoi qu'on puisse penser de Vista, je trouve tout de même qu'il apporte un nombre de fonctionnalités qui, bien que non visibles au premier abord, devraient révéler un système franchement stable !

Uber-Mario 15/01/2007 10:18
Masquer
--1+
Uber-Mario

J'adooore !!!



[:x_tyler_x:2]

Par contre, coté protection, le nombre de personne l'ayant déja en stock :/

TImaniac 15/01/2007 10:26
Masquer
-1+
TImaniac

Petite erreur : HAL c'est pas "Human Abstraction Layer" mais "Hardware Abstraction Layer"

falkon123 15/01/2007 10:36
Masquer
-1+
falkon123

Vista sera chez moi le jour au j'aurais les pilotes pour ma photosmart 1215. HP et les drivers ça n'a jamais fait bon ménage

Mathieu Chouchane 15/01/2007 10:44
Masquer
-1+
Mathieu Chouchane

Llcool a écrit :

Petite erreur : HAL c'est pas "Human Abstraction Layer" mais "Hardware Abstraction Layer"



Oui exact je le corrige :)

icna99a 15/01/2007 10:48
Masquer
-1+
icna99a

haaaaaaaaaaaaa

Ca fait du bien un article qui ne se contente pas de réduire Windows Vista à 3 wallpapers, 1 barre à gauche et de nouveau icônes !

SpadVIII 15/01/2007 11:17
Masquer
-1+
SpadVIII

a écrit :

Vista sera chez moi le jour au j'aurais les pilotes pour ma photosmart 1215. HP et les drivers ça n'a jamais fait bon ménage




HP et le software en général n'a jamais fait bon ménage ! Bon hardware fait par des pros, et soft qui va autour fait par des stagiaires en 1ère année...

Bref...




Ce qui me dérange le plus avec Vista, c'est la charte graphique : XP avait posé des bases que je trouvais tout à fait claires et agréables à utiliser : Par exemple, tâches et information à gauche des fenêtres, correspondant aux objects sélectionnés. Microsoft en avait fait ses recommendations pour tous les développeurs.

Tout ça a visiblement disparu avec Vista et on se retrouve avec de nouvelles normes. Je ne vois pas trop l'intérêt. Autant Office 2007 et ses "Ribbon Bar" sont à mon sens un réèl progret, faces aux innonbrables menus et sous menus; autant perdre un système visuel simple et efficace comme celui d'XP n'a pas trop d'intérêt.
Visuellement, les fenêtres sont beaucoup moins simple à appréhender et il faut réapprendre. Intérêt ? :??:

N'aurait il pas été plus judicieux de simplement amélioré ce qu'avait apporté XP en ce qui concerne l'interface graphique, sans chercher à tout refaire ?

(Et je ne parle même pas des utlisateurs "de base" qui avait été formés sur XP et qui sont perdus dès qu'un bouton ne se trouve plus à sa place... ça va être chouette pour eux ! :pt1cable: )

bill2 15/01/2007 11:34
Masquer
-0+
bill2

C'est clair qu'il faudra déjà que les utilisateurs apprennent à lire ce qui est écrit à l'écran, au lieu de cliquer bêtement sur "OK" à la moindre petite fenêtre ...

Johan_et_Pirlouit 15/01/2007 11:40
Masquer
-0+
Johan_et_Pirlouit

Djlauby a écrit :

Les noyaux de la branche NT sont tous qualifiés de noyaux hybrides et celui de Windows Vista, étant basé sur celui de Windows Server 2003, ne déroge pas à la règle.



Ca veut dire que Vista est NT 5.3 :heink: (rappel pour ceusses qui savent pas : Server 2003 est la 5.2, Xp la 5.1 et 2K la 5.0) ? On n'est pas encore à NT 6 ? La branche 5 aurait donc la vie longue.......... Comme Linux 2.x, quoi..

:jap:

SpadVIII 15/01/2007 11:45
Masquer
-0+
SpadVIII

mido@IDN a écrit :

Ca veut dire que Vista est NT 5.3 :heink: (rappel pour ceusses qui savent pas : Server 2003 est la 5.2, Xp la 5.1 et 2K la 5.0) ? On n'est pas encore à NT 6 ? La branche 5 aurait donc la vie longue.......... Comme Linux 2.x, quoi..

:jap:




Mouais, tu sais, ce n'est pas avec des numéros de version que tu peux évaluer précisemment la différence.
Vu les modifs apportées (en profondeur), ils auraient très bien pu appeller ça NT6; personne n'aurait criéé au scandale. Il y a peut être plus de différences entre Vista et XP qu'entre XP et 2000...

Enfin, c'est moins débile d'appeler le noyau 5.3 dans ce cas, que de passer d'un soft 2.0 à 3.0 par exemple, simplement parcequ'on a rajouter 3 ou 4 petites features sans grand intérêt comme on voit souvent. Ouais, mais ça fait vendre...

Florian c 15/01/2007 11:48
Masquer
-0+
Florian c

Johan_et_Pirlouit > L'auteur de l'article est Mathieu Chouchane, et oui, depuis le reset de Vista, cet OS est basé sur le noyau de Windows Server 2003 (ce qui est une bonne chose).

Mathieu Chouchane 15/01/2007 11:51
Masquer
-0+
Mathieu Chouchane

Et rappelons qu'à l'origine, Longhorn était développé à partir du noyau de Windows XP.

pbeche 15/01/2007 12:02
Masquer
-0+
pbeche

seuls les drivers video et audio avaient acces au kernel sous 2000/xp mais cela ne serait plus cas sous vista c'est ca ?

Mathieu Chouchane 15/01/2007 12:03
Masquer
-0+
Mathieu Chouchane

Les drivers audio sont logés à la même enseigne que tous les autres

TNZ 15/01/2007 12:08
Masquer
-0+
TNZ

a écrit :

Quoi qu'on puisse penser de Vista, je trouve tout de même qu'il apporte un nombre de fonctionnalités qui, bien que non visibles au premier abord, devraient révéler un système franchement stable !



Ben, ils commencent seulement à passer de "l'exercice de TP" à quelque chose d'un peu plus stable en reprenant les bases de VMS (dec/digital).

VMS est un O/S qui a été développé dans les années 70 et a été très rapidement stable. [:spamafote]
Ce qui est dommage c'est que microsoft ait attendu autant d'années avant de bosser correctement.

Ashitaka81 15/01/2007 12:41
Masquer
-0+
Ashitaka81

Vu que ça va être l'OS majoritaire sur les PC dans quelques années, mieux vaut tard que jamais !

clement21 15/01/2007 14:02
Masquer
-0+
clement21

Si j'ai bien compris, les fabricants de matériels vont vite faire des économies en ne développant plus que les drivers pour windows vista, ce qui va nous obliger à passer (encore) plus vite à cet OS :( .
Un peu comme les macs, où les drivers pour macOS9 n'existent plus pour les nouveaux produits (même les souris !).

TNZ 15/01/2007 14:14
Masquer
-0+
TNZ

Je vous comprend bien ... d'ailleurs avec ces "révolutions" en cascade (matériel, pilotes newgen toussa), la question de la migration OS libre me travaille de plus en plus.

Quand on voit les tarifs de Vista, toute la mayonnaise anti-piratage de license, bref :/

ultrabill 15/01/2007 14:23
Masquer
-0+
ultrabill

a écrit :

Si j'ai bien compris, les fabricants de matériels vont vite faire des économies en ne développant plus que les drivers pour windows vista, ce qui va nous obliger à passer (encore) plus vite à cet OS :( .
Un peu comme les macs, où les drivers pour macOS9 n'existent plus pour les nouveaux produits (même les souris !).


Les drivers pour XP continueront à être developpé pendant une paire (2) d'années encore. Vista n'enterrera pas XP aussi facilement que Microsoft l'éspère, surtout qu'XP à eu un bon bout de temps pour s'implanter.

SpadVIII 15/01/2007 14:31
Masquer
-0+
SpadVIII

impact95100 a écrit :

Les drivers pour XP continueront à être developpé pendant une paire (2) d'années encore. Vista n'enterrera pas XP aussi facilement que Microsoft l'éspère, surtout qu'XP à eu un bon bout de temps pour s'implanter.




Surtout que la grosse différence par rapport à avant (et l'époque 95, 98, 98SE et Me...), c'est que globalement, les utilisateurs d'XP sont relativement content de leur OS.

ultrabill 15/01/2007 15:00
Masquer
-0+
ultrabill

En plus, oui :jap:

job31 15/01/2007 17:10
Masquer
-0+
job31

merci pour l'article, c'est ce que j'attendais...

Mathieu Chouchane 15/01/2007 18:42
Masquer
-0+
Mathieu Chouchane

En espérant qu'il en soit de même pour la suite !

cantabile 15/01/2007 18:43
Masquer
-0+
cantabile

J'ai une question sur ce qui est dit du C++. Les interfaces de callback, etc., c'est tout aussi possible en C pas ++, non ? Le C++, pour moi, apporte surtout les templates, la stl, etc. Le fait que ce soit COM ne me paraît a priori ni un bien ni un mal, juste un fait, puisqu'après tout les ActiveX sont COM aussi et je ne vois pas bien en quoi ce serait mieux ... Mais bon, j'ai peut-être pas compris le truc. Si quelqu'un veut bien m'esspliquer :)

Mathieu Chouchane 15/01/2007 18:59
Masquer
-0+
Mathieu Chouchane

Je n'ai pas entendu parler de callback en C mais j'attends une confirmation.
Quant à COM, ce n'est ni un bien ni un mal, mais c'est surtout que c'est une technologie déjà connue et pas une nouvelle à apprendre.

lonestar 15/01/2007 19:06
Masquer
-0+
lonestar

avant windows et les pilotes c'était plutot WTF.
[:vendredi]

Jonathan_ 15/01/2007 21:00
Masquer
-0+
Jonathan_

Pourquoi l'article ne parle pas des rumeurs qui circulent sur la toile au sujet des révocations de pilotes (et périphériques) sous Vista ?

Mathieu Chouchane 15/01/2007 21:08
Masquer
-0+
Mathieu Chouchane

Parce qu'il est impossible de parler de tout, ça a été écrit au début du dossier ;)

Artichaut 15/01/2007 21:10
Masquer
-0+
Artichaut

Citation :Pourquoi l'article ne parle pas des rumeurs qui circulent sur la toile au sujet des révocations de pilotes (et périphériques) sous Vista ?


Oui, et le chiffrement de toutes les E/S ?

Quoiqu'il en soit, même si ces nouveautés (améliorations ?) sont les bienvenues je trouve qu'au final c'est tout de même un peu léger... Surtout pour un OS qui a mis tant de temps à être developpé et dont on parle temps.

Citation :Une des bonnes nouvelles est que l’installation d’un pilote, autrefois réservée aux administrateurs d’une machine, peut désormais se faire sur un compte utilisateur.


Soit c'est moi qu'est pas bien compris, soit c'est vraiment flippant d'un point de vue sécurité. OK les pilotes ne tournent plus dans le noyaux mais quand même ! De la à laisser aux utilisateurs la possibilité d'installer les pilotes ... J'attend la suite du dossier sur les droits utilisateurs.

ultrabill 15/01/2007 22:26
Masquer
-0+
ultrabill

a écrit :

Citation :Pourquoi l'article ne parle pas des rumeurs qui circulent sur la toile au sujet des révocations de pilotes (et périphériques) sous Vista ?


Oui, et le chiffrement de toutes les E/S ?

Quoiqu'il en soit, même si ces nouveautés (améliorations ?) sont les bienvenues je trouve qu'au final c'est tout de même un peu léger... Surtout pour un OS qui a mis tant de temps à être developpé et dont on parle temps.

Citation :Une des bonnes nouvelles est que l’installation d’un pilote, autrefois réservée aux administrateurs d’une machine, peut désormais se faire sur un compte utilisateur.


Soit c'est moi qu'est pas bien compris, soit c'est vraiment flippant d'un point de vue sécurité. OK les pilotes ne tournent plus dans le noyaux mais quand même ! De la à laisser aux utilisateurs la possibilité d'installer les pilotes ... J'attend la suite du dossier sur les droits utilisateurs.


Ca peux se faire par un utilisateur s'il connaît le mot de passe de l'administrateur. Ca évite juste de changer de compte pour installer un périphérique ;)

Shor-T 15/01/2007 22:32
Masquer
-0+
Shor-T

J'avais donc compris correctement ...

C'est pas plus mal qu'ils l'aient fait, parce que c'est quand même un gros problème des anciens windows de définir un compte admin par défaut pour installer des trucs au lieu d'avoir un compte normal et "d'élever" ses droits le temps d'une install :)

A savoir Vous allez poster en tant qu'utilisateur anonyme.

  • Pour garder ce pseudo, vous pouvez vous inscrire.
  • Vous possédez déjà un compte ?