Torvalds, le créateur de Linux, dit ce qu’il pense. Il sait aussi reconnaître les problèmes rencontrés avec le dernier noyau Linux 4.8. Et, quand, lors de la dernière conférence Linaro Connect qui se tenait à Las Vegas, on lui a demandé quelle était son architecture processeur favorite, bien que surpris, il a répondu sans hésitation qu’il préférait l‘architecture x86 à celle d’ARM. La longue histoire entre le x86 et les PC a peut-être influencé sa réponse. Néanmoins, de son point de vue, sous x86, la fragmentation logicielle et matérielle est limitée, et les choses fonctionnent, tout simplement.
« Les gens accordent trop d’importance au jeu d'instructions et au cœur CPU », a ainsi déclaré Linus Torvalds. Selon lui, ce qui compte le plus, c’est l'écosystème qui existe autour de l'architecture. « Le plus important, c’est l’infrastructure qu’il peut y avoir autour du jeu d'instructions, et l’architecture x86 offre cette infrastructure, à plusieurs niveaux », a encore affirmé le créateur de Linux. « L’architecture x86 a permis d’ouvrir des voies comme aucune autre architecture n’a su le faire », a-t-il ajouté. Le développement d'applications pour PC tournant avec des puces x86, fabriquées aussi bien par Intel que par AMD, a été très riche. L‘adoption d’un modèle unifié autour du matériel, du développement, et d'autres infrastructures, a eu un effet très important, car elle a permis d’assurer la compatibilité entre puces x86 et PC.
Impossible de déployer Android sur tous les mobiles
On ne peut pas dire la même chose de l’architecture ARM. « Du point de vue du hardware, l’architecture ARM a favorisé la fragmentation du marché », a encore déclaré Linus Torvalds. « La question de la compatibilité n'était pas aussi importante pour l'écosystème ARM, alors qu’elle l’a toujours été pour l'écosystème x86 », a-t-il expliqué au cours d'une discussion informelle avec des développeurs ARM. Les puces ARM dominent le marché des périphériques mobiles, et la majorité des appareils utilisent le système mobile Android lui-même basé sur le noyau Linux. Mais l'écosystème ARM est très fragmenté, et cela pose des problèmes aussi bien en terme de support, qu’en terme de terminal.
Par exemple, en raison de configurations matérielles différentes, il est impossible de déployer une même version build d'Android sur tous les appareils mobiles. Les fabricants de matériels doivent adapter l’OS pour le rendre compatible avec les chipsets qu’ils utilisent dans leurs appareils. Contrairement aux mises à jour de Windows qui peuvent s’appliquer à tous les PC, il n’est pas possible de mettre à jour tous les appareils mobiles Android avec une version unique. L'un des objectifs d’Intel, qui a essayé, sans succès, de prendre des parts sur le marché mobile en livrant des puces x86 pour smartphones, était de permettre le téléchargement et l’installation des mises à jour Android sur tous les combinés x86.
Malgré ses efforts, Linus Torvalds n'a jamais réussi à acquérir un Acorn Archimede en Finlande. (Crédit D.R.)
« La plate-forme ARM n’est toujours pas très agréable à utiliser »
L’architecture ARM pose aussi des problèmes en terme de développement de logiciels serveur. Chaque puce a des caractéristiques architecturales, réseaux et I/O différentes, et il faut réécrire le logiciel pour que chacune d’elles puisse exploiter ces fonctionnalités. Cette contrainte a considérablement freiné l'adoption de puces ARM dans les serveurs. Ce problème n’existe pas sous x86, qui continue à dominer le marché des serveurs. « Personnellement, j’ai été plus déçu par l’architecture ARM en tant que plate-forme matérielle, que par le jeu d'instructions, même si, sans ce domaine là aussi, j’ai rencontré quelques problèmes », a déclaré Linus Torvalds. « La plate-forme matérielle ARM n’est toujours pas très agréable à utiliser ».
Quand il était enfant, le créateur de Linux avait programmé en code machine sur un microprocesseur 8-bit 6502. Il aimait cette architecture, car les instructions étaient traitées en pipeline, ce qu'aucun autre matériel n’était capable de faire à l'époque. Cette architecture permettait d’obtenir de meilleures performances de la puce. « Je voulais réussir à me hisser au niveau des ordinateurs Acorn Archimede, d’où le nom ARM est issu », a déclaré Linus Torvalds. « Ça a été ma machine de référence pendant un certain temps ».
Acorn Computer à l'origine d'ARM
Archimède était un ordinateur personnel basé sur les premières puces ARM RISC fabriquées par Acorn Computer Group, dont ARM est une émanation. Linus Torvalds aimait les ordinateurs Archimède parce qu'ils permettaient de traiter les instructions en pipeline comme le microprocesseur 6502, et donc d’améliorer les performances de la puce. Malheureusement, il n'a jamais pu se procurer l’ordinateur d’Acorn. Il s’est rabattu sur un « ordinateur anglais bizarre », le Sinclair QL, dont l’échec a été encore plus cuisant que l’Acorn Archimede. « À l’époque, la Finlande n'était pas le centre de l'univers », a justifié le développeur. « Ça m’a servi de leçon. Après cette expérience, je n’ai plus jamais acheté de matériel qui n’était pas accompagné d’une bonne infrastructure ».