Pourquoi dans chaque nouvelle version de Windows tous les pilotes sont-ils datés du même jour 21/06/2006? Microsoft a-t-il jamais mis à jour des pilotes ou n'était-ce qu'un tas de mocassins? Enfin, nous avons appris la réponse à cette question à partir d'un article sur le blog non officiel de Microsoft,
The Old New Thing .
Un des développeurs de Microsoft, sous le surnom de
zac_l, a expliqué quel était le problème. La date sacrée du 21/06/2006 s'étend même aux pilotes comme les espaces de stockage et les processeurs modernes qui n'existaient pas du tout il y a dix ans, il n'est donc pas question de paresse des développeurs. La raison est différente.
Il y a une raison très importante pour définir la date ancienne, qui n'a rien à voir avec la date de sortie réelle du pilote.
Le fait est que Windows exécute le système
Plug and Play (PnP), qui vous permet d'identifier rapidement et de configurer automatiquement les périphériques sur votre ordinateur. Il reconnaît automatiquement la présence d'un nouveau périphérique, puis sélectionne les pilotes, les installe, de sorte que tout fonctionne normalement sans installation ni configuration manuelle. Ressources allouées automatiquement, ports d'entrée / sortie, cartes d'allocation de mémoire de périphérique, etc.
Ainsi, lorsque le système PnP sous Windows effectue un classement des pilotes, il vérifie tout d'abord l'identifiant matériel du périphérique et du pilote. Si deux pilotes ont le même identifiant, le système doit sélectionner un pilote parmi deux. Dans ce cas, le facteur principal est
la date du conducteur .
Imaginez la situation où les dates du fichier sont réelles et correspondent à l'heure de création du fichier. Que va-t-il se passer? Supposons que votre appareil puisse utiliser un pilote Windows standard, mais que vous avez installé un pilote spécialisé propriétaire pour celui-ci. Dans cette situation, à chaque nouvelle mise à jour, Windows lancera un nouveau pilote Windows standard au lieu de votre pilote propriétaire, car dans la nouvelle version de Windows, le pilote aura une date plus récente. Vous devrez renvoyer manuellement les pilotes normaux à chaque fois.
Pour éviter un tel conflit, une décision simple et efficace a été prise.
Tous les pilotes de toutes les versions de Windows se voient attribuer une date standard qui correspond à la date de sortie de Vista RTM . Cette date fixe est indépendante de la version du pilote ou de la date réelle de création du fichier. Dans le même temps, le numéro de version du pilote est mis à jour - c'est le prochain facteur qui est pris en compte lors du choix d'un pilote après la date de création du fichier.
Par défaut, le système PnP sélectionne toujours les pilotes de périphérique propriétaires et spécialisés, le cas échéant. Si ce n'est pas le cas, le pilote intégré de Microsoft sera installé et il s'agit du pilote de la dernière version du système d'exploitation. Il aura le numéro de version le plus élevé, bien que la date soit la même que les anciens pilotes Microsoft.
Avec les versions plus récentes de Windows, seuls les pilotes antérieurs à Vista sont compatibles. Les pilotes Windows XP tiers ne sont généralement pas compatibles avec eux, il n'y a donc aucun problème avec les conflits de date.
Ainsi, le système PnP fonctionne sans problème, bien que la situation semble un peu ridicule. Jusqu'à présent, tous les pilotes sont installés avec la date du 21/06/2006, et cela continuera donc. Le développeur Zack de Microsoft susmentionné a déclaré: "Ceci est un excellent exemple de ce qui, à première vue, semble stupide et insignifiant, mais a en réalité un objectif profond et solide."
Comme le dit la sagesse populaire: «Si quelque chose est stupide, mais ça marche, alors ce n'est pas stupide» (ou est toujours stupide, mais nous avons eu de la chance).
Un tel mécanisme de travail peut difficilement être qualifié de programmation parfaitement compétente, car la date du fichier est un attribut non destiné à comparer les pilotes. Mais le système fonctionne de facto, alors pourquoi pas? Et comment résoudre le problème autrement avec la mise à jour correcte du pilote? Si vous avez des idées à ce sujet, les programmeurs Microsoft n'ont pas trouvé d'option plus simple et plus fiable. Qui sait, peut-être qu'ils ne pensaient pas beaucoup au problème - et fixer la date a toujours été la première pensée qui a été immédiatement mise en œuvre? Peut-être que le problème a été résolu par une telle «correction» par des développeurs qui n'avaient pas le pouvoir d'implémenter un système plus compétent, par exemple, en vérifiant l'éditeur du pilote (si l'éditeur est Microsoft, donnez au pilote la priorité la plus basse).
Il est regrettable que ce mécanisme de fonctionnement PnP soit resté une fonction Windows non documentée de plus pendant de nombreuses années, et c'est l'une des principales raisons pour lesquelles ce système d'exploitation open source est critiqué car il comporte trop de fonctionnalités non documentées que nous ne connaissons pas.
Un tel mécanisme de réconciliation des dates pourrait bien fonctionner davantage si de nouvelles versions de Windows voient le jour. Vous devez seulement vous assurer que les pilotes n'indiquent pas accidentellement une date antérieure au 21/06/2006, car dans ce cas, Windows déploiera constamment son pilote à usage général au lieu du pilote de marque, quelle que soit la version. Si quoi que ce soit, dans Windows 10, il est possible de
désactiver temporairement les mises à
jour de pilotes pour Windows Update.