Windows On ARM : entre deux chaises

Arnaud de la Grandière |

Après des mois de suspense, Microsoft a enfin levé le voile sur le degré de compatibilité de Windows dans sa version ARM, une question qui laissait nombre d'observateurs dubitatifs. Et la réponse est pour le moins surprenante…

Microsoft a provoqué un petit séisme lorsqu'elle a annoncé que Windows 8 serait proposé dans une version compatible avec les processeurs ARM. A vrai dire ça n'est pas la première fois que Windows sort du pré carré de l'assembleur x86 : Windows NT a été proposé entre autres sur plateformes Alpha, MIPS, PowerPC, et déjà en son temps sur ARM, et Windows CE sur MIPS et ARM. Toutefois c'est la première fois que la version "standard" de Windows s'aventure en dehors des sentiers battus du x86.

L'annonce a soulevé nombre de questions, à plus forte raison lorsque Microsoft a annoncé par la suite que la version ARM de Windows disposerait également, comme sur x86, du mode "classique" en plus de Metro, avec les bonnes vieilles fenêtres telles qu'on les connaît encore actuellement.

Voilà qui a donné naissance aux plus folles spéculations : comment Microsoft comptait-elle accomplir un pareil tour de force? S'il était parfaitement concevable que des applications soient distribuées en "fat binary" (contenant les codes compilés tant pour x86 que pour ARM, comme ce fut le cas un temps sur Mac lors du passage des processeurs 68k au PowerPC, puis du PowerPC au x86), du moins dans leur version pour Metro, l'architecture ARM laissait beaucoup moins de latitudes pour faire tourner les applications Windows en mode "classique" dans des contraintes matérielles autrement plus limitées.

Langages et tours de Babel

Reprenons ici quelques bases : un logiciel est un code binaire qui s'appuie sur deux langages, celui du processeur (l'assembleur), et celui du système d'exploitation (les Application Programming Interface, ou API, qui permettent à une application de faire appel aux fonctions de bas niveau gérées par l'OS). Chaque famille de processeur dispose de son propre assembleur (qu'on appelle également langage machine). Pour éviter de ré-écrire chaque application pour chaque assembleur, la majorité des logiciels est écrite dans un langage intermédiaire (la plupart du temps le C ou l'un de ses dérivés), qui est converti en assembleur pour une famille de processeur donnée grâce à un compilateur. Ainsi, pour peu qu'un système d'exploitation soit disponible sur plusieurs familles de processeurs, il suffit de compiler le même code pour chaque assembleur, produisant autant d'applications dédiées qui fonctionneront indifféremment sur chaque plateforme sans plus de travail. Les applications "fat binary" (ou encore "universal binary") contiennent plusieurs codes binaires pour plusieurs processeurs, seul celui concernant la plateforme sur laquelle l'application est lancée sera exécuté.

Cependant il existe différents remèdes aux incompatibilités de plateformes :

- lorsqu'on souhaite faire tourner un logiciel qui a été compilé pour un processeur incompatible avec celui de la machine sur laquelle on veut le faire tourner : un émulateur va permettre son exécution en lisant son code binaire et en l'adaptant à la volée à la machine cible (au prix d'un ralentissement qui exige que la machine hôte soit plus puissante que la source émulée pour une exécution en temps réel). Il s'agit là d'une reconstitution plus ou moins fidèle du matériel qui va exécuter jusqu'à l'OS lui-même, en plus de l'application, dans un environnement logiciel.

- lorsqu'on souhaite faire tourner un logiciel qui a été compilé pour un processeur compatible, mais qui fait appel aux API d'un système d'exploitation différent : un adaptateur (ou wrapper) va brancher les appels aux API d'un OS vers l'autre sans nécessiter la présence de l'OS auquel l'application se destine. Autre possibilité, la virtualisation permet d'exécuter concomitamment l'OS auquel l'application se destine par dessus l'OS hôte, rendant ainsi possible l'exécution d'une application dont l'assembleur est compatible avec celui du processeur.

Apple a utilisé un panaché de ces techniques pour conserver une compatibilité à travers les âges : l'émulation 68k sur PowerPC (d'abord de manière logicielle, puis directement au sein du processeur PowerPC), l'émulation PowerPC sur x86 (avec Rosetta), la virtualisation (avec Classic), et l'adaptation avec Carbon sur OS X.

Pas de choix pour Microsoft

Toutes ces solutions sont cependant assez gourmandes en ressources matérielles, et donc impensables sur des machines dont la RAM, la puissance du processeur, et l'autonomie sont restreintes, ce qui est le cas des tablettes. Pour qu'une application Windows fonctionne aussi bien sur x86 que sur ARM, Microsoft n'a donc d'autre choix que d'en passer par une recompilation, et le procédé des fat binaries. Et c'est précisément ce qu'elle propose avec Windows Runtime (WinRT), qui offre des API unifiées de Metro pour x86 aussi bien qu'ARM, permettant de programmer en C++, C#, VB.NET, et JavaScript.

Mais le problème de Windows 8 est plus structurel encore qu'une simple question d'API et d'assembleur. Si Microsoft a fini par proposer Windows sur ARM, c'est pour rester compétitive face à ces nouvelles plateformes mobile, iPad en tête. Les processeurs x86 s'étant avérés incapables jusqu'ici de concurrencer les processeurs ARM tant en termes d'autonomie que de tarif, pour que des machines équipées de Windows puissent répondre aux tablettes avec les mêmes arguments il a donc fallu en passer par ce changement de processeur. Mais les contraintes matérielles ne s'arrêtent pas là, puisque pour offrir la même autonomie et les mêmes tarifs, il faut un équipement en RAM similaire, et une gestion drastique de la consommation. Sachant que l'iPad n'est doté que de 512 petits mega-octets, comment donc faire tenir Windows et diverses applications dans si peu de mémoire? Et comment faire en sorte que sa gestion des tâches ne vienne à bout soit du processeur autrement moins puissant qu'un x86, soit de la batterie, voire des deux ? Impensable, tout bonnement.


Download this video to view it in your favorite media player:
High quality MP4 | Lower quality MP4



La réponse est arrivée il y a peu : Windows On ARM (WOA) est en réalité une plateforme différente de Windows 8.

Si WOA comprendra aussi bien Metro que Windows "classic", du moins en apparence, que Windows 8 sur x86, le mode classique sera en fait bien plus limité que sur x86. Microsoft a indiqué que WOA serait livré avec Office 15, comprenant Word, Excel, PowerPoint, et OneNote, ainsi qu'Internet Explorer 10… et c'est tout. Il sera impossible à l'utilisateur d'installer une autre application pour Windows classique sur une machine dotée d'un processeur ARM. A l'image de sa version Metro, il ne sera pas non plus possible d'installer un plugin pour Internet Explorer en mode classique. Ironie du sort, alors que Flash a été abandonné sur Android, et que Linux n'y aura plus droit que dans Chrome, si Windows On ARM devait prendre le pas sur la version x86, il n'y aurait guère plus que sur Mac que le plugin d'Adobe pourrait encore trouver refuge !


Excel 15 sur Windows On ARM


C'est là que subitement les choses s'éclaircissent. Le mode classique de Windows n'est pas un portage de sa contrepartie sur x86, pas plus que pour la suite Office. Il ne s'agit pas non plus d'émulation, mais de simulation : on reproduit le comportement apparent sans pour autant reprendre les rouages internes.

Ainsi, au lieu de proposer une version adaptée à l'interface Metro de sa suite bureautique, Microsoft a fait le choix de bâtir tout un décor en trompe-l'œil pour proposer un Office qui fonctionne de manière similaire sur plateforme ARM, sans ouvrir Windows classique à d'autres logiciels. Ce qui lui évite précisément d'avoir à gérer les problèmes cités plus haut. Il reste à voir quelles seront les limitations effectives, et il y en aura. Microsoft indique qu'Office 15 tiendra compte d'une interaction tactile, et sera pleinement compatible avec les fichiers Office, à défaut d'en reprendre toutes les fonctionnalités. Cependant le mode classique sera probablement plus exploitable avec un clavier et une souris — deux périphériques que toutes les tablettes compatibles WOA seront tenues de prendre en compte — eu égard à la taille des éléments d'interface qui se destinent plus à un curseur qu'à la pointe du doigt.

Certains s'étonnent d'ailleurs de voir la suite bureautique livrée en standard avec WOA, sachant qu'Office a toujours été une poule aux œufs d'or pour Microsoft, plus encore que Windows. Pour l'heure cependant rien ne dit que la suite sera pour autant gratuite, et on ignore encore le plan de bataille de Microsoft. Avec les rumeurs de l'arrivée d'Office sur iPad (lire La « vérité » sur Microsoft Office pour iPad éclatera « dans quelques semaines »), il se pourrait bien que Microsoft joue la carte du "tout sauf Android"…


Word 15 sur Windows On ARM


Pour peu que les PC sur ARM rencontrent un certain succès, les développeurs qui voudront s'adresser au plus grand nombre devront favoriser l'interface Metro — et les conditions de Microsoft pour la distribution de leurs logiciels sur son magasin en ligne. Il restera toujours possible de proposer des applications pour Windows classique tel qu'on l'a toujours fait sur x86, mais il reste à voir si cette plateforme restera dominante à l'avenir. Tim Cook pour sa part semble convaincu que le PC tel qu'on l'a toujours connu représentera demain une minorité du marché, au profit des nouvelles plateformes mobiles telles que l'iPad.

Avec WOA, Microsoft tient une chance de pouvoir jouer sa carte sur ce nouveau marché, mais son choix de maintenir Windows classique coûte que coûte laisse quelque peu songeur. Même sur x86, c'est Metro qui sera l'interface par défaut, le mode classique étant relégué au second plan. Alors qu'Apple, malgré un dialogue entre OS X et iOS, semble déterminée à proposer des choses résolument différentes sur ses deux plateformes, Microsoft se targue de tourner le dos au compromis. Mais à vrai dire, la présence de cet ersatz sur ARM ne fait qu'office de cache-misère. Microsoft s'est accroché à sa philosophie "Windows Everywhere" autant qu'elle aura pu, pour ne plus le faire qu'en apparence histoire de ne pas se renier. Une pirouette d'autant plus inutile qu'elle n'inclut pas la compatibilité de la logithèque historique de Windows, fer de lance sur lequel Microsoft a toujours appuyé son hégémonie.

Il reste à voir quelle sera la stratégie la plus payante entre ces deux approches différentes, mais quitte à faire un pari risqué, Microsoft aurait peut-être eu meilleur compte à l'assumer jusqu'au bout. Windows 8 "consumer preview" (notez la litote pour "beta") sera disponible, dans sa version x86, dès le 29 février.
avatar Marc-Alouettes | 
@Kelv: Si tu te donnes la peine de lire l'article, tu comprendras, j'espère, que "la connerie" n'est pas la ou tu penses. Quant aux Androïd si tu considères que ce sont de véritables OS ???? ICS : pourquoi pas ?
avatar Kelv | 
Donc pas d'argumentation... ca fait 30 ans qu'on dit que la fin du regne MS est proche, au moins j'attends avant de me prononcer avec aucune argumentation. Un autre type pourrait poster le meme commentaire en inversant chaque entreprise, ca serait la meme chose. Quant a Android, il semble se porter merveilleusement bien et vise des marchés bien au dela de la telephonie et des tablettes pour les mois et années a suivre. A premiere vue tout ce que je vois a l'avenir est une bonne santé de tous ces ecosystemes. Et j'ai lu l'article meme si je conaissais deja son contenu. Et toi tu as pris la peine de te renseigner sur ces OS en utilisant d'autres sources d'information ? (tu sais, pour avoir un peu d'objectivité?)
avatar Mabeille | 
@Kelv désolé tu viens de perdre toute crédibilité...
avatar nogui | 
@Mabeille "C'est surtout le PC qui écrase le MAC .. oui et sur le pc il y a quoi d'installé? Le succès évident de Linux toussa toussa est la preuve qu'en effet c'est pc qui fait le différence et pas Windows ... toussa toussa." Toussa toussa ....ok ok La mauvaise foi t'étouffes toujours pas ... Quand on achète un PC c'est quoi qui est installé dessus ? Linux ? Toujours aussi drôle tu es .... Tu peux répondre simplement ... Si possible ....
avatar nogui | 
@Mabeille "bin voyons... iOs super ouvert toussa toussa .... et Os X qui se dirige droit vers iOs ... mais Apple n'est pas vilaine comme les autres. Ouf heureusement Apple est là pour remettre de la déontologie dans cet horrible marché de l'informatique. toussa toussa" Ben dis donc ... T'as appris à parler le marsupilami ou quoi ???
avatar Kelv | 
@Mabeille: explication ? Ou quand comment ? C'est bien beau de balancer des phrases vides de sens... tu fais de l'imitation de Marc Alouettes ? Tres ressemblant vraiment...c'est reussi. Alors ? Car pour le moment je pense pas etre celui qui perd vraiment sa credibilité.
avatar nogui | 
@Kelv "@Mabeille: explication ? Ou quand comment ? C'est bien beau de balancer des phrases vides de sens... tu fais de l'imitation de Marc Alouettes ? Tres ressemblant vraiment...c'est reussi. Alors ? Car pour le moment je pense pas etre celui qui perd vraiment sa crédibilité." Meeeuh nan ! C'était de l'ironie de sa part .. t'inquietes .. Il voulait juste dire, par un moyen détourné, que si tu défends MS comme lui, tu ne vas plus être crédible ici. Ca lui plait de dire que s'il n'est pas crédible ici c'est juste à cause de ça et surtout pas à cause de lui et de ses propos personnels ... Mais bizarrement ta remarque peu marcher quand même sur ses autres interventions .. garde la :-D
avatar lennoyl | 
L'assembleur et le langage machine sont deux choses distinctes. Voyant la confusion, je n'ai même pas lu la suite.
avatar Mabeille | 
@nogui aucun fond ... je t'ai posé une question pas de réponse si ce n’est de l'ironie... bref de la forme aucun fond. Fin de l'histoire.
avatar Mabeille | 
@Kelv je préfère te répondre moi-même, je pense être plus au courant de ce que je pense et de mes intentions que d'autre. En clair tu viens de perdre toute crédibilité aux yeux de Marc-Alouettes et donc plus aucun intérêt de te répondre il n'aura... c'est comme ça.
avatar Mabeille | 
@lennoyl tu as raison.
avatar nogui | 
@Mabeille [25/02/2012 11:49] "@nogui aucun fond ... je t'ai posé une question pas de réponse si ce n’est de l'ironie... bref de la forme aucun fond. Fin de l'histoire." Nouvelle technique quand on ne sait que répondre ? :-) Une bonne tranche de Mabeille le matin, ça réveille les zygomatiques ... Donc je reprend .. Ta question ? - "oui et sur le pc il y a quoi d'installé? Le succès évident de Linux toussa toussa est la preuve qu'en effet c'est pc qui fait le différence et pas Windows ... toussa toussa." Surtout le toussa toussa .. C'est un vraie question ? avec du fond ? et pas de forme alors .. Si je décrypte à ta place, c'est donc que si Windows et majoritaire c'est grâce à MS et pas au PC car il y a aussi Linux pour PC et que ça ne c'est pas imposé ? C'est bien ça non ? avec le peu que tu as dit et surtout le "toussa toussa" ... Ma réponse est aussi simple que ta question mais tu fais mine de ne pas comprendre, enfin j'espère .. Donc quand tu achètes un PC, il y a automatiquement Windows installé dessus et pas Linux. non ? (c'est une question) Et effectivement, pas grand monde ne va s'amuser à remplacer Windows par Linux, mais ça n'explique rien .. La vente forcée ça te parle ? Donc si Windows est majoritaire c'est UNIQUEMENT par c'est le seul OS grand public disponible sur PC qui lui même est majoritaire .. On peut rapprocher ça avec IE, qui a longtemps été imposé par MS dans son OS et qui était donc plus répandu que les autres navigateurs (ce qui ne voulait pas dire qu'il était mieux que les autres), sauf que la c'était fait exprès de la part de MS.. et que MS a été condamné pour ça ...et que depuis Firefox a rattrapé son retard ... Fin de l'histoire Ya assez de fond là ? le tien je le cherche encore ....
avatar nogui | 
@Mabeille "je pense être plus au courant de ce que je pense et de mes intentions que d'autre." Bien sur .. MDR Pourquoi ne l'as tu pas dit dès le départ alors ? Si ce n'est pour que les autres devinent ta pensée évidente .. Sinon : "En clair tu viens de perdre toute crédibilité aux yeux de Marc-Alouettes et donc plus aucun intérêt de te répondre il n'aura... c'est comme ça." TU n'expliques toujours pas pourquoi ... Si c'est différent de ce que j'ai déjà dit bien sur .. cherche bien hein ? T'es du signe du Chat non ??
avatar Mabeille | 
@nogui et les pc achetés chez des intégrateurs il y a quoi en majorité dessus?
avatar Mabeille | 
@nogui Dois je te demander une autorisation avant de poster un message? Ai je le droit d'user de la langue française comme bon me semble? ou bien je dois d'abord te demander une autorisation, un accord sur le style la forme le fond ...?
avatar nogui | 
@Mabeille "et les pc achetés chez des intégrateurs il y a quoi en majorité dessus?" Hein ? Et ça pèse dans la balance ça au niveau mondial ? AU fait c'est quoi un intégrateur pour toi ? La boutique du coin qui te fait ton PC à partir de pièces détachées ? C'est ça ?
avatar Mabeille | 
@nogui oui la boutique du coin
avatar nogui | 
@Mabeille [25/02/2012 12:30] "Dois je te demander une autorisation avant de poster un message? Ai je le droit d'user de la langue française comme bon me semble? ou bien je dois d'abord te demander une autorisation, un accord sur le style la forme le fond ...? " Tu t'étends plus plus sur les trucs futiles je vois ... mais ça doit être moi bien sur .. Au fait c'est toi le coup du "fond" non ? inverse pas les rôles ....
avatar Mabeille | 
@nogui donc, je n'ai pas à te demander une autorisation ou le quitus, j'en suis ravi.
avatar nogui | 
@Mabeille "@nogui oui la boutique du coin" Donc ?? ça influe ? Tu penses vraiment ?? :-D Tu m'inquiètes .. Et cette boutique (la tienne ?) elle installe quoi comme OS ? Sinon .. Tu n'as toujours pas répondu vraiment à Kelv .. pour prouver que j'ai tort sur toute la ligne bien sur ....
avatar Mabeille | 
@nogui j'ai répondu à Kelv si ça ne te conviens pas... Il s'avère juste que plus des 2/3 (si pas plus) des pc montés par pièces détachées se retrouvent avec un Windows. Ces pc sont la majorité des pc vendus? Non bien sur , mais ces pc là sont vendu sans OS imposés ... et donc la liberté de choix est claire. Et selon moi cette liberté s'exprime et rares sont ceux qui n'ont pas un Windows même piraté. Qql uns sont montés avec Mac os x et qql avec Linux. J'en resterai là. PS: les macs sont aussi vendus avec un os imposé... mais nombreux ensuite sont équipés d'un windows quelconque ... alors que l'on peut s'en passer.
avatar Mabeille | 
@nogui pour rappel cette discussion me concernant vient de ton affirmation: C'est surtout le PC qui écrase le MAC .. donc j'ai compris ton affirmation comme c'est le matos (du pc) qui fait la dif pas l'os (windows). En réponse mon exemple dans l'intégration par pièces est que quand ce choix est possible c'est quand même Windows qui écrase tout... Je précise aussi que plusieurs fabricants ont tenté les pc moins chers avec Linux ... anecdotique à ce jour. PS: fin de la discussion pour moi
avatar nogui | 
#Mabeille "donc j'ai compris ton affirmation comme c'est le matos (du pc) qui fait la dif pas l'os (windows). En réponse mon exemple dans l'intégration par pièces est que quand ce choix est possible c'est quand même Windows qui écrase tout... Je précise aussi que plusieurs fabricants ont tenté les pc moins chers avec Linux ... anecdotique à ce jour." Pour finir, je n'ai pas dir que Windows ne l'emporte pas dans le Monde PC (par manque de vrai choix) Mais que si Windows est majoritaire au niveau OS c'est UNIQUEMENT parce que le PC est majoritaire par rapport au MAC.. Mais tu dévies, pour essayer de noyer le poisson ... "j'ai répondu à Kelv si ça ne te conviens pas..." Non tu n'as pas répondu, Sa question était "explication ? " tu n'as pas donné la raison de la perte de crédibilité .. mais peut être parce qu'il n'y en a pas d'autre que la mienne .. mais tu ne l'avouera jamais :-D
avatar Mabeille | 
Les faits montrent le contraire

Pages

CONNEXION UTILISATEUR