Google hat mit der Verteilung einer neuen Firmware auf Basis des Fuchsia-Betriebssystems für die seit 2019 produzierten Nest Hub Max Smart-Displays begonnen. In der ersten Phase wird die Fuchsia-basierte Firmware an Teilnehmer des Google Preview Program ausgeliefert. Sollte es während dieser Testphase zu keinen unerwarteten Problemen kommen, wird die Firmware auch auf den Geräten anderer Nutzer des Nest Hub Max angewendet.
Der Nest Hub Max ist das zweite Verbrauchergerät, das mit dem Betriebssystem Fuchsia ausgestattet ist. Das erste Gerät, das vor einem Jahr mit einer Fuchsia-basierten Firmware ausgestattet wurde, war der Nest Hub, der einen kleineren Bildschirm hat und keine integrierte Videokamera besitzt, die für Überwachungs- und Sicherheitszwecke genutzt wird. Trotz des Wechsels des Betriebssystems in der Firmware bleiben die Benutzeroberfläche und die Funktionalität vollständig erhalten, und Endbenutzer sollten keine Unterschiede bemerken, da die Benutzeroberfläche auf dem Flutter-Framework basiert und von den unteren Komponenten abstrahiert ist. Zuvor verwendeten Nest Hub Max-Geräte, die Funktionen eines Bilderrahmens, eines Multimedia-Systems und einer Steuerungsschnittstelle für smarte Zuhause kombinieren, eine Firmware auf Basis von Cast und dem Linux-Kernel.
Das Fuchsia-Betriebssystem wird seit 2016 von Google entwickelt, um Schwächen im Bereich Skalierbarkeit und Sicherheit der Android-Plattform zu beheben. Es basiert auf dem Mikro-Kernel Zircon, der aus dem LK-Projekt hervorgegangen ist und für verschiedene Klassen von Geräten, einschließlich Smartphones und Personal Computern, erweitert wurde. Zircon fügt LK Unterstützung für Prozesse und geteilte Bibliotheken, eine Benutzerschnittstelle, ein Objektmanagementsystem und ein Sicherheitssystem auf Grundlage von Berechtigungen hinzu. Treiber werden als dynamische Bibliotheken implementiert, die im Benutzermodus arbeiten, vom devhost-Prozess geladen und vom Geräte-Manager (devmg, Device Manager) verwaltet werden.
Für Fuchsia wurde eine eigene grafische Benutzeroberfläche entwickelt, die in Dart mit dem Flutter-Framework geschrieben ist. Das Projekt umfasst 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 sowie die Dateisysteme MinFS, MemFS, ThinFS (FAT in Go) und Blobfs. Darüber hinaus gibt es einen Partitionierungsmanager FVM. Bei der Anwendungsentwicklung wird Unterstützung für die Sprachen C/C++ und Dart bereitgestellt, während in den Systemkomponenten auch Rust verwendet werden kann, im Netzwerk-Stack Go und im Build-System Python.

Beim Laden wird der Systemmanager verwendet, der den appmgr für die Erstellung der anfänglichen Programmumgebung, den sysmgr zur Bildung der Bootumgebung und den basemgr zur Einrichtung der Benutzerumgebung und zum Organisieren des Systemzugangs umfasst. Zur Gewährleistung der Sicherheit wird ein fortschrittliches Sandbox-Isolationssystem angeboten, welches neuen Prozessen keinen Zugang zu Kernelobjekten gewährt, das Zuweisen von Speicher verhindert und das Ausführen von Code unterbindet. Für den Zugriff auf Ressourcen wird ein Namensraum-System verwendet, 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
