Conception de Windows pour l'architecture des processeurs ARM

Conception de Windows 8

Vision en coulisses de l'équipe d'ingénierie Windows

Conception de Windows pour l'architecture des processeurs ARM

  • Comments 0

L'un des aspects les plus remarquables de Microsoft Windows a toujours été la flexibilité dont l'architecture a fait preuve à travers l'évolution de la technologie et le développement de l'utilisation des clients au fil du temps. Nous avons commencé par un système d'exploitation destiné à une personne travaillant seule avec des logiciels de productivité, et qui représente maintenant les fondations d'un vaste réseau de technologies matérielles et logicielles, un éventail de produits Windows connectés et une approche incroyablement flexible de l'informatique. Avec Windows 8, nous avons repensé Windows de bout en bout, et, amener ce Windows réimaginé à l'architecture du processeur ARM® constitue une part importante de cette innovation. Développer la vision de ce qu'est un PC pour couvrir une plage beaucoup plus large de formats et de conceptions que celle qu'on envisage parfois aujourd'hui constitue une bonne partie de ces efforts. Windows sur ARM permet une conception créative des PC qui, alliée aux nouvelles fonctionnalités architecturées du système d'exploitation Windows, mettra à la disposition des clients de nouveaux PC sans compromis.

Ce billet porte sur la base technique de ce que nous appelons ici Windows sur ARM ou WOA (Windows on ARM). Windows sur ARM est un nouveau membre de la famille Windows, à l'image de Windows Server, Windows Embedded ou Windows Phone. Comme ces produits, WOA s'appuie sur les fondations de Windows, a de nombreux points communs et une partie significative de code partagé avec Windows 8. Il va être développé, vendu et pris en charge dans le cadre du plus vaste écosystème informatique du monde. Nous allons aujourd'hui nous concentrer sur le développement de WOA, présenter certaines des fonctionnalités et expliquer la façon dont les clients l'utiliseront. Comme avec Windows 8 x86/64, il reste encore des annonces à faire concernant les aspects commerciaux et marketing du ou des produits. Ce billet de blog porte sur la création de WOA, et non sur son marketing ou sa vente.

Bien que ce billet porte exclusivement sur les efforts que nous avons concentrés sur WOA, il convient de souligner que nous avons eu un niveau de collaboration plus important avec Intel et AMD sur l'ensemble des offres en matière de PC que pour n'importe quelle autre version. Les innovations de Windows 8 sur des processeurs x86/64 puissants et très performants, ainsi que les efforts qui ont été mis sur les nouveaux processeurs basse consommation, tels que ceux présentés par Intel au cours du CES, nécessitent un engagement également fort, un investissement en ingénierie encore plus important, de nouvelles conceptions robustes et une architecture améliorée pour Windows sur toutes ces plateformes. Tout en parlant de l'ingénierie des processeurs ARM, il est important de garder à l'esprit qu'en plus de tout le nouveau travail que nous avons consacré à la plateforme ARM, une grande partie des efforts dont nous parlons dans ce billet s'applique directement à la plateforme x86/64 et à Windows 8 également. Nous ne pourrions pas être plus enthousiastes et encourageants à propos des nouveaux produits Intel et AMD qui feront partie de Windows 8, dans un éventail complet de formats de PC comprenant les tablettes, les ordinateurs portables, les ordinateurs ultraportables (Ultrabook™), les ordinateurs tout-en-un, les ordinateurs de bureau et autres, qui bénéficient tous des nouvelles fonctionnalités de Windows 8, tandis que Windows 8 bénéficie des nouvelles fonctionnalités du matériel.

Utiliser WOA, ce sera exactement comme utiliser Windows 8 sur architecture x86/64. Vous vous identifierez de la même façon. Vous démarrerez et lancerez des applications de manière identique. Vous utiliserez le nouveau Windows Store de la même façon. Vous aurez accès aux fonctionnalités intrinsèques de Windows, du nouvel écran Démarrer aux applications de style Metro et Internet Explorer en passant par les périphériques. Si vous le souhaitez, vous pourrez utiliser le Bureau Windows avec des outils tels que l'Explorateur de fichiers Windows et la version Bureau d'Internet Explorer. Vous bénéficierez de la même expérience rapide et fluide. En d'autres termes, nous avons conçu WOA pour qu'il corresponde exactement à vos attentes. WOA permet une conception créative des PC qui, alliée aux nouvelles fonctionnalités architecturées du système d'exploitation, mettra à la disposition des clients de nouveaux PC sans compromis .

Comme dialogue approfondi sur l'ingénierie, nous avons tendance à privilégier la forme longue pour les billets Conception de Windows 8, et ce billet ne fait pas exception. Vous trouverez ci-dessous un résumé des sujets importants que nous allons aborder en détail dans ce billet :

  • Windows sur ARM (ou WOA) est un nouveau membre de la famille Windows qui s'appuie sur les fondations de Windows, a de nombreux points communs et une partie significative de code partagé avec Windows 8. Il va être développé, vendu et pris en charge dans le cadre du plus vaste écosystème informatique du monde. Nous avons créé WOA pour développer une nouvelle classe de PC dotés de fonctionnalités et formats uniques, pris en charge par un nouvel ensemble de partenaires qui contribuent à développer l'écosystème dont fait partie Windows.
  • Les PC WOA sont toujours en cours de développement et notre objectif commun est que les fabricants de PC les livrent en même temps que les PC conçus pour Windows 8 sur x86/64. Ces PC seront créés sur des plateformes matérielles uniques et innovantes fournies par NVIDIA, Qualcomm et Texas Instruments, avec une base commune qui est le système d'exploitation Windows sur ARM. Ils exécuteront tous les mêmes binaires du système d'exploitation Windows, ce qui constitue une approche unique pour le secteur de l'industrie. Les fabricants fournissent un travail admirable pour concevoir entièrement de nouveaux PC destinés à fonctionner parfaitement et exclusivement avec WOA.
  • Les applications de style Metro proposées dans Windows Store peuvent prendre en charge à la fois WOA et Windows 8 sur x86/64. Les développeurs qui souhaitent cibler WOA le font en écrivant des applications pour l'environnement WinRT (API Windows permettant de créer des applications de style Metro) à l'aide des nouveaux outils Visual Studio 11 dans différents langages, notamment en C#/VB/XAML et Jscript/ HTML5. Le code natif ciblant l'environnement WinRT est également pris en charge avec C et C++, qui peuvent être ciblés sur plusieurs architectures et distribués via Windows Store. WOA ne peut pas exécuter, émuler ni porter des applications bureautiques x86/64 existantes. Le code qui utilise uniquement les services système ou les services du système d'exploitation de WinRT peut être utilisé au sein d'une application et distribué via Windows Store à la fois pour WOA et pour x86/64. Les utilisateurs peuvent récupérer tous les logiciels, y compris les pilotes de périphériques, via Windows Store et Microsoft Update ou Windows Update.
  • WOA peut prendre en charge toutes les nouvelles applications de style Metro, notamment les applications Microsoft de messagerie, de calendrier, de contacts, de photos et de stockage. WOA inclut également une prise en charge optimale avec Internet Explorer 10 de HTML5 avec accélération matérielle. WOA prendra en charge les autres formats de support normalisés, notamment ceux avec accélération matérielle et calcul de déchargement, et les formats de documents normalisés. Dans tous les cas, Microsoft cherche à orienter le choix de l'utilisateur final s'agissant des applications à utiliser et des formats à prendre en charge.
  • WOA inclut des versions bureautiques des nouvelles applications Microsoft Word, Excel, PowerPoint et OneNote. Ces nouvelles applications Office (dont le nom de code est « Office 15 ») ont été spécialement conçues pour les interfaces tactiles et pour une consommation minimale des ressources, tout en disposant également de fonctionnalités complètes pour les utilisateurs et en fournissant une compatibilité totale pour les documents. WOA prend en charge l'expérience du Bureau Windows, notamment l'Explorateur de fichiers, Internet Explorer 10 pour le Bureau et la plupart des autres fonctionnalités intrinsèques de Windows, qui ont été architecturées de façon importante à la fois pour le tactile et pour une consommation minimale des ressources.
  • Avec WOA, vous verrez des produits intégrés, complets (matériel, microprogrammes et logiciels WOA), tous entièrement créés. La conception de WOA a représenté un effort constant en matière d'ingénierie impliquant Microsoft, les licenciés ARM, les fabricants de PC et les développeurs de composants et de périphériques. Ces efforts ont généré un vaste réseau de sous-systèmes qui ont été récemment créés ou réarchitecturés de façon significative pour WOA. Les partenaires fourniront des PC WOA sous forme de produits intégrés et complets incluant du matériel, des microprogrammes et des logiciels Windows sur ARM. Les logiciels pour Windows sur ARM ne seront pas vendus ou distribués indépendamment d'un nouveau PC WOA, conformément à que vous pouvez attendre d'un appareil électronique s'appuyant sur une association unique et intégrée de matériel et de logiciels. Au cours de la durée de vie utile du PC, les logiciels fournis seront révisés et améliorés.
  • Autour de la prochaine phase importante de Windows 8 sur x86/64, un nombre limité de PC de test seront mis à la disposition des développeurs et des fabricants de matériel dans le cadre d'un programme fermé, sur invitation uniquement. Ces appareils exécuteront la même version de Windows 8 sur x86/64 que celle que nous éditerons largement à cette période. Il ne s'agit pas d'échantillons ou d'aperçus des PC à venir, mais d'outils destinés aux ingénieurs matériels et logiciels exécutant un matériel spécifique à WOA.
  • La version Windows Consumer Preview, version bêta de Windows 8 sur x86/64, pourra être téléchargée à la fin du mois de février. Cette prochaine phase de Windows 8 sera disponible en plusieurs langues et tout le monde pourra la télécharger.

Ce billet se compose des sections suivantes : Collaboration avec les partenaires, Mise à disposition d'applications, Conception de l'architecture ARM (qui abordera les différents sous-systèmes), Développement pour l'architecture ARM, PC WOA et enfin, Étapes suivantes.

Nous avons également préparé une courte vidéo présentant WOA tel que décrit dans le billet.


Téléchargez cette vidéo pour la regarder sur votre lecteur habituel :
MP4 haute qualité | MP4 faible qualité

Collaboration avec les partenaires

Le développement de WOA commence par un partenariat avec les entreprises qui fabriquent les processeurs ARM et qui les intègrent aux sous-systèmes requis pour mettre au point l'équivalent d'une carte mère. Contrairement aux cartes que de nombreux utilisateurs connaissent bien, vous pouvez vous représenter une carte WOA comme un package en silicone : une série de couches en silicone reliées ensemble dans un format incroyablement petit, appelé System on Chip (système sur puce) ou SoC.

Main tenant un disque de type « System on Chip » au bout d'un doigt
Démonstration CES 2011 montrant un « System on Chip » (SoC). (Julie Jacobson, Associated Press)

Chaque licencié ARM qui crée ces packages suit une méthode différente de sélection des fonctionnalités, de création des compromis sur les produits et de conception du package en silicone complet. Ce sont ces choix qui apportent la diversité des différents produits créés sur ARM sur le marché. Il n'existe pas d'expérience ARM unique et comme nous l'avons vu avec d'autres systèmes d'exploitation, même un processeur ARM unique combiné à différents composants, pilotes et logiciels peut donner des expériences de différents types ou qualités. C'est pourquoi depuis le début du projet WOA, nous avons travaillé avec trois licenciés ARM : NVIDIA, Qualcomm et Texas Instruments. Chacun amène différentes compétences et méthodes, et tous contribueront à leur façon à WOA. Tous possèdent des produits basés sur ARM qui connaissent un grand succès sur le marché aujourd'hui, qu'il s'agisse de tablettes, de smartphones, de liseuses électroniques ou d'appareils incorporés. Nous avons de la chance de recevoir l'appui de ces partenaires si extraordinaires et WOA représente un exemple unique de collaboration aussi diverse.

Un package SoC en lui-même n'est que le début. Les PC WOA sont le fruit d'un partenariat avec des fabricants de PC qui amènent leur propre savoir-faire en fabrication, ingénierie système et conception industrielle et qui les allient au travail d'ingénierie des partenaires ARM, dans le but de développer un PC complet. Les fabricants de PC amènent également leurs compétences en matière de vente de PC aux consommateurs et entreprises par le biais de différents canaux, ainsi qu'en matière de support technique de ces achats.

Le rôle de Microsoft dans ce partenariat est de fournir un système d'exploitation Windows qui est adapté à ce nouveau type de matériel, à de nouveaux scénarios et à de nouveaux défis d'ingénierie. Notre objectif est de nous assurer qu'un Windows réimaginé offre une expérience homogène de bout en bout avec les microprogrammes, le matériel, le système d'exploitation, les applications et enfin pour la personne qui interagit avec le PC. Ceci représente un nouveau niveau d'engagement ayant pour conséquence un niveau de travail d'ingénierie nouveau au sein de toutes les parties impliquées. Cette nouvelle approche consiste à apporter une combinaison unique de choix et d'expériences, ainsi qu'une utilisation de bout en bout fiable tout au long de la vie du PC.

Mise à disposition d'applications

Avant d'entrer dans les détails des modifications apportées à l'implémentation sous-jacente de Windows pour la prise en charge du matériel ARM, commençons par parler des applications que Microsoft va proposer (nous sommes ravis de voir le renouvellement de l'utilisation du terme « applications » ; on pouvait lire sur ma première carte de visite chez Microsoft en 1989 Ingénieur conception logiciel dans les outils d'applications, Service des applications.)

Nous n'avons pas encore annoncé les éditions ou références que nous aurons pour les nouveaux produits Windows et durant la phase préliminaire, nous incluons pratiquement toutes les fonctionnalités dans le logiciel afin de tester et d'expérimenter toute l'envergure du produit. Nous ajusterons les fonctionnalités comprises dans l'offre WOA unique afin qu'elle soit compétitive sur le marché et qu'elle offre une proposition de valeur intéressante à tous types de clients.

Comme nous l'avons annoncé et démontré lors de la conférence //build/ et sur d'autres forums, WOA possède toutes les fonctionnalités WinRT présentes dans la version Windows Developer Preview. En outre, tous les outils et techniques que vous pouvez utiliser pour créer de nouvelles applications de style Metro pour x86/64 sont à la disposition des développeurs pour cibler WOA également. Les développeurs peuvent utiliser nos outils pour créer un code C/C++ natif afin d'optimiser les performances et la flexibilité, en plus des outils basés sur C#, XAML, VB et HTML, pour cibler les applications destinées à WOA, tant que leur code cible le jeu d'API WinRT. En outre, les développeurs qui utilisent du code existant, qu'il soit en C, C++, C#, Visual Basic ou JavaScript, sont libres d'incorporer ce code dans leurs applications, tant qu'il cible le jeu d'API WinRT pour les services Windows. Windows Store peut porter, distribuer et faire fonctionner les implémentations ARM et x86/64 des applications (même si l'application comporte du code natif qui implique deux distributions).

En outre, nous avons déjà présenté les nouvelles applications de style Metro de Microsoft permettant de se connecter à des services basés sur le cloud, tels que Hotmail, SkyDrive, Messenger et (par l'intermédiaire de ces services), une grande variété de services tiers. Par exemple, notre application de messagerie se connecte au protocole EAS normalisé, qui couvre un réseau d'applications de messagerie, calendrier et contacts basées sur les entreprises et les utilisateurs. Avec les fonctionnalités Live Connect existantes, vous pouvez discuter avec vos amis Facebook ou vous tenir au courant sur vos flux LinkedIn ou Twitter, le tout dans une application de style Metro. Il ne s'agit ici que de quelques exemples parmi plus de 100 services différents que vous pouvez connecter à votre compte Microsoft. Ces applications sont fournies avec WOA, mais évidemment, les gens peuvent les supprimer, définir différents paramètres par défaut ou utiliser Windows Store pour se procurer des applications similaires provenant de tiers. En outre, les applications de style Metro dans Windows Store peuvent fonctionner avec n'importe quel service que l'utilisateur choisit, avec ou sans services Microsoft (cela va des services de connexion aux services de communication, en passant par des paiements intégrés aux applications et des services de publicité).

Dans la prochaine version préliminaire de Windows 8, vous verrez également des applications de style Metro disponibles auprès de Microsoft qui prennent en charge différents supports normalisés et formats de documents, ainsi qu'Internet Explorer 10 qui prend en charge la plateforme Web HTML5 normalisée. Nous pensons que le niveau de prise en charge des normes fourni dans WOA figure parmi les meilleurs et que son étendue est comparable aux produits concurrentiels. Et bien sûr, notre intention est d'être leader de l'industrie dans les choix que nous proposons à l'utilisateur final, dans le contrôle des applications de votre système et dans le contrôle de ce que vous choisissez d'exécuter.

La disponibilité du Bureau Windows constitue une part important de WOA. Le Bureau est un endroit familier pour interagir avec son PC, en particulier avec les fichiers, l'espace de stockage et la mise en réseau, ainsi qu'avec différents périphériques. Vous pouvez utiliser l'Explorateur Windows, par exemple pour vous connecter à des périphériques de stockage externes, pour transférer et gérer des fichiers à partir d'un partage réseau ou pour utiliser plusieurs affichages, et tout cela avec ou sans souris ou clavier connecté, c'est vous qui choisissez. Tout cela est habituel, rapide, efficace et utile. Vous pourrez accéder à un vaste réseau de paramètres du Panneau de configuration permettant de personnaliser et d'accéder à un niveau de contrôle plus affiné sur votre système, si vous le souhaitez. Et si vous avez utilisé la version Developer Preview avec un PC tactile, vous savez que l'interaction tactile et les fonctionnalités de l'interface utilisateur du Bureau ont été améliorées.

Parallèlement, WOA (comme avec Windows 8) est conçu pour que les clients focalisés sur les applications de style Metro ne passent pas de temps sur le Bureau. La disponibilité du Bureau n'a aucun impact sur l'autonomie d'exécution. Le Bureau est simplement présent pour le cas où vous souhaiteriez l'utiliser. Nous décrivons ci-dessous la technologie présente en arrière-plan qui permet de s'assurer que la disponibilité du Bureau ne compromet aucunement la sécurité du système, la fiabilité au fil du temps, les performances ou la consommation électrique d'un PC WOA. Pour ceux d'entre vous qui ont essayé la version Developer Preview, vous remarquerez que l'expérience utilisateur a continué à évoluer et vous verrez un grand nombre d'améliorations dans la version Consumer Preview à venir.

Certaines personnes ont suggéré que nous pourrions supprimer le Bureau de WOA afin d'être puristes, de rompre avec le passé ou d'être plus simples ou expéditifs dans notre approche. Pour nous, l'évolution des PC ne pouvait pas inclure l'abandon de quelque chose d'utile et de peu coûteux pour les clients. La présence de modèles différents fait partie de chaque plateforme. Qu'il s'agisse de prendre en charge une transition vers un futur modèle de programmation (par exemple, l'inclusion d'une solution de virtualisation ou d'émulation est faisable), de prendre en charge différents modèles de programmation sur une plateforme (applications natives et Web lorsque les deux sont populaires) ou de prendre en charge différentes façons de travailler (interface de commande ou interface graphique utilisateur pour différents scénarios), la présence de plusieurs modèles représente une solution flexible qui fournit une vraie expérience sans compromis sur n'importe quelle plateforme.

Au sein du Bureau Windows, WOA inclut des versions bureautiques des nouvelles applications Microsoft Word, Excel, PowerPoint et OneNote, dont le nom de code est « Office 15 ». WOA sera un produit sans compromis pour des gens qui souhaitent bénéficier de tous les avantages de la compatibilité et de logiciels de productivité Office connus, d'un navigateur Web avec accélération matérielle à la pointe de l'industrie, d'applications Microsoft et d'un accès aux applications de Windows Store.

Cela permet de créer un PC WOA concentrant toute la puissance des applications, de la consommation de médias, des loisirs, de la mobilité et de la productivité : une vraie expérience sans compromis. Les nouvelles applications Office pour WOA ont été spécialement conçues pour les interfaces tactiles et pour une consommation minimale des ressources. Ce travail d'ingénierie est important pour pouvoir proposer les logiciels Office avec WOA, car il ne s'agit pas simplement de recompilations ou de ports, mais d'une modification importante des produits avec une expérience utilisateur complète et homogène et une fidélité vis-à-vis de leurs nouveaux homologues x86/64.

Vous découvrirez plus d'informations sur la prochaine version de Microsoft Office (nom de code « Office 15 » sur le blog Office Exec.

Conception de l'architecture ARM

Permettre à Windows de s'exécuter parfaitement sur l'architecture ARM est une tâche d'ingénierie importante. Nous avons entrepris ce travail, car si vous imaginez l'avenir, vous pouvez vous apercevoir qu'une très grande partie des fonctionnalités qui ont été ajoutées à Windows au fil des années seront inévitablement désirées ou demandées par les clients dans les types d'appareils pris en charge dans les produits ARM actuel ; l'évolution des formats et le souhait de mobilité renforcent encore les scénarios et fonctionnalités que nous désirons tous dans notre recherche d'un PC sans compromis. Bien qu'il soit tentant de faire d'audacieuses déclarations sur « tout recommencer à zéro », nous croyons en l'évolution des éléments technologiques lorsque les fondations sont solides. Les fondations de Windows, le noyau, sont les plus solides, évolutives et sécurisées qui existent. Notre souhait de fournir une expérience sans compromis motive nos efforts.

Nous savons également que certains éléments de Windows doivent être adaptés afin de répondre aux attentes des clients en matière de fiabilité au fil du temps, de consommation électrique, d'utilisation des ressources et de connectivité et disponibilité instantanées. Il est évident que tout ce travail s'applique également à notre produit Windows 8 sur x86/64 et une grande partie de ce que nous avons fait pour ARM s'appliquera également aux nouveaux produits passionnants d'Intel et d'AMD (qui ne font pas l'objet de ce billet). ARM nous donne une chance d'envisager des hypothèses à propos du comportement du système d''exploitation et du modèle de programmation dans le but d'apporter des améliorations significatives.

Un des nouveaux aspects que vous remarquerez chez WOA est qu'un PC WOA ne s'éteint pas. Les PC WOA ne disposeront pas des traditionnelles options de veille et de veille prolongée, que nous connaissons fort bien. En revanche, les PC WOA fonctionnent en permanence dans le nouveau mode d'alimentation Connected Standby (Veille connectée), mode qui ressemble à la façon dont on utilise les téléphones portables aujourd'hui. Lorsque l'écran est allumé, vous bénéficiez de toute la puissance et avez accès à toutes les fonctionnalités du PC WOA. Lorsque l'écran devient noir (en appuyant sur le bouton d'alimentation ou sur la minuterie), le PC entre dans un nouveau mode basse consommation qui permet à la batterie de durer des semaines. Toutefois, le système ajuste dynamiquement en permanence la consommation électrique et est toujours à la recherche d'opportunités pour réduire la consommation dans les parties inutilisées du système. Pour l'utilisateur final, une fonctionnalité unique de WOA est que vous déterminez quels programmes ont accès à l'exécution en arrière-plan afin que ces applications soient toujours connectées et que des informations telles que les nouveaux messages électroniques soient toujours actualisées. La veille connectée imprègne l'ingénierie des PC WOA, du matériel au microprogramme, en passant par le système d'exploitation, la plateforme WinRT et les applications. La veille connectée ne se limitera pas à l'architecture ARM et nous travaillons activement sur ces fonctionnalités pour les produits SoC x86/64 également.

De nos jours, nous sommes habitués à une utilisation du PC dans laquelle le matériel qui exécute Windows créé sur x86/64 adhère à un ensemble de spécifications techniques qui permettent à une distribution du code Windows de s'installer et de s'exécuter sur une large variété de PC. Cela présente des avantages énormes en termes d'évolutivité. Cette ouverture est également la marque de la révolution des PC et représente le travail collectif du secteur depuis environ 1980. Lorsqu'un nouveau matériel largement pris en charge arrive, ces spécifications de base évoluent et l'architecture des PC avance. Absolument rien de cette approche ne changera pour Windows 8. Comme des millions de personnes l'ont expérimenté avec notre Windows 8 Developer Preview, Windows 8 s'exécutera sur tous les PC portant le logo Windows 7, et exécutera tous les logiciels et périphériques existants conçus pour et pris en charge sur Windows 7 (lorsqu'ils sont pris en charge sur Windows 8 par le fabricant, bien sûr).

L'approche suivie par ARM Holdings, le concédant des produits ARM, n'est délibérément pas standardisée de cette manière. Chaque appareil de chaque fabricant est unique et les logiciels qui s'exécutent sur cet appareil sont uniques. Il existe bien entendu un ensemble d'instructions et une architecture de processeurs normalisés, cette dernière s'améliorant constamment (par exemple, l'ajout d'une prise en charge 64 bits et plusieurs noyaux), mais de nombreuses connexions entre le processeur et d'autres composants font partie de l'innovation que chaque concédant apporte à la plateforme ARM. Des points communs peuvent exister entre les appareils, mais de façon peu significative pour les utilisateurs. Techniquement, l'utilisateur final ne peut pas installer un système d'exploitation différent (ou une version différente du système d'exploitation) sur un appareil et ne peut pas étendre non plus le système d'exploitation. Cela n'est généralement pas possible et est rarement pris en charge par le fabricant de l'appareil. Les fabricants d'appareils collaborent avec des partenaires ARM pour créer un appareil strictement associé à un ensemble spécifique de logiciels (et parfois vice-versa). Les clients achètent ce package complet, qui est ensuite révisé et actualisé via un seul pipeline. L'ingénierie intégrée entre les partenaires de ces appareils incorporés est importante. Ainsi, cela est assez différent du monde de Windows sur x86/64.

Avec WOA, notre objectif a été de définir une nouvelle façon de développer une plateforme informatique. Nous avons conçu notre approche pour nous assurer que les logiciels et périphériques peuvent tous bénéficier de la diversité émanant de l'architecture ARM, ainsi que du choix des formats et fabricants et de l'ouverture de la plateforme. Nous nous engageons en même temps auprès des clients en affirmant que les fonctionnalités, l'expérience et les performances de base de WOA seront homogènes sur tout cet éventail. Pour ceux qui connaissent l'approche de Windows Phone 7, chassis specification, WOA partage certains de ces éléments. Les spécifications implémentées pour WOA permettent une plus grande diversité dans de nombreuses dimensions, avec un même engagement d'excellence en ingénierie et produits, tout en exécutant les mêmes binaires du système d'exploitation sur les PC WOA.

L'ingénierie pour ARM a commencé par notre travail de conception du noyau Windows afin qu'il puisse démarrer et s'exécuter sur ARM. Comme vous pouvez l'imaginer, cet effort a été important. Certains peuvent penser que ce travail s'apparente au portage ou simplement à la recompilation du code pour mettre en place un nouveau jeu d'instructions. Ce travail est en fait bien plus conséquent lorsqu'on touche au noyau et aux parties de Windows qui sont connectées au matériel. Avec le travail sur le noyau, nous avons également dû développer les compilateurs et outils ARM (notamment Visual Studio), pour concevoir Windows.

Aux niveaux les plus élevés (les couches d'application), le code peut faire l'objet d'un portage important en raison de notre longue histoire d'exécution sur plusieurs architectures (x86, x64, PowerPC, Alpha, MIPS, IA64, etc.). Le noyau lui-même possède une grande quantité de code pouvant faire l'objet d'un portage. Au niveau du matériel/logiciel et à tous les endroits qui émettent des hypothèses sur la façon dont un système d'exploitation va interagir avec le matériel, Windows a été réimaginé pour cette nouvelle plateforme. La définition d'ARM n'a pas besoin de prendre en charge certains écosystèmes communs, tels que le bus PCI ou SATA. Des concepts analogues sont implémentés par chaque implémentation ARM, mais ils ne sont pas toujours communs. Tout cela a été réalisé au cours de l'itération de trois révisions majeures du matériel ARM depuis le début du projet.

Regardons certains des types de travail entrepris dans le cadre de cet effort, que nous appelons en interne « portage », en dépit du fait qu'il s'agit de beaucoup plus que cela. N'oubliez pas que tout ce travail a été réalisé parallèlement au développement de l'expérience utilisateur, de Windows Store, de WinRT et des nouvelles fonctionnalités de Windows 8.

Préparation au portage

Avant même que le portage ne puisse commencer, nous avions besoin d'un compilateur ARM et d'une chaîne d'outils pour concevoir Windows. Comme d'autres produits Microsoft (tels que Windows Phone et Windows Embedded) utilisent des processeurs ARM, nous avions ces exemples, mais les avons encore améliorés pour concevoir Windows. Ces outils seront mis à la disposition des développeurs, et si vous utilisez C#/VB/XAML/HTML5 dans la version Windows 8 Developer Preview, vous savez déjà de quoi il s'agit. C/C++ nécessite un matériel ARM natif pour les tests, nous en reparlerons ci-dessous.

Démarrage du noyau de Windows

Une fois les outils obtenus, nous pouvions commencer le portage de l'environnement de démarrage de Windows et le développement des spécifications du microprogramme système. Nous avons d'ailleurs créé nous-mêmes un prototype du microprogramme. Il comporte plusieurs parties :

  • Le microprogramme UEFI est la couche inférieure d'un système WOA, il procure des services homogènes pour charger le système d'exploitation. Pour WOA, nous avons créé un microprogramme pour amorcer le système, que nous avons remis à nos partenaires. Les systèmes WOA comprennent également un TPM basé sur microprogramme pour un démarrage et un chiffrement fiables. À l'aide du TPM, par exemple, nous avons implémenté un démarrage fiable qui vérifie que le système n'a pas été altéré par des programmes malveillants.
  • Le microprogramme ACPI est utilisé pour l'énumération Plug-and-Play des périphériques de la plateforme lors du démarrage. Il est également chargé de la gestion de l'alimentation des périphériques en dehors de SoC (par exemple les capteurs, le contrôleur tactile, etc.). Au fil des années, le PC s'est normalisé avec les bus Plug-and-Play et ACPI, de sorte que les logiciels et pilotes du système d'exploitation peuvent « parcourir l'arborescence » pour tout découvrir sur le PC. Avec les conceptions incorporées dans SoC, il n'existe aucune « arborescence » ou aucune possibilité de découvrir ce qui est connecté à un SoC, ou même de savoir comment le SoC est connecté. Au cours de la conception de Windows 8, nous nous sommes efforcés de définir une nouvelle norme décrivant la configuration du système avec des tables, afin que les logiciels puissent simplement lire la table et configurer le système.

À partir du microprogramme, le système peut ensuite charger le gestionnaire de démarrage, le chargeur de démarrage et à la suite le noyau, la couche d'abstraction matérielle (HAL) et les pilotes de périphériques de démarrage.

  • La couche Windows HAL (Hardware Abstraction Layer) prend en charge les variations des principales ressources système (temporisateurs, DMA,contrôleurs d'interruptions). Dès le départ, Windows a été conçu pour prendre en charge plusieurs architectures de jeu d'instructions. Dans ce cadre, la couche HAL joue un rôle essentiel dans l'adaptation aux différentes architectures système souvent associées aux nouvelles architectures de jeu d'instructions. Grâce à l'abstraction des couches matérielles, le système d'exploitation lui-même n'a pas besoin d'être modifié pour adapter un nouveau SoC aux principales ressources système. Les importantes variations existant entre les plateformes ARM sont telles que nous avons conçu la couche HAL de sorte que ses capacités d'abstraction soient plus importantes que jamais. Désormais, grâce à la couche HAL de Windows 8, les différentes ressources système peuvent être connectées par le biais d'une extension de la couche HAL, à la manière de pilotes connectés au contrôleur d'interruptions.
Appareils et bus

Pour charger les pilotes des périphériques et poursuivre le démarrage de Windows, nous devions créer plusieurs pilotes adaptés à de nouveaux types de bus basse consommation, ainsi que des pilotes de périphérique prenant en charge les connexions à ces bus.

Notre stratégie en matière de périphériques exploite de façon intensive des protocoles standardisés et des pilotes de classe. Notre premier exemple ci-dessous est le pilote HID via I2C, que nous utilisons pour les contrôleurs tactiles et de nombreux capteurs. Le pilote de classe des composants radio mobiles haut débit connectés en USB constitue un autre exemple. Bien évidemment, Windows intègre de nombreux pilotes de classe, que vous utilisez dès que vous branchez différents périphériques USB (disques durs, souris, clavier, etc.).

  • Les bus série basse consommation tels que le bus I2C / UART constitueront la norme sur les PC ARM et seront moins fréquents sur les PC X86. Ces bus offrent généralement un taux de transfert plus faible, mais en contrepartie, ils consomment très peu d'électricité, jusqu'à dix fois moins dans certains cas. La prise en charge de ces bus est essentielle pour réduire la consommation électrique globale de WOA et accroître l'autonomie des batteries. Nous regroupons ces bus sous l'appellation SPB (Simple Peripheral Busses) et nous avons spécialement développé de nouvelles interfaces qui leur sont destinées dans WOA. Une fois que nous disposions des interfaces, nous devions pallier un autre manque. Dans Windows, de nombreuses classes de périphériques sont nativement prises en charge sur les bus USB par le biais de pilotes de classe. Ces classes ne sont pas définies par la norme I2C et ne bénéficient donc pas d'une prise en charge des pilotes de classe. Les périphériques basés sur le protocole HID (Human Interaction Device) sont particulièrement courants. HID est le protocole utilisé par des périphériques tels que les claviers, souris, pavés tactiles, téléphones mains libres, boutons, écrans tactiles, etc. En définissant un protocole standardisé et en implémentant la prise en charge des pilotes pour le protocole HID via I2C, nous pouvons collaborer avec nos partenaires afin d'adapter le microprogramme de leurs périphériques I2C de sorte qu'ils fonctionnent avec un seul pilote de classe. Par exemple, en prenant en charge le protocole HID via I2C, les contrôleurs tactiles peuvent utiliser cette interface et exploiter les fonctionnalités dont Windows dispose déjà en matière de saisie et de pointage.
  • SD I/O vous permet de connecter des composants radio Wi-Fi basse consommation. Les composants radio des PC actuels sont connectés par le biais de ports USB ou PCI-E. Pour conserver des taux de transfert de données élevés (100 Mo/s) tout en améliorant l'autonomie de la batterie, nous avons ajouté la prise en charge de SD I/O. La prise en charge du Wi-Fi sur WOA permet également de délester la charge de façon efficace, afin de maintenir la connexion pendant la veille connectée, tout en consommant très peu d'électricité.
  • Le stockage eMMC (Embedded MultiMediaCard) est le standard de facto pour le stockage des données sur les appareils ARM, puisque la plupart d'entre eux ne possèdent pas d'interface SATA. Nous avons ainsi été confrontés à un défi intéressant à relever, dans la mesure où Windows s'attend à trouver un disque rapide offrant des vitesses de transfert très élevées. Outre la prise en charge du stockage, nous avons optimisé de plusieurs manières les performances du système d'exploitation, afin de réduire et de fusionner les opérations d'entrée-sortie liées au stockage, avec à la clé une réduction des opérations de lecture et d'écriture.
  • Le pilote GPIO (General Purpose I/O) prend en charge la connexion de boutons, d'interruptions ou d'autres entrées-sorties au processeur ARM.
  • En plus du pilote GPIO, il existe également un pilote de boutons pour les boutons Windows, les boutons marche-arrêt et les boutons de volume. Les boutons ne sont pas standards sur les appareils ARM. Chaque système nécessite un pilote spécifique pour l'ensemble des boutons physiques.
  • Nous avons conçu une nouvelle infrastructure d'alimentation gérant l'alimentation du SoC, l'alimentation générale de la plateforme et le modèle d'utilisation du bouton marche-arrêt en veille connectée.
Accès à l'écran Démarrer

Une fois que le microprogramme, la couche HAL, les services de démarrage, les périphériques d'amorçage et les bus étaient opérationnels, nous pouvions mettre en place le reste du système et accéder au Bureau et à l'écran Démarrer.

  • Les SoC ARM pour WOA disposent de processeurs graphiques compatibles DirectX (DX) pour l'accélération matérielle dans Internet Explorer 10, dans l'interface utilisateur de Windows et dans les applications de style Metro. Les processeurs graphiques compatibles DX sont indispensables pour offrir une expérience utilisateur réactive. Pour chaque cible WOA, le partenaire ARM a créé un pilote graphique compatible DX. Cela implique l'écriture d'un code extrêmement complexe, car les processeurs graphiques actuels sont encore plus subtils que les processeurs de traitement. Puisque les SoC ARM ne disposent pas du sous-système standard VGA servant de solution de secours en mode de compatibilité, pour rendre Windows 8 compatible avec les nouveaux SoC qui ne disposaient pas encore d'un pilote graphique, notre équipe a dû écrire un pilote de processeur graphique logiciel, capable de travailler directement avec le tampon de trame matériel. Outre le fait qu'il nous a permis de poursuivre le développement, il nous a également permis de réimaginer d'autres éléments de Windows en utilisant le pilote de processeur graphique logiciel lorsque le pilote de processeur graphique standard n'était pas disponible. Par exemple, pendant l'installation de Windows et dans les rares cas où Windows affiche un « écran bleu », les informations affichées à l'écran sont présentées de façon plus séduisante et sont même localisées. Ainsi, même les mauvaises nouvelles sont mieux présentées, et ce, sur l'ensemble des plateformes ! Ce petit exemple n'est qu'un exemple parmi tant d'autres du travail que nous avons réalisé également sur l'architecture x86/64.
  • Les PC WOA font appel aux ressources matérielles pour délester auprès de sous-systèmes matériels intégrés la charge imposée au processeur principal. Ce mode de fonctionnement améliore les performances et l'autonomie. Par exemple, lorsque l'utilisateur regarde un film, le traitement est effectué en délestant la charge multimédia (auprès d'un processeur réservé à cet usage, par exemple) et tous les autres traitements sont limités au strict minimum. Puisque le délestage de la charge multimédia est optimisé pour la lecture, vous pouvez visionner plusieurs films sans décharger entièrement la batterie. Cette fonctionnalité permet aussi d'envisager la conception de PC encore plus fins et plus légers. Prenons un autre exemple. Si vous avez ouvert un document et que vous regardez un film en même temps, le film exploite le matériel auprès duquel la charge est délestée, ce qui améliore la réactivité globale du système. WOA exploite plusieurs types de délestage de charge : délestage multimédia pour l'encodage et le décodage, délestage de sécurité pour Bitlocker et EAS, etc. Ces principes de fonctionnement s'appliquent également aux plateformes x86/64, qui acceptent aussi le délestage de charge, introduit dans Windows 7.
Services des périphériques connectés

À ce stade, nous disposions d'un système en grande partie opérationnel : il ne nous restait plus qu'à ajouter les services afin de prendre en charge toutes les fonctionnalités de Windows. Ces services sont communs à toutes les architectures prises en charge par Windows, de façon à ce que les développeurs puissent les exploiter dans les applications de style Metro.

  • Pilote de classe haut débit mobile. Grâce au pilote de classe que nous avons créé, il est bien plus facile d'ajouter des fonctionnalités haut débit à tous les PC Windows. Si WOA a joué le rôle de catalyseur dans ces efforts, l'écosystème tout entier profite de cet avantage.
  • Pilote de classe pour imprimantes. Pour Windows 8, nous avons modifié l'architecture de l'infrastructure d'impression afin d'ajouter la prise en charge d'un pilote de classe. La majorité des imprimantes du marché sont prises en charge par le biais du pilote de classe, ce qui signifie que vous profiterez d'une fonctionnalité « plug and print » sur WOA sans pilotes supplémentaires. Si la nouvelle architecture s'avérait de toute façon nécessaire pour de nombreuses raisons, l'impression à partir des PC WOA a été envisagée dès le départ.
  • GPS. Windows offre un fournisseur de géolocalisation capable de calculer la position d'un PC par triangulation, par le biais des points d'accès Wi-Fi et d'une base de données sous-jacente. En outre, les systèmes disposant d'une connectivité haut débit mobile disposeront également d'un récepteur Global Navigation Satellite System (GNNS, ou plus simplement GPS) intégré permettant un positionnement précis en extérieur. La plateforme de géolocalisation joue un rôle central dans l'optimisation de la consommation électrique et de la précision, car elle détermine le fournisseur de données de position à utiliser en fonction de la précision requise par l'application.
  • Capteurs (accéléromètre, capteur de rotation, capteur gyroscopique, compas, magnétomètre). Dans un billet récent, nous avons décrit le concept de « capteur composite » et expliqué notre démarche visant à prendre en charge les capteurs dans Windows. Ces efforts s'appliquent à toutes les architectures SoC et exploitent le protocole HID via I2C.
  • Bluetooth. WOA prend en charge Bluetooth LE et les mêmes profils que Windows 8 pour plateformes x86/64. La connectivité radio Bluetooth exploite un émetteur-récepteur UART basse consommation.
  • MTP via USB et IP. Windows sur ARM offre aux utilisateurs la possibilité de connecter leurs appareils mobiles (téléphones, lecteurs multimédias, appareils photo) à leurs systèmes via le protocole MTP (Media Transfer Protocol). Ces appareils MTP peuvent se connecter via USB ou IP, par le biais des pilotes de classe Windows de boîte de réception. Les utilisateurs peuvent ainsi échanger des données avec leurs applications de style Metro favorites.
  • Maintenance via Windows Update. Pour l'intégralité du code de la plateforme (système d'exploitation, pilotes, système et microprogramme des périphériques), la maintenance de chaque système WOA est entièrement assurée par le biais de Windows Update (WU). Nous avons amélioré WU de sorte qu'il puisse mettre à jour le microprogramme système des plateformes WOA de façon sécurisée et fiable. Grâce à la fonctionnalité de ciblage des pilotes, chaque périphérique reçoit les pilotes certifiés les plus performants.

Comme vous pouvez le constater, une partie de de travail de développement consiste précisément à adapter Windows à la nouvelle plateforme matérielle. Certains de ces efforts mettent en œuvre de nouveaux types de prise en charge matérielle. Ce travail porte en majeure partie sur la plateforme x86/64 et plus particulièrement sur des produits innovants, tels que les nouveaux processeurs ATOM® basse consommation, présentés par Intel au cours du dernier salon CES.

Nos efforts se font également sentir au niveau de la couche applicative et ont abouti à certains éléments fondateurs des nouvelles API WinRT, présentées lors de la conférence //build/. Par exemple, alors même que nous avons conçu le noyau de telle sorte qu'il prenne en charge la veille connectée, l'amélioration de l'autonomie en général fait partie intégrante du modèle d'applications et des outils de WinRT. Tout cela s'applique aussi bien à WOA qu'à Windows 8 pour plateformes x86/64.

Comme nous l'avons déjà évoqué, une partie de Windows est basée sur du code qui peut être adapté aux processeurs ARM de façon relativement simple d'un point de vue technique. Parmi ces sous-systèmes, on trouve notamment le Bureau Windows ainsi que les applets et les API de prise en charge, même si nous avons dû remanier de façon significative l'architecture de tous ces éléments pour optimiser leur consommation de ressources et d'électricité. Voici une des premières photos d'un appareil ARM (un prototype Windows Phone) affichant l'intégralité du Bureau Windows. Au début du développement de WOA, en termes de plateforme matérielle, nous disposions uniquement des appareils ARM existants tels que des téléphones (les tablettes ARM n'étaient pas encore disponibles). Nous pensons que vous apprécierez ces quelques photos relativement anciennes de l'outil de débogage de WOA chargé en RAM (photos nos retouchées). Remarque : Il ne s'agit en aucun cas d'un futur produit, ni même d'un aperçu d'un produit.

 Main tenant un téléphone mobile affichant le Gestionnaire des tâches et un clavier virtuel

Main tenant un téléphone mobile affichant le jeu Solitaire dans une fenêtre située au-dessus du pavé numérique du téléphone

Phases de test

Vous vous demandez peut-être comment nous testons WOA dans nos laboratoires. Pour les plateformes x86/64, nous disposons de gros laboratoires (des milliers de machines physiques ou virtuelles). Des tests en grande partie automatisés sont réalisés pour chaque build quotidien. WOA nous a obligés à réimaginer nos propres processus de test et de laboratoire. Pour tester les plateformes x86/64, rien de plus simple que de commander des milliers de serveurs en rack ou de virtualiser des serveurs. Pour les plateformes ARM, en revanche, un problème s'est posé, car aucun serveur en rack standard ne peut exécuter WOA. Puisque notre approche de développement matériel, de développement logiciel et de développement des microprogrammes fait appel à un haut niveau d'intégration et que la virtualisation ne peut pas être mise en œuvre, nous avons dû créer nos propres outils.

C'est ainsi que nous avons regroupé des centaines de cartes de développement ARM et une carte sur mesure d'entrées-sorties au sein d'une structure en rack connectée à notre infrastructure de test. Notre système de départ prenait en charge 300 appareils ARM au sein d'un rack, mais au final nous avons privilégié les possibilités de diagnostic et la disponibilité d'une carte d'entrées-sorties sur mesure dans une configuration de 1U.

Nous avons créé notre propre châssis 1U pouvant entrer dans un rack de serveurs standard. Ce châssis peut accueillir l'appareil complet ou simplement la carte mère. Une fois entièrement assemblés, la carte SoC, la carte d'entrées-sorties et le châssis ressemblent à un PC en rack standard et fonctionnent de la même manière. Ce système est parfaitement adapté à notre infrastructure de laboratoire existante.

Chaque rack 42U contient 32 châssis WOA ainsi que des commutateurs réseau, un PC hôte de débogage et des hubs USB. Dès le mois de mars, disposions de plus de 100 racks complets permettant de tester WOA.

Nous devions également porter notre infrastructure d'outils de test, ainsi que les tests eux-mêmes. Cette démarche s'est avérée difficile, mais elle allait nous permettre de tester WOA en profitant des mêmes possibilités d'automatisation que celles mises en œuvre pour valider Windows 8. Voici une photo du rack de test que nous avons inventé, sur laquelle vous pouvez également voir la carte et les ports de débogage :

Rack de test

Carte et ports de débogage, avec des légendes désignant les composants suivants : carte d'entrées-sorties sur mesure, convertisseur HDMI-VGA, connecteur d'alimentation HDMI Molex sur mesure, connecteur USB de débogage permettant de contourner la carte d'entrées-sorties, liaison montante USB-A vers le hub de la carte d'entrées-sorties, châssis en rack standard 1U (ATX ou EATX), alimentation PC standard, adaptateurs USB de façade, commutateur d'alimentation de façade, adaptateurs pour commutateur et LED de réinitialisation, connecteur d'alimentation ATX standard à 20 broches, câble d'alimentation entre la carte personnalisée et le connecteur Molex (SV), disque dur SATA standard (disque de travail), câble HDMI vers le connecteur d'alimentation HDMI, carte SoC sur support adhésif.

Développement pour les plateformes ARM

En pratique, notre approche est encore plus poussée qu'elle n'en a l'air. Nous avons également saisi cette opportunité pour modifier de façon significative la conception de chaque sous-système de Windows. Au cours de la conception de WOA et de Windows 8, nous avons consacré une bonne part de notre énergie à modifier tous les éléments de Windows, de façon à ce que le système fonctionne encore mieux en termes de réduction de la consommation électrique et de l'utilisation des ressources, tout en offrant des performances supérieures dans le cadre des charges applicatives existantes. Dans nos billets précédents consacrés au démarrage, à la gestion de l'alimentation et à la consommation de mémoire, nous avons présenté en partie le résultat de ce travail.

Nous avons déjà expliqué que WOA ne prendra pas en charge les approches faisant appel à la virtualisation ou à l'émulation, et n'autorisera ni le portage, ni l'exécution des applications x86/64 existantes. La prise en charge de différentes formes d'émulation irait à l'encontre de notre objectif visant à proposer un produit plus moderne sur le plan de la fiabilité du système et de la prévisibilité : par définition, le code existant n'a pas été optimisé pour la plateforme, contrairement à WOA. Les logiciels virtualisés ou émulés consommeraient beaucoup trop de ressources système (ressources processeur, notamment) et mettraient à mal l'autonomie. L'émulation et la virtualisation de logiciels x86/64 existants nécessitent également un environnement PC traditionnel avec clavier et souris, ce qui ne constitue pas une hypothèse envisageable dans tous les cas pour les PC WOA.

Le fait d'autoriser un portage à grande échelle du code existant nous empêcherait de tenir nos objectifs en matière d'allongement de l'autonomie, de prévisibilité des performances et de fiabilité de l'expérience utilisateur à long terme. Les conventions utilisées par les applications Windows actuelles n'offrent pas toujours ces avantages, en raison des diverses techniques courantes qu'elles mettent en œuvre : processus d'arrière-plan, boucles d'interrogation, temporisateurs, hooks système, programmes de démarrage, modifications du registre, code en mode noyau, droits d'administration, pilotes non signés, modules complémentaires, etc. En évitant ces concepts, WOA peut mettre la barre très haut en termes de satisfaction des clients : votre PC WOA continuera à fonctionner de façon optimale sur le long terme, car les applications sont isolées du système et isolées les unes des autres, mais aussi parce que vous gardez le contrôle sur les logiciels supplémentaires exécutés, tout en profitant pleinement des différentes possibilités offertes par le matériel.

Le renforcement de la sécurité des utilisateurs de WOA fait partie de nos principaux objectifs. Au cours d'une manifestation ouverte au public, des participants nous ont demandé si nous ne risquions pas de faciliter l'exécution des virus et des programmes malveillants existants. Vous savez désormais que la réponse est clairement négative. En effet, WOA accepte exclusivement le code d'exécution distribué via Windows Update, ainsi que l'éventail complet des applications du Windows Store. Comme nous le savons tous, la sécurité est un défi global et extrêmement complexe. Aucun système, aucune plateforme ne peuvent se vanter d'être sécurisés sans prendre en compte de nombreux facteurs.

Si vous avez besoin d'exécuter des logiciels x86/64 existants, le mieux est d'utiliser Windows 8 sur une plateforme x86/64. Si vous envisagez déjà l'achat d'un appareil non-Windows, nous pensons que WOA sera la meilleure solution, de par la diversité des formats potentiellement disponibles, les périphériques compatibles, les applications du Windows Store (et sa plateforme de développement) et ses applications Office, mais aussi en raison des nombreuses fonctionnalités intrinsèques de Windows.

Bien évidemment, nous savons que de nombreux développeurs, chez Microsoft comme ailleurs, s'appuient sur des techniques de programmation existantes et que la transition vers WOA nécessitera des efforts conséquents. Le fait de développer des applications basées sur WinRT résout dès le départ bien des difficultés : WinRT a été conçu pour exploiter la pleine puissance des logiciels modernes tout en évitant les pièges susceptibles de mettre à mal l'expérience utilisateur. Pour cela, nous nous engageons à prendre en charge des outils et des langages de programmation adaptés, et à accompagner les développeurs.

Les développeurs souhaitant proposer leurs applications existantes sur WOA disposent de deux solutions. Pour de nombreuses applications, la meilleure solution consistera à créer de nouvelles interfaces de style Metro pour les sources de données ou les applications existantes, et à implémenter la communication via une API de services Web. Cette approche devrait être courante dans le cas des applications de cœur de métier et de nombreux services Web grand public. Elle constitue le meilleur moyen d'accéder à la puissance d'un modèle d'interaction enrichi, permettant également de partager des informations avec de nouvelles applications et d'interagir avec elles. Évidemment, au-delà de simples interfaces frontales, les applications peuvent également manipuler des données locales, car WOA offre un accès complet aux fichiers et aux périphériques. Pour d'autres applications existantes, la meilleure solution consiste à réutiliser de grandes quantités de code moteur ou de code d'exécution et à englober le tout dans une expérience de style Metro. Ce travail sera long, mais les applications exploitant de grandes quantités de code protégé par le droit d'auteur pourront être adaptées à WOA et WinRT. Dans tous les cas, WinRT représente le nouveau socle de services de système d'exploitation Windows auquel les développeurs peuvent faire appel pour créer des logiciels conçus pour Windows 8.

Reprenons notre diagramme d'architecture présenté lors de la conférence //build/. Du point de vue des développeurs tiers, il faut envisager WOA comme l'expression de la plateforme de style Metro, qui partage le cœur du système d'exploitation Windows avec les autres produits Windows. Ce cœur de système d'exploitation a été optimisé et agencé pour prendre en charge la plateforme ARM. Il doit aussi prendre en charge les API WinRT et le modèle de programmation utilisé par les développeurs tiers.

Diagramme de l'architecture de WinRT, présenté lors de la conférence //build

Le thème du développement pour les plateformes ARM est un vaste sujet, qui a occupé de nombreux membres de l'équipe Windows tout au long du projet. La prochaine étape consiste à élargir le périmètre du code WOA et cela dépend avant tout de la manière dont nous allons mettre les PC WOA sur le marché.

Mise sur le marché des PC WOA

Depuis la fin du projet Windows 7, nous travaillons avec les fabricants de PC sur l'évolution de Windows et la création de Windows 8. La commercialisation de nouveaux PC implique une collaboration active : le logo « Conçu pour Windows » que vous voyez sur les PC est le fruit d'un travail collaboratif impliquant de nombreux partenaires ayant pour objectif commun de mettre sur le marché des PC novateurs et séduisants. Le modèle que nous avons utilisé et que nous continuerons à utiliser pour commercialiser les PC x86/64 est celui que nous avons toujours utilisé : nous introduirons de nouvelles technologies telles que l'USB 3.0, l'UEFI, le tactile et les capteurs, et nous les prendrons en charge dans une nouvelle version de Windows par le biais de nouveaux composants matériels. Cet effort collaboratif et permanent donnera lieu à l'introduction de nombreuses améliorations au cours de ce cycle produit.

La mise sur le marché des PC WOA correspond à l'introduction d'un nouveau système : il s'agit là d'un écosystème de PC entièrement nouveau, permettant aux fabricants de PC d'imaginer une nouvelle génération de PC offrant des fonctionnalités jusque-là inconnues. De notre point de vue, ces PC offrent des niveaux de fonctionnalité inégalés sur trois dimensions : un design fin et léger, une autonomie élevée et une intégration de haute qualité.

En raison du lien forcément étroit entre le SoC, les périphériques, les microprogrammes et le système d'exploitation, les PC WOA doivent être considérés comme le résultat d'une démarche de « co-ingénierie », qui va bien au-delà d'une simple collaboration entre des partenaires industriels. Dans cet effort commun, il arrive que les équipes logicielles de Windows « déboguent » le silicium à l'aide de fers à souder et que les ingénieurs hardware déboguent dans Visual Studio des problèmes de synchronisation survenant au niveau du code de l'interface utilisateur. Ainsi, chaque PC WOA constitue un nouvel effort en termes d'ingénierie, de la sélection des composants à l'assemblage final, en passant par le développement du microprogramme, des pilotes et des applications propres à chaque fabricant. Pour profiter dès le départ de conditions optimales, nous montons également les nouvelles architectures ARM sur des plateformes de simulation et d'émulation, avant même que la puce soit disponible. Nous assemblons l'écosystème dans le but de concevoir une plateforme entièrement conçue pour consommer peu d'électricité, ce qui implique non seulement l'utilisation d'un SoC d'excellente qualité, mais aussi de composants radio, de capteurs et d'une infrastructure d'alimentation continue toujours plus efficaces. Tous ces éléments favorisent la mise au point de PC très fins et très légers, offrant une grande autonomie, ainsi que le développement d'applications et de services à l'expérience utilisateur optimale, conçus pour Windows 8.

Si chaque PC WOA présentera ses propres spécificités, le rôle de Windows est de proposer une expérience utilisateur cohérente tout en permettant au client de profiter pleinement des fonctionnalités de composants matériels uniques et innovants, comme n'importe quel système d'exploitation. Pour parvenir à cet objectif, nous avons collaboré avec plusieurs détenteurs de licences ARMS, notamment Texas Instruments, Qualcomm et NVIDIA. Chacun d'entre eux a collaboré avec d'autres partenaires qui commercialiseront des PC WOA. Ces PC ont tous été conçus et fabriqués spécialement pour WOA. Du jeu de composants aux pilotes, en passant par les microprogrammes, l'ensemble du travail a été optimisé pour WOA. Les partenaires travaillent d'arrache-pied pour créer des designs industriels innovants et des formats qui s'étendent bien au-delà des tablettes. Ceux-ci sont en cours de développement. Notre objectif commun est de permettre aux fabricants de PC de commercialiser des PC WOA en même temps que les nouveaux PC conçus pour Windows 8 pour plateformes x86/64, en utilisant la dernière génération de ces plateformes, qu'elles soient axées sur la faible consommation ou sur les performances.

Ce n'est pas le sujet de ce billet, mais sachez que nous souhaitons faire en sorte que lorsqu'un client achète un PC WOA, celui-ci soit clairement étiqueté comme tel, pour éviter toute confusion avec Windows 8 pour plateformes x86/64. Le système d'exploitation, les pilotes et les différents logiciels seront préinstallés sur le PC. WOA ne sera pas disponible sous forme de distribution uniquement logicielle : vous n'aurez pas à vous soucier de l'installation du DVD et de sa compatibilité avec tel ou tel PC.

La maintenance des PC WOA s'effectuera uniquement par le biais de Windows Update ou Microsoft Update, et les applications que vous ajouterez proviendront uniquement du Windows Store. Vous n'aurez donc pas à vous soucier de la compatibilité des logiciels, car vous ne pourrez pas télécharger ou installer d'application qui ne provient pas du Windows Store. En termes d'utilisation et de gestion, un PC WOA ressemblera en tous points à n'importe quel produit électronique grand public. Par exemple, comme nous l'avons déjà évoqué, la nouvelle fonctionnalité d'actualisation et de réinitialisation sera disponible et offrira ainsi à WOA l'équivalent d'une nouvelle installation ou d'une installation à partir d'une image disque.

Étapes suivantes

L'aventure ne fait que commencer et en fonction de vos réactions, nous publierons d'autres billets sur ce blog pour détailler l'architecture de WOA et le travail mis en œuvre lors du développement de ce système d'exploitation. Bon nombre d'entre vous souhaitent certainement tester la partie logicielle. Évidemment, il n'existe malheureusement pas de matériel compatible, contrairement à Windows 8 pour plateformes x86/64, qui fonctionne sur les PC conçus pour Windows 7. Cependant, le projet est maintenant suffisamment avancé pour envisager une distribution élargie du logiciel WOA et du matériel de développement.

Pour exécuter cette version, quelques PC de test spécialement conçus pour WOA seront proposés au début de la prochaine phase de développement de Windows 8. Ces appareils sont destinés aux développeurs et aux partenaires fabricants de matériel et ne sont en aucun cas représentatifs des formats qui seront proposés au grand public. Ils possèdent des outils et des ports de diagnostic. Ils ont été conçus pour être ouverts et débogués. Ils ne possèdent ni les composants finaux, ni le microprogramme (sans parler des outils de gestion de l'alimentation et de la température) qui seront mis en œuvre dans les appareils qui seront commercialisés. Enfin, leur coque est faite de plastique bas de gamme. Vous avez peut-être pu voir quelques-uns de ces appareils lors du CES ou sur ce blog et toutes nos démonstrations ont jusqu'à présent utilisé l'un ou l'autre de ces PC de test. Ces PC sont représentatifs de WOA et de l'expérience utilisateur, mais ils ne sont pas plus représentatifs de l'expérience utilisateur finale que ne l'est la version actuelle de Windows 8 pour plateformes x86/64. Ils utiliseront la même branche de développement de Windows que celle qui sera proposée aux testeurs de la version x86/64 lors de la prochaine phase de développement, qui est imminente.

La fabrication et la distribution de ces PC sont très coûteuses, car il s'agit de PC sur mesure produits en très faible quantité. Ils seront proposés aux développeurs pour leur permettre de découvrir WOA. Nous évoquons ici ces appareils non pas pour « faire le buzz », mais simplement parce que nous savons que le sujet suscitera de nombreux commentaires et que des images seront publiées sur le Web. Les appareils font déjà l'objet de commentaires et les rumeurs vont bon train. Nous savons qu'il est frustrant de vous présenter ces appareils sans que vous puissiez en profiter, mais d'un autre côté, nous souhaitons rester très transparents sur le développement de Windows. Les implications du projet Windows 8 sont immenses et sans précédent, notamment par la manière dont nous dévoilons les informations à l'avance et par le dialogue engagé avec vous.

D'ici la fin du mois, la version Windows Consumer Preview (c'est-à-dire la version bêta) de Windows 8 pour plateformes x86/64 sera disponible en téléchargement. Nous avons modifié le nom de la version bêta pour éviter toute confusion, car depuis quelque temps, le terme « bêta » recouvre autre chose qu'une simple « version de test disponible gratuitement à des fins de démonstration ». Pour poursuivre notre démarche d'ouverture, nous n'imposons aucune procédure de préinscription ou de sélection pour ce programme de test : il vous suffit de télécharger et d'installer cette version sur un PC possédant le logo Windows 7 (vous pouvez aussi l'installer sur une machine virtuelle, mais cette approche ne permet pas de profiter pleinement de l'expérience utilisateur). Depuis la version Windows Developer Preview proposée il y a cinq mois, les progrès réalisés sont immenses et de nombreuses améliorations ont été mises en œuvre. Pour rappel, le développement de Windows 8 et de WOA est toujours en cours et la route vers la version finale est encore longue. La qualité reste notre priorité. Le code n'est en aucun cas figé.

Nous sommes très impatients à l'approche de cette nouvelle étape. Le développement d'une nouvelle version de Windows est un véritable exercice d'humilité et les défis liés à la commercialisation d'une plateforme entièrement nouvelle telle que WOA sont à la fois stimulants et terriblement complexes. Nous sommes impatients d'accueillir très prochainement chacun d'entre vous à bord de Windows Consumer Preview !

De la part de toute l'équipe Windows,

Steven Sinofsky

  • Loading...
Leave a Comment
  • Please add 4 and 7 and type the answer here:
  • Post