La société Google a publié une version complète du navigateur web Chromium pour le système d'exploitation Fuchsia, qui remplace dans la liste des applications le navigateur simplifié Simple Browser, conçu pour exécuter des applications web isolées, et non pour travailler avec des sites web. Indirectement, la fourniture d'un support pour un navigateur web standard confirme l'intention de Google de développer Fuchsia non seulement pour l'IoT et les appareils grand public, comme le Nest Hub, mais également pour les plateformes de bureau. Pour se familiariser avec l'état actuel du développement de Fuchsia, on peut utiliser un émulateur ainsi que des versions de test du projet dahliaOS.
L'interface de la version Chromium pour Fuchsia est globalement similaire aux versions pour d'autres systèmes de bureau, à l'exception de quelques défauts et bogues, tels que des problèmes d'affichage des menus contextuels et l'ouverture de plusieurs fenêtres. Cependant, ces derniers temps, des efforts importants ont été déployés pour résoudre ces problèmes, par exemple, il y a quelques jours, le support d'un visualiseur PDF intégré et la possibilité d'impression ont été ajoutés.

Rappelons que le système d'exploitation Fuchsia est développé par Google depuis 2016 en tenant compte des lacunes en matière d'évolutivité et de sécurité présentes dans la plateforme Android. Le système est basé sur le micro-noyau Zircon, dérivé des travaux du projet LK, étendu pour être utilisé sur différents types d'appareils, y compris des smartphones et des ordinateurs personnels. Zircon étend LK avec le support des processus et des bibliothèques partagées, d'un niveau utilisateur, d'un système de traitement d'objets et d'un modèle de sécurité basé sur des capacités. Les pilotes sont conçus comme des bibliothèques dynamiques fonctionnant dans l'espace utilisateur, chargées par le processus devhost et gérées par le gestionnaire de périphériques (devmg, Device Manager).
Une interface graphique dédiée a été développée pour Fuchsia, écrite en Dart en utilisant le framework Flutter. Le projet comprend également un framework pour la création d'interfaces utilisateur, Peridot, un gestionnaire de paquets, Fargo, une bibliothèque standard libc, un système de rendu, Escher, un pilote Vulkan, Magma, un gestionnaire de composites, Scenic, et des systèmes de fichiers MinFS, MemFS, ThinFS (FAT en Go) et Blobfs, ainsi qu'un gestionnaire de partitions, FVM. Pour le développement d'applications, les langages C/C++, Dart, et également Rust pour les composants système, Go pour la pile réseau, ainsi que Python pour le système de construction sont pris en charge.

Un gestionnaire système est utilisé au cours du démarrage, incluant appmgr pour créer l'environnement logiciel initial, sysmgr pour former l'environnement de démarrage et basemgr pour configurer l'environnement utilisateur et organiser la connexion au système. Pour assurer la sécurité, un système avancé d'isolation sandbox est proposé, dans lequel les nouveaux processus n'ont pas accès aux objets du noyau, ne peuvent pas allouer de mémoire et ne peuvent pas exécuter de code, et un système d'espaces de noms est utilisé pour définir les permissions d'accès. La plateforme fournit un cadre pour créer des composants sous forme de programmes, exécutés dans leur propre sandbox, qui peuvent interagir avec d'autres composants via IPC.
Source : opennet.ru
