Die für den Aufbau des Chrome-Browsers auf dem Betriebssystem Fuchsia erforderlichen Komponenten wurden aus dem Chromium-Projekt-Repository entfernt. Es wurde festgestellt, dass die Unterstützung von Fuchsia in Chrome ein Experiment war, das jetzt eingestellt wurde. Separat wurde angegeben, dass die Gründe für die Einstellung der Unterstützung in der Schließung des Entwicklungsprogramms für Fuchsia für Workstations liegen. Die Unterstützung der Browserkomponenten WebEngine und WebRunner für Fuchsia wird fortgesetzt, aber ein separater vollwertiger Chrome-Browser wird nicht bereitgestellt. Wahrscheinlich wird sich die weitere Entwicklung von Fuchsia nur auf Verbraucherelektronik konzentrieren, wie z. B. Heimautomatisierungssysteme, Smart-Fotorahmen und Lautsprecher.
Fuchsia basiert auf dem Mikro-Kernel Zircon, der aus den Arbeiten des LK-Projekts hervorgegangen ist und für verschiedene Gerätetypen, einschließlich Smartphones und PCs, erweitert wurde. Zircon erweitert LK um Unterstützung für Prozesse und gemeinsam genutzte Bibliotheken, ein Benutzermodus, ein Objekthandling-System und ein durch Fähigkeiten basiertes Sicherheitsmodell. Treiber werden als dynamische Bibliotheken implementiert, die im Benutzermodus laufen, durch den Prozess devhost geladen und vom Geräte-Manager (devmg, Device Manager) verwaltet werden.
Für Fuchsia wurde eine eigene grafische Benutzeroberfläche entwickelt, die in der Programmiersprache Dart mit dem Flutter-Framework geschrieben ist. Das Projekt beinhaltet auch die Entwicklung des Benutzeroberflächen-Frameworks Peridot, des Paketmanagers Fargo, der Standardbibliothek libc, des Rendering-Systems Escher, des Vulkan-Treibers Magma, des Kompositionsmanagers Scenic, der Dateisysteme MinFS, MemFS, ThinFS (FAT in Go) und Blobfs sowie des Partitionierungsmanagers FVM. Für die Anwendungsentwicklung wird Unterstützung für die Sprachen C/C++, Dart bereitgestellt, während in den Systemkomponenten auch Rust, im Netzwerk-Stack Go und im Build-System Python Verwendung finden kann.
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
