IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Google étend le modèle open source de Fuchsia, son système d'exploitation basé sur le microkernel Zircon,
Pour faciliter l'engagement du public dans le projet

Le , par Stéphane le calme

142PARTAGES

12  0 
Fuchsia est un système d'exploitation développé par Google. Contrairement aux précédents systèmes d'exploitation développés par l'entreprise qui sont basés sur le noyau Linux comme Google Chrome OS et Android, 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, Fuchsia est conçu pour fonctionner sur une multitude d'appareils, y compris les téléphones mobiles et les ordinateurs personnels.

Google a décidé d’étendre le modèle open source de Fuchsia pour faciliter l'engagement du public dans le projet. Wayne Piekarski, Developer Advocate for Fuchsia, a expliqué :

« Fuchsia est un projet à long terme visant à créer un système d’exploitation open source à usage général, et nous développons aujourd’hui le modèle open source de Fuchsia pour accueillir les contributions du public.

« Fuchsia est conçu pour donner la priorité à la sécurité, à la mise à jour et aux performances, et est actuellement en cours de développement actif par l'équipe Fuchsia. Nous développons Fuchsia en open source, dans notre référentiel git depuis quatre ans. Vous pouvez parcourir l'historique du référentiel sur https://fuchsia.googlesource.com pour voir comment Fuchsia a évolué au fil du temps. Nous posons cette base depuis le noyau pour faciliter la création de produits et d'expériences durables et sécurisés.

« À partir d'aujourd'hui, nous étendons le modèle open source de Fuchsia pour faciliter l'engagement du public dans le projet. Nous avons créé de nouvelles listes de diffusion publiques pour les discussions sur les projets, ajouté un modèle de gouvernance pour clarifier la manière dont les décisions stratégiques sont prises et ouvert le système de suivi des problèmes pour que les contributeurs publics puissent voir ce sur quoi on travaille. Dans le contexte de l’open source, nous accueillons les contributions de haute qualité et bien testées de tous. Il existe maintenant un processus pour devenir membre pour soumettre des correctifs, ou un committer avec un accès en écriture complet.

« En outre, nous publions également une feuille de route technique pour Fuchsia afin de fournir de meilleures informations sur l'orientation et les priorités du projet. Certains des points forts de la feuille de route sont le travail sur un framework de pilote pour mettre à jour le noyau indépendamment des pilotes, l'amélioration des systèmes de fichiers pour les performances et l'expansion du pipeline d'entrée pour l'accessibilité.

« Fuchsia est un projet open source inclusif de par sa conception, de l'architecture de la plateforme elle-même à la communauté open source que nous construisons. Le projet évolue encore rapidement, mais les principes et valeurs sous-jacents du système sont restés relativement constants tout au long du projet. Plus d'informations sur les principes architecturaux fondamentaux sont disponibles dans la documentation: sécurisé, actualisable, inclusif et pragmatique.

« Fuchsia n'est pas prêt pour le développement de produit général ou comme cible de développement, mais vous pouvez le cloner, le compiler et y contribuer. Il prend en charge un ensemble limité de matériel x64 et vous pouvez également le tester avec l'émulateur de Fuchsia. Vous pouvez télécharger et créer le code source en suivant le guide de démarrage ».


Emulateur Fushcia

Que savons nous de Fuchsia pour le moment ?

S’agit-il d’un système d’exploitation pour tous types d’appareils ?

La probabilité semble élevée à ce niveau et lorsqu’on se réfère à la récente déclaration de Google durant sa conférence I/O de mai 2019, nous pouvons 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. 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é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. 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.

Source : Google Open Source, Fuchsia dev

Et vous ?

Quel est votre avis sur le sujet ?
Quel avenir voyez-vous aujourd’hui pour Fuchsia OS ?

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de ji_louis
Membre régulier https://www.developpez.com
Le 09/12/2020 à 14:10
Google fait un nouveau système généraliste à partir de zéro pour en finir avec les contraintes de droits issues des droits d'auteur et des copyrights d'Oracle (java, donc Androïd) et Linux (et ses multiples déclinaisons).
C'est aussi une manière d'unifier les interfaces pour l'internet des objets pour que tout le monde puisse communiquer de la même manière (c'est bon pour tout le monde), et à leur main (c'est bon pour Google) puisqu'ils dirigent le processus et ses résultats.
0  0