Fuchsia est un système d'exploitation développé par Google. Contrairement aux précédents systèmes d'exploitation développés par la firme tels que Google Chrome OS et Android, qui sont basés sur le noyau Linux, Fuchsia est basé sur un nouveau micronoyau appelé Zircon, dérivé de Little Kernel (LK), qui a été conçu pour les systèmes embarqués et qui est principalement écrit en C. Selon la présentation qui en fait, Fuchsia est conçu pour fonctionner sur une multitude d'appareils, y compris les téléphones mobiles et les ordinateurs personnels. Presque trois ans après la présentation du projet au grand public, Google n’a toujours pas émis de description parfaite sur ce qu’est réellement censé faire son nouvel OS.
Que sait-on aujourd’hui de Fuchsia OS ?
Tout d’abord, partons de comment Google représente son nouvel OS. Le symbole du système d'exploitation sur le dépôt GitHub était un carré de couleur fuchsia, maintenant ce sont deux cercles qui se rencontrent pour former comme un 8 incliné. La description de Google sur ce logo est « Pink + Purple == Fuchsia (a new Operating System) ». Le code source du projet a été publié pour la première fois sur GitHub avant d’être par la suite sur le gestionnaire de source de Google (googlesource.com). Des explications sur le projet n’existent pas réellement. Google en a peu parlé publiquement, mis à part la publication du code source, ce qui, après analyse, en dit long sur le plan technique, mais peu sur l'objectif de l'entreprise.
La description du logo peut paraître à première vue banale, mais certains estiment qu’elle cache un message. « Pink » pourrait bien faire référence au projet Pink d’Apple, un système d’exploitation orienté objet mis au point dans les années 80 pour devenir Taligent, un projet conjoint avec IBM destiné à être un futur Mac OS. En effet, Taligent est le nom d'un système d'exploitation orienté objet et en même temps celui de la société qui a été dédiée à sa production. Dans un premier temps, Taligent a commencé comme un projet au sein d'Apple pour fournir un remplacement pour le Mac OS, avant d'être ensuite élargi à un travail commun avec IBM dans le cadre d'une alliance.
Le but était de construire une plateforme concurrente à Microsoft Caire et NeXTSTEP, mais le projet n’a pas abouti et a très vite été enterré dans les archives. Taligent a été officiellement dissous en janvier 1998. Ensuite, le mot « Purple » de la description pourrait aussi faire allusion à un autre ancien projet d’Apple. « Project Purple » était le nom de code d'Apple pour le projet devenu iPhone. Fuchsia OS va-t-il remplacer Android à l’avenir ? Google a signifié que non. Pour l'entreprise, il s’agit simplement de tester de nouveaux concepts dans l’espoir de trouver un système d’exploitation pouvant piloter les milliards d’appareils qui seront connectés dans le monde dans les prochaines années. Pour Google, l’IdO (l’Internet des Objets) dispose aujourd’hui de périphériques qui ont surtout besoin d’un système d’exploitation.
S’agit-il d’un système d’exploitation pour tous types d’appareils ?
Alors, la probabilité semble élevée à ce niveau et lorsqu’on se réfère à la récente déclaration de Google à l’événement Google IO de mai, on peut dire que cette hypothèse tient la route. Hiroshi Lockheimer de l'équipe des plateformes et des écosystèmes chez Google a déclaré ce qui suit : « Fuchsia est un projet open source de Google. Nous investissons dans la modernisation et l’essai de nouveaux concepts relatifs aux systèmes d’exploitation. Il ne s’agit ni de remplacer Android ni de remplacer Chrome OS ». Fuchsia est-il un système d’exploitation universel qui sera chargé de piloter tous les périphériques fonctionnant sous Android et Chrome OS ? La réponse de Hiroshi Lockheimer laisse paraître cela.
« Dans le monde de l’IdO, de plus en plus d’appareils nécessitent des systèmes d’exploitation et de nouvelles exécutions. On dispose donc de beaucoup de place pour plusieurs systèmes d'exploitation avec différentes forces et spécialisations. Le fuchsia est l'une de ces choses, alors restez à l'écoute, il n'y a vraiment pas beaucoup d'intrigues ». Fuchsia est supposé être un Android de nouvelle génération, conçu pour les types de périphériques utilisant actuellement Android ou Chrome OS, tout en préservant la compatibilité avec les applications existantes via la virtualisation ou d'autres techniques. Le code publié peut être créé et déployé à des fins de test sur un Pixelbook de Google, un Acer Switch Alpha 12 ou un ordinateur Intel NUC complet, plutôt que sur des périphériques IdO classiques.
Google a lancé Fuchsia.dev pour aider les développeurs à déployer le code de son OS
Pour vous aider à déployer le code convenablement, Google a lancé il y a quelques jours Fuchsia.dev, le site Web qui recense les informations sur l’évolution du nouveau système d'exploitation. Le site ne présente pas non plus les priorités exactes de Google, mais vous pouvez commencer à en apprendre plus sur le système d’exploitation, tester les sources, etc., tout ceci aidé par une bonne documentation comme la documentation du système d’exploitation Android. On sait néanmoins que le nouveau système d’exploitation ne ressemble à rien qui existe déjà. Google a été clair sur le sujet déjà à partir du noyau du système. Contrairement à Android, Fuchsia n’est pas basé sur le noyau de Linux, mais sur un nouveau micronoyau appelé Zircon, dérivé de Little Kernel (LK). Ainsi, Google a insisté sur le fait que « Fuchsia n’est pas Linux ». Tirés de la documentation, voici quelques points sur lesquels Google a été un peu plus clair :
Fuchsia n’est pas Linux
Fuchsia est un système d'exploitation basé sur un micronoyau et ce micronoyau s'appelle Zircon. Les architectures prises en charge sont arm64 et x64, mais ne sont pas actuellement des processeurs AMD, même si cela signifie simplement que celles-ci ne sont pas activement testées. Selon la documentation fournie, le nouveau système d'exploitation n'est que faiblement couplé à des systèmes de fichiers. Les systèmes de fichiers de Fuchsia résident entièrement dans l'espace utilisateur. Ils ne sont pas liés ni chargés avec le noyau. Ce sont simplement des processus en espace utilisateur qui implémentent des serveurs pouvant apparaître en tant que systèmes de fichiers. En conséquence, les systèmes de fichiers de Fuchsia eux-mêmes peuvent être changés facilement.
Les modifications ne nécessitent pas de recompiler le noyau. En fait, la mise à jour vers un nouveau système de fichiers Fuchsia peut être effectuée sans redémarrer. Une autre implication de cette approche des systèmes de fichiers basée sur les services est que toutes les ressources accessibles via un canal peuvent apparaître comme des systèmes de fichiers en implémentant les protocoles attendus. Fuchsia sera livré avec le support de plusieurs systèmes de fichiers, y compris MemFS (en mémoire), MinFS (traditionnel), Blobfs (optimisé pour une seule écriture, puis en lecture seule) et ThinFS, qui implémente FAT (système de fichiers hérité) dans le langage Go.
Fuchsia et les applications qu'il prend en charge
Fuchsia est conçu pour prendre en charge plusieurs langages de programmation. Il supporte déjà C/C++, Dart, Go, Rust et Python. En outre, il existe FIDL (langage de définition d'interface fuchsia). C’est un langage de définition de protocoles généralement utilisés sur des canaux. FIDL est indépendant du langage de programmation et comporte des liaisons pour de nombreux langages courants, notamment C, C++, Dart, Go et Rust. Cette approche permet aux composants système écrits dans diverses langues d’interagir de manière transparente, selon la documentation. Les canaux sont des transports de messagerie fournis par Zircon. Les définitions FIDL dans le SDK Fuchsia doivent être considérées comme des ABI publiques (interface binaire d'application) pour le système.
Le SDK Fuchsia est de bas niveau et le code indique que la plupart des développeurs ne l’utiliseront pas directement. Selon Google, ils en consommeront une version transformée, par exemple au sein de l'environnement de développement et de l'écosystème prenant en charge l'exécution d'un langage donné. Les responsables des environnements de développement qui souhaitent ajouter une prise en charge de Fuchsia constituent l'audience principale de ce SDK. Les API Fuchsia seront vérifiées par un conseil API. Google a déjà mis en place le conseil et vous pouvez voir ses objectifs et sa composition sur le site.
Il y a aussi le concept de « runner ». Un runner est un composant qui fournit un environnement d'exécution pour d'autres composants, par exemple le runner ELF, le runner Dart AOT, le runner Web Chromium, etc. Chaque composant a besoin d'un runner pour se lancer. Cela implique que Fuchsia supportera les applications Linux ainsi que, bien sûr, les PWA (Progressive Web Applications). Il y a aussi un runtime Android dans la source.
Fuchsia & Flutter et le graphique
Fuchsia présente une architecture de pilote GPU appelée Magma. Les pilotes ne s'exécutent pas dans le noyau, mais dans des processus privilégiés de l'espace utilisateur. Magma est conçu pour Vulkan, l’API graphique accélérée gérée par le groupe Khronos, bien qu’il soit également conçu pour prendre en charge OpenGL via une couche de traduction. La boîte à outils d'interface utilisateur de Fuchsia est Flutter, la bibliothèque multiplateforme de Google, qui est déjà très utilisée pour la création d'applications mobiles sur Android et iOS, et a récemment été adaptée au bureau et au Web.
Le langage de Flutter est Dart, qui peut être compilé en JavaScript ou en code machine natif. Google a consacré énormément d'énergie au développement de Flutter et ce qui semblait à première vue être une stratégie pour le mobile multiplateforme semble maintenant aller au-delà. Les applications construites avec Flutter seront optimisées pour Fuchsia. En investissant dans Flutter, Google crée donc un écosystème pour Fuchsia. Un signe que Google est allé relativement loin avec Fuchsia serait qu'il existe des détails sur les fonctionnalités de l'utilisateur, y compris un objet appelé Story. C’est un conteneur logique face à l'utilisateur encapsulant l'activité humaine, accompagné par un ou plusieurs autres modules. Les Story vont permettre à l’utilisateur d'organiser des activités de manière naturelle.
Les « Story » sont présentées dans un visuel appelé Story Shell. Si Google a mis en place une plateforme pour les développeurs, Fuchsia.dev, cela pourrait traduire le fait que Google a évolué dans le développement de Fuchsia OS. Après avoir rendu le site disponible au public, Google n’a pas émis d’autres communications, mais cela pourrait bientôt suivre. Pour l’instant, la firme reste sur sa position, celle indiquant que Fuchsia ne remplacera pas Android OS ni Chrome OS et que ces deux derniers ont un avenir prometteur. Fuchsia semble également prometteur en tant que système d'exploitation modulaire et sécurisé, offrant une bonne compatibilité avec les applications pour les plateformes Android, Linux et Web.
Cependant, les utilisateurs sont-ils vraiment prêts à accueillir un nouveau système d’exploitation ? Une question à laquelle il faudra répondre avec soin au moment de lancer Fuchsia. Taligent est un exemple parmi tant d’autres. Des initiatives comme celle-ci ont échoué et ensuite ont été jetées à la poubelle. Néanmoins, si le lancement est réussi, vous pouvez vous attendre au fait que, comme Android et Chrome OS, Fuchsia aura pour objectif d’attacher les utilisateurs à l’écosystème de Google.
Source : Fuchsia
Et vous ?
Quel est votre avis sur le sujet ?
Quel avenir voyez-vous aujourd’hui pour Fuchsia OS ?
Voir aussi
Projet Fuchsia : Google serait en train de développer un nouvel OS destiné à faire tourner des appareils allant des objets connectés aux ordinateurs
Fuchsia : le mystérieux OS de Google fera tourner des applications développées en Swift, un langage supplémentaire après Go, Rust et Python
Le système d'exploitation Fuchsia devrait remplacer Android et Chrome OS d'ici 5 ans. Des vétérans de Google seraient associés à son développement
Fuchsia OS : C++ est-il plus avantageux que C pour le développement d'un microkernel ? Le choix de Google divise
Fuchsia OS de Google est désormais compatible avec le laptop Pixelbook, ce qui semble indiquer que le développement de l'OS avance
À propos de son nouvel OS Fuchsia, Google déclare qu'il essaie « simplement de nouveaux concepts »
Sans chercher à remplacer Android et Chrome OS
À propos de son nouvel OS Fuchsia, Google déclare qu'il essaie « simplement de nouveaux concepts »
Sans chercher à remplacer Android et Chrome OS
Le , par Bill Fassinou
Une erreur dans cette actualité ? Signalez-nous-la !