Petr Hosek, die leidinggeeft aan het team bij Google dat verantwoordelijk is voor bouwsystemen, compilers en ontwikkeltools, onthulde het eerste apparaat dat op het Fuchsia-besturingssysteem draait. Fuchsia-firmware wordt uitgerold naar de slimme fotolijsten van Nest Hub als onderdeel van een experimentele update voor leden van het Google Preview-programma.
Als er tijdens de testimplementatie geen onverwachte problemen optreden, wordt de op Fuchsia gebaseerde firmware uitgerold naar de apparaten van andere Nest Hub-gebruikers. Zij zullen geen verschil merken, aangezien de interface, gebouwd op het Flutter-framework, hetzelfde blijft; alleen de onderliggende componenten van het besturingssysteem veranderen. Eerder gebruikten Google Nest Hub-apparaten die sinds 2018 zijn uitgebracht en die de functies van een fotolijst, multimediasysteem en smart home-interface combineren, firmware gebaseerd op de Cast-shell en -kernel. Linux.
Ter herinnering: Google werkt sinds 2016 aan het Fuchsia-project, een universeel besturingssysteem dat op alle soorten apparaten kan draaien, van werkstations en smartphones tot embedded systemen en consumentenapparaten. De ontwikkeling vindt plaats op basis van de opgedane ervaring met het platform. Android en houdt rekening met de tekortkomingen op het gebied van schaalbaarheid en beveiliging.
Het systeem is gebaseerd op de Zircon-microkernel, die voortbouwt op de ontwikkelingen van het LK-project en is uitgebreid voor gebruik op verschillende soorten apparaten, waaronder smartphones en pc's. Zircon breidt LK uit met proces- en gedeelde bibliotheekondersteuning, een gebruikersniveau, een objectafhandelingssysteem en een op capaciteiten gebaseerd beveiligingsmodel. Stuurprogramma's worden geïmplementeerd als dynamische bibliotheken in de gebruikersruimte, geladen door het devhost-proces en beheerd door Apparaatbeheer (devmg, Apparaatbeheer).
Fuchsia heeft een eigen grafische interface geschreven in Dart met behulp van het Flutter-framework. Het project ontwikkelt ook het Peridot-gebruikersinterfaceframework, de Fargo-pakketbeheerder, de libc-standaardbibliotheek, het Escher-weergavesysteem, de Magma Vulkan-driver, de Scenic-composietmanager, de MinFS-, MemFS-, ThinFS- (FAT in Go-taal) en Blobfs-bestanden. systemen, evenals de manager FVM-partities. Voor applicatieontwikkeling wordt ondersteuning geboden voor de talen C/C++ en Dart; Rust is ook toegestaan in systeemcomponenten, in de Go-netwerkstack en in het Python-taalassemblagesysteem.

Het opstartproces maakt gebruik van een systeembeheerder, inclusief appmgr om de initiële softwareomgeving te creëren, sysmgr om de opstartomgeving te creëren, en basemgr om de gebruikersomgeving te configureren en het inloggen te organiseren. Om de veiligheid te garanderen wordt een geavanceerd sandbox-isolatiesysteem voorgesteld, waarbij nieuwe processen geen toegang hebben tot kernelobjecten, geen geheugen kunnen toewijzen en geen code kunnen uitvoeren, en een naamruimtesysteem wordt gebruikt om toegang te krijgen tot bronnen, dat de beschikbare machtigingen bepaalt. Het platform biedt een raamwerk voor het maken van componenten. Dit zijn programma's die in hun eigen sandbox draaien en via IPC met andere componenten kunnen communiceren.
Bron: opennet.ru
