Die zum Erstellen des Chrome-Browsers für das Betriebssystem Fuchsia erforderlichen Komponenten wurden aus dem Chromium-Projekt-Repository entfernt. Es wird darauf hingewiesen, dass die Unterstützung von Fuchsia in Chrome ein Experiment war, das nun eingestellt wurde. Als Grund für die Einstellung des Supports wird gesondert angegeben, dass das Ende des Fuchsia-Entwicklungsprogramms für Workstations der Fall sei. Die Unterstützung für die WebEngine- und WebRunner-Browserkomponenten für Fuchsia wird weiterhin unterstützt, es wird jedoch kein separater vollwertiger Chrome-Browser bereitgestellt. Die zukünftige Entwicklung von Fuchsia wird sich wahrscheinlich nur auf Verbrauchergeräte wie Hausautomationssysteme, intelligente Bilderrahmen und Lautsprecher konzentrieren.
Fuchsia basiert auf dem Zircon-Mikrokernel, der auf den Entwicklungen des LK-Projekts basiert und für den Einsatz auf verschiedenen Geräteklassen, einschließlich Smartphones und PCs, erweitert wurde. Zircon erweitert LK um Unterstützung für Prozesse und gemeinsam genutzte Bibliotheken, eine Benutzerebene, ein Objektverarbeitungssystem und ein fähigkeitsbasiertes Sicherheitsmodell. Treiber werden als dynamische Bibliotheken implementiert, die im Benutzerbereich ausgeführt, vom Devhost-Prozess geladen und vom Gerätemanager (devmg, Device Manager) verwaltet werden.
Fuchsia verfügt über eine eigene grafische Oberfläche, die in Dart unter Verwendung des Flutter-Frameworks geschrieben wurde. Das Projekt entwickelt außerdem das Peridot-Benutzeroberflächen-Framework, den Fargo-Paketmanager, die libc-Standardbibliothek, das Escher-Rendering-System, den Magma Vulkan-Treiber, den Scenic Composite Manager, die MinFS-, MemFS-, ThinFS- (FAT in Go-Sprache) und Blobfs-Dateien Systeme sowie die Manager-FVM-Partitionen. Für die Anwendungsentwicklung wird Unterstützung für die Sprachen C/C++ und Dart bereitgestellt, Rust ist auch in Systemkomponenten zulässig, Go wird im Netzwerkstapel verwendet und Python wird im Build-System verwendet.
Der Startvorgang verwendet einen Systemmanager, einschließlich appmgr zum Erstellen der anfänglichen Softwareumgebung, sysmgr zum Erstellen der Startumgebung und basemgr zum Konfigurieren der Benutzerumgebung und Organisieren der Anmeldung. Um die Sicherheit zu gewährleisten, wird ein erweitertes Sandbox-Isolationssystem vorgeschlagen, bei dem neue Prozesse keinen Zugriff auf Kernelobjekte haben, keinen Speicher zuweisen und keinen Code ausführen können, und für den Zugriff auf Ressourcen wird ein Namespace-System verwendet, das die verfügbaren Berechtigungen bestimmt. Die Plattform bietet ein Framework für die Erstellung von Komponenten, also Programmen, die in einer eigenen Sandbox laufen und über IPC mit anderen Komponenten interagieren können.
Source: opennet.ru
