La société Google , témoignant de la transition du système d'exploitation vers la phase finale de test interne «», qui implique l'utilisation du produit dans les activités quotidiennes des employés, avant qu'il ne soit mis à la disposition du grand public. À ce stade, le produit est dans un état ayant déjà passé les tests principaux par des équipes d'évaluation de qualité. Avant de distribuer le produit à un large public, une vérification finale est effectuée sur des employés qui ne sont pas impliqués dans le développement.
Dans le client du système de gestion de la livraison des mises à jour , où les versions de Chrome et Chrome OS sont testées, le composant fuchsia.cobalt.SystemDataUpdater et une instruction est proposée pour transférer les dispositifs vers la nouvelle branche « dogfood-release » à l'aide de l'outil (analogue d'adb pour Fuchsia). Dans le système d'intégration continue de la construction du chargeur pour la branche dogfood, et dans la plateforme Fuchsia des métriques séparées pour évaluer les résultats des tests.
Dans les commentaires concernant les changements dans Fuchsia deux liens pour la livraison des mises à jour fuchsia-updates.googleusercontent.com et arm64.dogfood-release.astro.fuchsia.com, dans le second lien Astro est le nom de code de l'écran intelligent , qui, semble-t-il, est utilisé par les employés de Google comme prototype pour tester
Fuchsia au lieu du firmware стандартный Cast Platform. L'interface Nest Hub est construite sur l'application Dragonglass, utilisant le framework Flutter, qui est également pris en charge dans Fuchsia.
Rappelons que dans le cadre du projet Fuchsia, Google développe un système d'exploitation universel capable de fonctionner sur tous les types d'appareils, allant des stations de travail et smartphones à l'électronique embarquée et grand public. Le développement prend en compte l'expérience de la création de la plateforme Android et s'efforce de résoudre les problèmes liés à l'évolutivité et à la sécurité.
Le système est basé sur un micro-noyau , basé sur les travaux du projet , étendu pour fonctionner sur différentes classes d'appareils, y compris les smartphones et les ordinateurs personnels. Zircon étend LK avec le soutien des processus et , le niveau utilisateur, un système de traitement des objets et un modèle de sécurité basé sur les capacités. Les pilotes sous la forme de 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).
Pour Fuchsia propre , écrite dans le langage Dart en utilisant le framework Flutter. Le projet développe également un framework pour la construction d'interfaces utilisateur Peridot, un gestionnaire de paquets Fargo, une bibliothèque standard , système de rendu , pilote Vulkan , gestionnaire de composition , systèmes de fichiers MinFS, MemFS, ThinFS (FAT en langage Go) et Blobfs, ainsi qu'un gestionnaire de partitions FVM. Pour le développement d'applications des langages C/C++, Dart, dans les composants système, l'utilisation de Rust est également autorisée, pour le stack réseau Go, et dans le système de construction le langage Python.
Lors du chargement le gestionnaire système, qui comprend
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 la compatibilité avec Linux, Fuchsia la bibliothèque Machina, qui permet d'exécuter des programmes Linux dans une machine virtuelle isolée, créée à l'aide d'un hyperviseur basé sur le noyau Zircon et les spécifications Virtio, similaire à ce que lancer des applications Linux dans Chrome OS.
Pour garantir la sécurité, un système avancé , où 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, tandis que l'accès aux ressources utilise un système , déterminant les permissions disponibles. La plateforme un framework pour créer des composants, qui sont des programmes exécutés dans leur propre sandbox, capables d'interagir avec d'autres composants via IPC.
Source : opennet.ru
