Google portiert Chrome auf Fuchsia OS

Google arbeitet daran, vollständige Builds des Chrome-Browsers für das Fuchsia OS bereitzustellen. Fuchsia bietet bereits eine auf der Chromium-Codebasis basierende Browser-Engine zum Ausführen eigenständiger Webanwendungen an, der Browser als separates, vollwertiges Produkt war für Fuchsia jedoch nicht verfügbar und die Plattform selbst wurde hauptsächlich für IoT- und Verbrauchergeräte wie den Nest Hub entwickelt . In letzter Zeit hat sich die Situation geändert und mit der Entwicklung der Fuchsia-Funktionen begonnen, die darauf abzielen, sie als Desktop-Plattform zu nutzen.

Dazu gehört die Entwicklung einer Reihe von Änderungen, die es ermöglichen, vollwertiges Chrome für Fuchsia bereitzustellen. Der erste Build von Chrome für Fuchsia soll für die Veröffentlichung von Chrome 94 bereit sein, die für den 21. September geplant ist. Die Portierungsarbeiten werden schrittweise durchgeführt – zunächst ist es möglich, eine abgespeckte Version zu erstellen, in der einige Funktionen durch Stubs ersetzt werden, die im Verlauf der Portierung durch funktionierende Codeimplementierungen ersetzt werden, die die Besonderheiten berücksichtigen von Fuchsia. Für Fuchsia werden beispielsweise Anpassungen für die Taskleiste, das Laden von Dateien, die Click-to-Call-Funktion, die Arbeit mit Wechselmedien, die Synchronisierung, Benutzerverzeichnisse, PWA-Anwendungen, die Anzeige von Informationen zu Speicher und CPU-Auslastung sowie das Importieren von Einstellungen aus anderen Browsern durchgeführt .

Wir möchten Sie daran erinnern, dass das Fuchsia-Betriebssystem seit 2016 von Google entwickelt wurde, wobei die mangelnde Skalierbarkeit und Sicherheit der Android-Plattform berücksichtigt wurde. Das System 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 Personalcomputern, 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, im Go-Netzwerkstack und im Python-Sprachassemblysystem erlaubt.

Google portiert Chrome auf Fuchsia OS

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

Kommentar hinzufügen