Google hat die vollständige Version des Web-Browsers Chromium für das Betriebssystem Fuchsia veröffentlicht, die die zuvor angebotene abgespeckte Version des Simple Browsers, die auf isolierte Web-Anwendungen abzielte, ersetzt. Indirekt bekräftigt die Bereitstellung der Unterstützung für einen herkömmlichen Web-Browser Googles Absicht, Fuchsia nicht nur für IoT- und Verbraucheranwendungen wie den Nest Hub, sondern auch für Desktop-Plattformen weiterzuentwickeln. Um den aktuellen Entwicklungsstand von Fuchsia zu erfahren, kann man den Emulator sowie Test-Builds des Projekts dahliaOS nutzen.
Die Benutzeroberfläche der Chromium-Builds für Fuchsia ähnelt insgesamt stark den Builds für andere Desktop-Systeme, mit Ausnahme einzelner Ungereimtheiten und Fehler, wie Probleme mit der Anzeige von Kontextmenüs und dem Öffnen mehrerer Fenster. In letzter Zeit wird jedoch aktiv daran gearbeitet, solche Probleme zu beheben, wie die kürzlich implementierte Unterstützung für einen integrierten PDF-Viewer und die Möglichkeit, Druckaufträge auszuführen.

Wir erinnern daran, dass das Betriebssystem Fuchsia seit 2016 von Google entwickelt wird, um Schwächen in den Bereichen Skalierbarkeit und Sicherheit in der Android-Plattform zu beheben. Das System basiert auf dem Mikro-Kernel Zircon, der auf den Erkenntnissen des LK-Projekts (Little Kernel) aufbaut und für verschiedene Gerätekategorien optimiert ist, darunter Smartphones und PCs. Zircon erweitert LK durch die Unterstützung von Prozessen und gemeinsam genutzten Bibliotheken, einer Benutzeroberfläche, einem Objekthandbuch und einem Sicherheitsmodell, das auf dem Capability-Modell basiert. Treiber werden als dynamische Bibliotheken implementiert, die im Benutzerspeicherraum ausgeführt werden und vom devhost-Prozess geladen sowie vom Gerätemanager (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
