Fuchsia OS : le système d’exploitation du future par Google ?
Google est en train de réaliser un nouveau système d’exploitation : avec Fuchsia OS, l’entreprise de services technologiques tourne le dos à l’architecture Linux et s’appuie désormais sur le micro noyau Zircon développé par ses soins. Fuchsia pourrait non seulement remplacer le système d’exploitation de bureau Chrome OS, mais aussi Android, qui est conçu pour les appareils mobiles. Et ce malgré le fait qu’Android soit aujourd’hui établi sur le marché comme leader quasi sans rival.
Google Fuchsia est-il le système d’exploitation du futur ? Voici quelques éléments de réponses.
Qu’est-ce que Google Fuchsia ?
Fuchsia n’est pas seulement une couleur entre le rouge et le bleu, c’est aussi désormais le nom d’un système d’exploitation temps réel modulaire, que Google développe publiquement depuis 2016. Le système est écrit en C, C++, Dart, Go et Rust et est censé fonctionner sur des processeurs modernes Intel ARM 64 bits.
Un système d’exploitation temps réel (RTOS pour real-time operating system) est un système d’exploitation capable de réagir aux événements et de fournir des résultats de traitement instantanément ou sur une période de temps prédéfinie.
Le code source de Fuchsia OS est sous licence open source (incluant les licences BSD, MIT et Apache) et peut être trouvé librement dans les dépôts Git de Google et peut ainsi être consulté et téléchargé par n’importe qui. Les personnes intéressées trouveront également une vaste documentation du projet.
Selon la documentation, Fuchsia OS convient aussi bien aux smartphones, tablettes, ordinateurs portables qu’aux ordinateurs de bureau. Depuis mai 2017, Armadillo est une interface utilisateur (UI) optimisée écran tactile avec une interface graphique. Google développe actuellement une interface utilisateur de bureau pour Fuchsia OS sous le titre provisoire de Capybara. Depuis lors, des rumeurs se sont répandues selon lesquelles Google travaille sur un remplacement d’Android, qui reste à ce jour toujours inégalé.
Comment fonctionne Fuchsia OS ?
Concernant le développement de Fuchsia OS, Google a l’air d’innover. L’entreprise semble apprendre des erreurs du passé, en particulier en ce qui concerne les limitations et les problèmes de mise à jour et de modification d’Android et Chrome OS. La différence centrale avec les systèmes d’exploitation établis de Google est le fait que Fuchsia OS soit modulaire à partir de la base. Cela se reflète non seulement dans son architecture de système modulaire, mais aussi dans une compréhension complètement nouvelle de ce que peut être une application.
Conception modulaire de l’application
Google Fuchsia est basé sur une conception modulaire qui rompt avec le concept de l’application classique. Les unités logicielles sont appelées Packages (paquets). Un paquet est une sélection de fichiers dont des métadonnées, des fichiers manifestes et des éléments exécutables. Ces derniers sont appelés Components (composants) dans la terminologie de Google.
Les composants Fuchsia se rapprochent le plus de ce que nous appelons aujourd’hui les applications. Chaque composant exécute une tâche spécifique et peut être combiné avec d’autres composants pour créer des applications complexes. Les éléments d’un composant comprennent un fichier manifeste et le code associé. Les composants fonctionnent toujours dans leur propre Sandbox, accèdent aux objets via des espaces de noms et les publient via un répertoire d’exportation. Avec Fuchsia OS, deux types de composants sont au premier plan : les Modules et les Agents.
Les composants dans le rôle d’un agent travaillent en arrière-plan et fournissent des services pour d’autres composants. Un agent est appelé soit par un autre composant, soit par le système, par exemple, en réponse à certains déclencheurs tels que les notifications push ou autres processus à l’écran.
Les modules sont des composants avec une interface utilisateur qui sont exécutés au premier plan, visibles par l’utilisateur. Chaque module du système d’exploitation a été conçu pour une tâche spécifique et est marqué en conséquence afin qu’il puisse être appelé automatiquement en cas de besoin. Ceci se fait à l’aide de la fonction du module, qui peut être décrite à l’aide de Verbs (Verbes) et de Nouns (Noms).
Chaque module comprend une liste de verbes qui indiquent ce que le module peut faire, ainsi qu’une liste de noms qui représentent les entités avec lesquelles on travaille. Selon la terminologie de Google, le terme Entity inclut toute personne, lieu, chose, événement ou concept identifiable de façon unique qui existe en tant qu’objet de données structuré qui peut être référencé et récupéré, présenté, manipulé ou partagé.
Dans la pratique, travailler avec le système d’exploitation temps réel Fuchsia est le suivant : dès qu’un utilisateur exécute une action, Fuchsia OS détermine automatiquement le module approprié pour la tâche. L’action désirée est alors traduite en une combinaison de verbe et de nom. Le système récupère ensuite une liste de tous les modules qui prennent en charge le verbe, puis, à l’étape suivante filtre pour le module en fonction du nom souhaité.
Les modules connexes peuvent être regroupés en Storys. Les Storys combinent différentes actions et tâches en fonction des exigences actuelles et devraient permettre aux utilisateurs d’assembler des applications complexes en fonction de leurs propres idées et exigences.
Avec le concept d’application modulaire de Fuchsia OS, Google déplace le curseur des applications vers les actions et le contenu. Au lieu du système d’exploitation classique d’une application utilisée actuellement, les tâches avec Fuchsia sont gérées par un groupe de composants dans des Storys, qui accèdent aux ressources actuellement nécessaires via des modules.
Le graphique suivant illustre le concept modulaire derrière le développement d’applications pour Fuchsia OS.
Architecture modulaire du système
L’architecture système de Fuchsia OS est également basée sur une approche modulaire. Le système d’exploitation comprend quatre niveaux plus ou moins indépendants, chacun avec ses propres tâches : Zircon, Garnet, Peridot et Topaz.
Zircon
Zircon (anciennement Magenta) est la base du nouveau système d’exploitation de Google, mais à proprement parler, il ne fait pas partie de Fuchsia OS et pourrait également être utilisé avec d’autres systèmes d’exploitation.
Zircon contient le noyau de Fuchsia, le gestionnaire de périphériques, la plupart des pilotes de périphériques centraux et de premier niveau et des bibliothèques système Low Level telles que libc et launchpad. De plus, Zircon fournit FIDL (Fuchsia Interface Definition Language), un protocole de communication interprocessus. FIDL est indépendant du langage de programmation, mais a des connexions avec des langages de programmation populaires tels que C, C++, Dart, Go et Rust.
En tant que base de Fuchsia OS, Zircon fournit un accès matériel pour les niveaux suivants, crée des abstractions logicielles sur des ressources matérielles partagées et sert de plateforme pour le développement logiciel (Low-Level). Zircon est issu du projet Little Kernel (LK) qui fait office de bootloader pour Android.
Garnet
Garnet est la première couche système spécifique Fuchsia construite à partir de Zircon. Elle fournit divers services système au niveau de l’appareil ainsi que des services réseau, multimédia et graphiques, par exemple pour l’installation de logiciels, l’administration du système et la communication avec d’autres systèmes. Garnet inclut le Renderer graphique Escher, le système de gestion et de mise à jour Amber ainsi que l’éditeur de texte et de code Xi.
Peridot
Peridot est le niveau du système d’exploitation de Fuchsia OS sur lequel les applications modulaires (voir ci-dessus) sont gérées et compilées selon les besoins actuels des utilisateurs. Les composants fondamentaux de Peridot sont Ledger et Maxwell.
- Ledger : Ledger est un système de stockage Cloud (Distributed Storage System), qui fournit à chaque composant Fuchsia (Module ou Agent) une mémoire de données séparée. Il est synchronisé entre différents appareils et ceci permet à l’utilisateur de continuer sur un appareil Fuschia exactement là où il s’est arrêté auparavant sur un autre appareil Fuchsia. Ledger est enregistré directement dans le compte Google de l’utilisateur.
- Maxwell : avec Maxwell, Google a intégré un composant dans Fuchsia OS qui soutient les utilisateurs en tant qu’intelligence artificielle. Comme d’habitude pour les composants Fuchsia, Maxwell est bien évidemment modulaire. Le système d’AI consiste en une série d’agents qui analysent les actions de l’utilisateur et le contenu que ce dernier utilise, déterminent les informations appropriées en arrière-plan et transmettent des suggestions au système d’exploitation. Par exemple, quels modules ou Storys doivent être chargés en fonction du comportement de l’utilisateur à un moment donné. L’assistant vocal de Google fait également partie du composant AI, qui est en cours de développement sous le nom de code Kronk dans le cadre du projet Fuchsia.
Kronk est jusqu’à présent le seul composant de Fuchsia OS qui n’a pas été développé en tant que projet open source.
Topaz
Topaz est le niveau système de Fuchsia OS où les utilisateurs interagissent avec le système d’exploitation. C’est là que s’affichent les interfaces utilisateur des composants définis dans les niveaux ci-dessous : l’interface utilisateur graphique avec écran d’accueil, Armadillo ou Capybara selon l’appareil, et les interfaces visuelles des modules. Le framework d’application mobile open source multiplateforme de Google Flutter est également intégré à ce niveau système. On peut donc supposer que les utilisateurs de Fuchsia OS pourront à l’avenir exécuter et utiliser des applications d’autres systèmes, par exemple des applications Android ou iOS.
Aperçu des avantages et des inconvénients de Fuchsia OS
Conformément à l’approche modulaire, les développeurs de Fuchsia OS ont divisé l’architecture du système en zones individuelles avec des tâches spécifiques. Cela améliore non seulement la lisibilité du code, mais a également un effet sur l’adaptabilité et la mise à jour du système d’exploitation. Google résout le problème de mise à jour avec lequel Android est aux prises depuis longtemps.
L’écosystème Android est aux prises avec un problème de mise à jour. Un coup d’œil sur le tableau de bord officiel des distributions (Distribution Dashboard) montre que les nouvelles versions du système d’exploitation se diffusent lentement. Un problème que la concurrence ne connaît pas. Alors que le matériel et les logiciels Apple proviennent de la même source et peuvent être adaptés sans délai, chaque mise à jour Android doit d’abord être implémentée par les différents fabricants de matériel.
De plus, l’architecture modulaire du système répond aux besoins des partenaires commerciaux de Google, qui souhaitent adapter ou étendre Fuchsia OS en fonction de leurs propres idées.
Les fabricants de matériel ont en effet la possibilité d’échanger des niveaux individuels du système d’exploitation avec leurs propres produits sans affecter la fonctionnalité des autres niveaux. Samsung, par exemple, pourrait remplacer Topaz par une interface utilisateur de type TouchWiz. Amazon pourrait se passer de Peridot et de l’assistant vocal de Google et équiper Fuchsia OS d’un module d’application basé sur AWS incluant Alexa.
Dans les deux cas, les fabricants d’appareils peuvent ainsi proposer des versions individualisées de Fuchsia OS sans affecter les fonctionnalités Zircon et Garnet ni les cycles de mise à jour officiels pour ces couches.
Avantages | Inconvénients |
---|---|
L’architecture modulaire du système d’exploitation Fuchsia OS permet à Google de déployer les mises à jour de sécurité beaucoup plus rapidement qu’avec Android. | Google fait de Ledger un composant central de Fuchsia OS. Ledger contrôle la synchronisation des applications sur différents périphériques et lie étroitement le système au Cloud. |
Grâce à la conception modulaire, les fabricants de matériel ont la possibilité de remplacer les différents niveaux de système de Fuchsia OS par leurs propres modules, sans affecter le fonctionnement des autres niveaux. |
L’état de développement de Fuchsia
Fuchsia OS prend lentement forme, mais le système est encore loin d’être prêt pour un lancement sur le marché. Google n’a pas encore annoncé de date de sortie officielle. Selon les médias, les premiers tests matériels ont déjà eu lieu. En tant que premier fabricant d’appareils qui peut tester Fuchsia OS, Huawei a initialisé avec succès le nouveau système d’exploitation sur Honor Play. Le smartphone contient la puce Huawei Kirin-970, qui est également utilisée dans d’autres appareils du fabricant, par exemple les Mate 10, Mate 20 et Mate 20 Pro.
Démo de Fuchsia OS
Déjà en phase de développement, Fuchsia OS peut être compilé en APK (Android Package) et installé sur les smartphones et tablettes Android. Vous pouvez découvrir à quoi cela ressemble via la démo de Fuchsia OS de l’étudiant portugais en informatique Manuel Goulão.
Si on appelle la démo de Fuchsia OS dans le navigateur, on accède alors à un site Web qui affiche l’écran de démarrage du système d’exploitation. L’utilisateur est accueilli avec une image de fond et l’heure actuelle. En outre, trois boutons sont disponibles : un bouton qui ouvre les paramètres WiFi, le bouton de connexion (Login Button) pour les utilisateurs enregistrés et une connexion invité (Guest Login).
Cependant, la démo ne vous permet de vous inscrire qu’en tant qu'invité.
Les utilisateurs enregistrés peuvent accéder à l’écran d'accueil (Home Screen) de Fuchsia OS, qui affiche toutes les informations sur une page.
L’élément le plus important sur l’écran d’accueil est une fenêtre au centre de l’écran qui contient la barre de recherche Google, l’assistant vocal de Google et les applications installées sur l’appareil.
Si vous lancez une application (qui rend la démo disponible que comme Dummy), vous verrez que Google a opté pour une interface utilisateur basée sur une fenêtre.
Un clic sur l'image de l'utilisateur au centre de l’écran d’accueil (Home-Screen) ouvre un menu avec les paramètres fréquemment utilisés.
Fuchsia OS a également été largement testé par les rédacteurs d’Ars Technica, qui ont fait fonctionner la pré-version sur un Pixelbook. La vidéo suivante montre le résultat du test :