Même si les mises à jour de Windows 10 sont loin d’être parfaites, les problèmes d’incompatibilité n’incombent pas toujours à Microsoft. Elles peuvent parfois être causées par des logiciels extérieurs… et notamment des pilotes déployés par les OEM alors qu’une mise à jour de Windows 10 commence son déploiement. La firme a semble-t-il trouvé une moyen de diminuer le nombre d’erreurs critique...
Au niveau développement ils suivent aussi toute sortes de règles assez strictes qui augmentent la qualité du code.
Sur linux quasiment la plupart des modules kernel linux sont développés par la communauté qui suivent aussi toutes sortes de règles strictes. Si Microsoft faisait la même chose il y aurait certainement moins de problèmes.
L'autre aspect beaucoup de développeurs de drivers chez les constructeurs sont surtout des gens avec une formation d'électronicien. Ils codent moins bien. C'est pas une généralité bien sur mais je l'ai constaté.
Autre point: le framework de drivers. Quand il est compliqué à utiliser les développeurs font potentiellement plus de bugs. Pour çà que depuis WDF(Windows Driver Framework) la situation s'est quand même bien améliorée.
Enfin le fait que beaucoup plus de drivers maintenant tournent en user mode ça diminue fortement les conséquences de ces problèmes.
Microsoft a sorti un nouveau framework et une nouvelle architecture d'imprimantes sur Windows 8. C'est possible qu'il y ait eu quelques soucis avec les vieilles imprimantes mais pour les nouvelles la compatibilité future des drivers(après 8) est nettement améliorée. Ils ont crée un système de drivers génériques basé sur les fonctionnalités de base des imprimantes. Il y a moins de drivers intégrés et ça couvre plus large.
Plus d'informations ici:
https://blogs.msdn.microsoft.com/b8/2012/07/25/simplifying-printing-in-windows-8/
De plus si la compatibilité était si atroce sur les versions récentes de 10, on verrait une apocalypse à chaque mise à jour de Windows 10. Ce sont de nouvelles versions de Windows comme 7 ou 8 ils ont juste changé la méthode de déploiement.
Deuxièmement quand les fabricants sortent un drivers sous linux (et je dis bien quand, car beaucoup de matériel ne l'est pas) souvent ils fournissent seulement le code source, heureusement les fournisseurs de "packets" le compile automatiquement... Du coup le driver est toujours en adéquation avec l'os, moins de chance de bugs/plantages... Mais pas toujours, j'ai eut des problèmes avec le bluetooth, et une carte son anciennement... Bon c'est rare, mais cela existe aussi sous Linux.
Les "mauvais" pilotes sont rarement le fait de société d'importance ayant pignon sur rue ou de taille internationale... HP, Lexmark, Logitech, etc.
Je pense vraiment plus à tous ces "petits fabricants" souvent en Asie, qui diffusent soit sous leur marque soit en OEM pour d'autres plus connus. Et c'est là que le bât blesse, car comme tu le dis en effet ils sont pris par le temps (ou serrés par le prix d'achat), et n'ont pas le temps de faire le job. Donc oui d'accord avec toi, mais ce n'est pas une raison pour mal faire le job.
Et pas d'accord avec toi, ce genre de boîte se contrefiche de la notoriété. Au moindre coup de vent, elle fermera et disparaitra, et renaîtra de ses cendres quelques encablures plus loin sous un nouveau nom et avec un nouveau prête-nom comme patron. Et ce sont souvent ce type de "petits" périphériques (genre carte PCId'interface USB ou que sais-je, ou périphérique USB de tout type, exemple WiFi ou LAN etc.) parfois intégrés à ton insu dans des solutions de marques plus connues (une fois, j'ai eu un problème insurmontable avec un périphérique industriel, et quand le gars a ouvert la "boîte" qui contenait l'électronique, j'ai eu des sueurs froides en voyant le niveau de qualité des composants choisis : Que du "AliExpress" au moindre prix, a contrario du prix payé pour "l'objet en question"... Ça calme crois moi...)
Tout ces ennuis ont disparu depuis la MAJ 1809 qui, dans mon cas, est passée comme une lettre à la poste dès le premier jour (chargement à partir de l'ISO). Donc, pour moi, MS a déjà bien progressé.
Ils sont simplement pris eux aussi par la nécessité d'aller très vite qui est source de bugs régulièrement. Au sein d'une communauté open source chacun peut prendre tout son temps pour développer un pilote pour un matériel en particulier ! Voilà la différence et ce qui explique pourquoi vlc ne lit pas mes vidéos sous Windows sur mon poste internet et que mon scanner de 1999 ne fonctionne pas ... alors que tout fonctionne nickel sous Lubuntu.
Le noyau XNU d'apple c'est un peu près pareil aussi. Ils ont mis le sous système bsd en kernel mode et les drivers aussi
Linux est un noyau monolithique mais modulaire.
Je sais que Microsoft travaille en ce moment avec le langage verona pour réécrire de façon graduelle le noyau NT ainsi que plusieurs composants systèmes. C'est un langage du style de rust.
En fait Microsoft explore cette piste depuis longtemps.(avec Midori entre autre). Ils utilisent l'isolation du langage pour remplacer l'isolation matérielle du processeur permis par les context switch. en gros ils pourraient s'assurer qu'un driver est safe en mémoire dès la compilation et qu'il n' aille pas à l'exécution accéder à des zones protégées. Je résume rapidement mais c'est l'idée.
le driver et le noyau tournerait tjs en ring 0 (kernel mode). Mais l'isolation du langage garantirait l'intégrite du noyau.
En fait Windows envoie un BSOD ou Linux/OSX un kernel panic quand l'intégrité mémoire du noyau est affecté. C'est ce qui arrive quand un driver plante.
Dans le cas du micro noyau on peut redémarrer le driver et l'os continue sa vie...
Corrigez-moi si je dis une ânerie mais sauf erreur de ma part, les drivers pour Windows sont écrits par les constructeurs de matériel dont le métier est de fabriquer du hard (et du coup plein de petites boites d'Asie qui font du matériel à la va-vite) mais pas forcément de fabriquer du logiciel... (ou des sous-traitants qui du coup font le service minimum...) alors que pour les OS de type *X, c'est souvent la communauté qui s'en charge, et là, ce sont des VRAIS développeurs qui en plus maitrisent (quasi) totalement les tenants et aboutissants de l'OS.
Donc ce n'est pas le même niveau de qualité et c'est logique !
Pourtant NT et successeurs, c'est de fait un micro noyau non ?
Cela voudrait donc dire que linux ne le serait pas, car en plus de 10 ans avec une cinquantaine installations de PC avec des périphériques hétéroclites je n'ai pas rencontré de mises à jour linux qui empêchaient leur fonctionnement.
Si elle est trop vielle, on doit pouvoir trouver des drivers génériques.
Perso, j'ai acheté des imprimantes lasers N et B et couleur qui ont vite rendues l'âme en moins de 2 ans. Maintenant, on trouve pour pas cher des imprimantes jet d'encre avec scanner de bonne qualité, mais c'est en général avec le prix des cartouches qu'ils se rattrapent.
Quand KMDF(Kernel Mode Driver Framework) et UMDF (User Mode Driver Framework) sont sortis avec Vista il a fallu attendre assez longtemps avant que les constructeurs y passent. La gestion de la compatibilité est aussi plus complexe à gérer en kernel mode qu'avec des applications. La compatibilité a été quand même nettement améliorée par rapport à il y a quelques années.
J'attends toujours la prochaine étape: un vrai Micro noyau où la totalité des drivers seraient isolées du noyau.
Tu fais ça une fois, je te raconte pas le bad buzz et l'effet papillon. 1 an plus tard, tes ventes ont plongé de 50% ad minima je pense...
Recherche "Windows WDM" par exemple ou va sur https://en.wikipedia.org/wiki/Windows_Driver_Model , et tu comprendras ce qu'il se passe.
Il y a longtemps (et pas "dans une lointaine galaxie"...), tout le beau monde de l'informatique avait la fâcheuse habitude de faire tourner les drivers dans le noyau de la machine. Or il suffisait qu'un driver, écrit avec les pieds ou à "la rache" (cf https://www.la-rache.com/ ), soit suffisamment mal fichu pour planter la machine en cas de la moindre modification minime de la config.
Depuis, les pilotes sous la plupart des OS tournent dans la partie "userland" du processeur, et donc tes "vieux" drivers sont de fait devenus ad minima dangereux, voire carrément incompatibles avec ton nouvel OS.
Je sais, je schématise... Pas taper svp...
PS : Une vieille histoire, que je jure être authentique !
En 1992-1994 (j'ai plus l'année précise), sur une installation réseau Lan Manager de 100 PC Windows for Workgroups 3.11, j'avais des plantages ignobles, réguliers, répétés et reproductibles d'Excel 4.x (Suite MS Office 3.0, je crois, ça ne nous rajeunit pas tout ça ).
J'appelle le support MS, et le gars m'interrompt immédiatement, ce qui m'énerve forcément, pour me demander si j'utilisais des imprimantes HP Laserjet. Je lui réponds sur un ton courroucé que oui, mais que bon c'est pas de ça dont on parle, c'est de mon plantage d'Excel et que je le prie de s'occuper de ça et pas de mes imprimantes !
Et là, les bras m'en tombent... Le gars m'explique tranquille qu'il y a un bug profond dans le pilote HP Laserjet qui plante toute une série de logiciels, dont Excel... que HP a reconnu que c'était sa faute, et il me donne un lien sur Compuserve (oui, à l'époque... avant internet ) pour télécharger un pilote corrigé par HP.
Bon, j'avais pas de compte Compuserve, mais je me suis débrouillé et après récupération du dit pilote et installation sur mes 100 PC, joie et bonheur, plus jamais aucun problème !
Voilà, c'était un exemple de la capacité de nuisance qu'un mauvais pilote peut avoir sur une machine qui fonctionne tout à fait convenablement par ailleurs...