Petr Hosek, der bei Google das Team leitet, das fĂŒr Build-Systeme, Compiler und Entwicklerwerkzeuge verantwortlich ist, hat das erste GerĂ€t vorgestellt, das mit dem Betriebssystem Fuchsia ausgestattet wird. Die Fuchsia-basierte Firmware wird im Rahmen eines experimentellen Updates an die smarten Bilderrahmen des Nest Hub im Rahmen des Google Preview Program geliefert.
Wenn wĂ€hrend der Testimplementierung keine unvorhergesehenen Probleme auftreten, wird die Fuchsia-basierte Firmware auch auf die Nest Hub-GerĂ€te anderer Nutzer angewendet, die keine Unterschiede wahrnehmen werden, da die auf dem Flutter-Framework basierende BenutzeroberflĂ€che unverĂ€ndert bleibt; lediglich die niedrigen Systemelemente des Betriebssystems werden sich Ă€ndern. Bei den seit 2018 veröffentlichten Google Nest Hub-GerĂ€ten, die die Funktionen eines Bilderrahmens, eines Multimedia-Systems und einer Steuerzentrale fĂŒr Smart Homes kombinieren, kam zuvor eine Firmware basierend auf der Cast-OberflĂ€che und dem Linux-Kernel zum Einsatz.
Wir erinnern daran, dass Google seit 2016 im Rahmen des Fuchsia-Projekts ein universelles Betriebssystem entwickelt, das auf allen GerĂ€tetypen lĂ€uft, von Arbeitsstationen und Smartphones bis hin zu eingebetteten und Consumer-GerĂ€ten. Die Entwicklung basiert auf den Erfahrungen aus der Erstellung der Android-Plattform und berĂŒcksichtigt SchwĂ€chen im Bereich Skalierbarkeit und Sicherheit.
Das System basiert auf dem Mikrokern Zircon, der auf den Arbeiten des LK-Projekts basiert und fĂŒr den Einsatz in verschiedenen GerĂ€tekategorien, einschlieĂlich Smartphones und Personal Computern, erweitert wurde. Zircon erweitert LK um die UnterstĂŒtzung fĂŒr Prozesse und gemeinsame Bibliotheken, eine Benutzerebene, ein Objektverarbeitungssystem und ein Sicherheitsmodell, das auf Capabilities basiert. Treiber werden als dynamische Bibliotheken implementiert, die im Benutzermodus betrieben werden, vom Prozess devhost geladen und vom Device Manager (devmg, Device Manager) verwaltet.
FĂŒr Fuchsia wurde eine eigene grafische BenutzeroberflĂ€che entwickelt, die in der Programmiersprache Dart unter Verwendung des Frameworks Flutter geschrieben ist. Das Projekt entwickelt auch das Framework zur Erstellung von BenutzeroberflĂ€chen Peridot, den Paketmanager Fargo, die Standardbibliothek libc, das Rendering-System Escher, den Vulkan-Treiber Magma, den Compositor Scenic, die Dateisysteme MinFS, MemFS, ThinFS (FAT in Go) und Blobfs sowie den Partitionsmanager FVM. FĂŒr die Anwendungsentwicklung wird UnterstĂŒtzung fĂŒr die Sprachen C/C++, Dart bereitgestellt, in den Systemkomponenten ist auch die Verwendung von Rust zulĂ€ssig, im Netzwerk-Stack wird Go verwendet, und im Build-System wird die Programmiersprache Python eingesetzt.

WĂ€hrend des Bootvorgangs wird ein Systemmanager verwendet, der appmgr zur Erstellung der anfĂ€nglichen Programmumgebung, sysmgr zur Bildung der Bootumgebung und basemgr zur Konfiguration der Benutzerumgebung und zur Organisation des Systemzugriffs umfasst. Zur GewĂ€hrleistung der Sicherheit wird ein fortschrittliches System zur Sandbox-Isolierung angeboten, bei dem neue Prozesse keinen Zugriff auf Kernelobjekte haben, keine Speicherzuweisungen durchfĂŒhren können und keinen Code ausfĂŒhren können. Der Zugriff auf Ressourcen erfolgt ĂŒber ein Namensraum-System, das die verfĂŒgbaren Berechtigungen definiert. Die Plattform bietet ein Framework zur Erstellung von Komponenten, die Programme darstellen, die in ihrer eigenen Sandbox ausgefĂŒhrt werden und ĂŒber IPC mit anderen Komponenten interagieren können.
Quelle: opennet.ru
