Fuchsia OS – Googles Betriebssystem der Zukunft?
Google arbeitet an einem neuen Betriebssystem: Mit Fuchsia OS kehrt der Technologiekonzern der Linux-Architektur den Rücken und setzt stattdessen auf den selbstentwickelten Micro-Kernel Zircon. Fuchsia könnte nicht nur das Desktop-Betriebssystem Chrome OS ablösen, sondern auch das auf Mobilgeräte ausgelegte Android. Und das, obwohl sich Android heute quasi konkurrenzlos auf dem Markt etabliert hat.
Ist Google Fuchsia das Betriebssystem der Zukunft? Wir haben das Projekt unter die Lupe genommen.
Was ist Google Fuchsia?
Fuchsia ist nicht nur eine Farbe zwischen Rot und Blau, sondern auch der Name eines modularen, rechtebasierten Echtzeit-Betriebssystems, das Google seit 2016 vor den Augen der Öffentlichkeit entwickelt. Das System ist u. a. in C, C++, Dart, Go und Rust geschrieben und soll auf modernen 64-bit-Intel-ARM-Prozessoren laufen.
Bei einem Echtzeit-Betriebssystem (Real-Time Operating System, RTOS) handelt es sich um ein Betriebssystem, das in der Lage ist, augenblicklich bzw. in einer vorher definierten Zeitspanne auf Ereignisse zu reagieren und Verarbeitungsergebnisse zu liefern.
Der Quellcode von Fuchsia OS steht unter Open-Source-Lizenz (u. a. BSD-, MIT-und Apache-Lizenz) und kann in Googles öffentlichen Git-Repositorys von jedermann eingesehen und heruntergeladen werden. Interessierte finden hier auch eine umfangreiche Dokumentation des Projekts.
Der Dokumentation zufolge ist Fuchsia OS gleichermaßen für Smartphones, Tablets, Laptops und Desktop-Computer geeignet. Mit Armadillo steht seit Mai 2017 ein auf Touch-Bedienung optimiertes User-Interface (UI) mit grafischer Benutzeroberfläche zur Verfügung. Ein Desktop-UI für Fuchsia OS entwickelt Google unter dem Arbeitstitel Capybara. Seitdem mehren sich die Gerüchte, Google arbeite an einem Ersatz für das nahezu konkurrenzlose Android.
Wie funktioniert Fuchsia OS?
Bei der Entwicklung von Fuchsia OS beschreitet Google gänzlich neue Wege. Man könnte sagen, der Konzern hat aus vergangenen Fehlern gelernt – insbesondere in Bezug auf Einschränkungen und Probleme bei der Aktualisierung und Modifikation von Android und Chrome OS. Der zentrale Unterschied zu den etablierten Google-Betriebssystemen: Fuchsia OS ist von Grund auf modular aufgebaut. Dies zeigt sich nicht nur in einer modularen Systemarchitektur, sondern auch in einem völlig neuen Verständnis davon, was eine Anwendung ist.
Modulares Anwendungsdesign
Google Fuchsia liegt ein modulares Design zugrunde, das mit dem Konzept der App bricht. Software-Einheiten werden als Packages (Pakete) bezeichnet. Bei einem Paket handelt es sich um eine Auswahl an Dateien – u. a. Metadaten, Manifest-Dateien und ausführbare Elemente. Letztere werden in der Google-Terminologie Components (Komponenten) genannt.
Fuchsia-Komponenten kommen dem, was wir heute als Apps bezeichnen, am nächsten. Jede Komponente erfüllt eine bestimmte Aufgabe und kann mit anderen Komponenten kombiniert werden, um komplexe Anwendungen zu ermöglichen. Zu den Bestandteilen einer Komponente zählen eine Manifest-Datei sowie der zugehörige Code. Komponenten laufen stets in einer eigenen Sandbox, greifen über Namensräume auf Objekte zu und veröffentlichen diese über ein Exportverzeichnis. Bei Fuchsia OS stehen vor allem zwei Arten von Komponenten im Vordergrund: Models (Module) und Agents (Agenten).
Komponenten in der Rolle eines Agenten arbeiten im Hintergrund und stellen Dienste für andere Komponenten bereit. Der Aufruf eines Agenten erfolgt entweder durch eine andere Komponente oder durch das System – beispielsweise als Antwort auf bestimmte Trigger wie Push-Benachrichtigungen oder andere Vorgänge auf dem Bildschirm.
Bei Modulen handelt es sich um Komponenten mit Benutzerschnittstelle, die für den Nutzer sichtbar im Vordergrund ausgeführt werden. Jedes Modul innerhalb des Betriebssystems wurde für eine bestimmte Aufgabe entwickelt und ist entsprechend gekennzeichnet, sodass es automatisch aufgerufen werden kann, sobald es benötigt wird. Dies erfolgt anhand der Funktion des Moduls, die sich mithilfe sogenannter Verbs (Verben) und Nouns (Nomen) beschreiben lässt.
Jedes Modul umfasst eine Liste von Verben, die angeben, welche Arbeit das Modul erledigen kann, sowie eine Liste von Nomen, die für Entitäten stehen, mit denen gearbeitet wird. Der Begriff Entity umfasst gemäß der Google-Terminologie alle eindeutig identifizierbaren Personen, Orte, Dinge, Ereignisse oder Konzepte, die als strukturierte Datenobjekte vorliegen, auf die verwiesen werden kann und die sich abrufen, präsentieren, manipulieren oder freigegeben lassen.
In der Praxis gestaltet sich die Arbeit mit dem Echtzeitbetriebssystem Fuchsia somit folgendermaßen: Sobald ein Nutzer eine Aktion ausführt, ermittelt Fuchsia OS automatisch das passende Modul für die Aufgabe. Dabei wird die gewünschte Aktion in eine Kombination aus Verb und Nomen übersetzt. Das System ruft daraufhin eine Liste aller Module ab, die das gewünschte Verb unterstützen und filtert im nächsten Schritt nach dem Modul, das auch mit dem gewünschten Nomen umgehen kann.
Verwandte Module lassen sich zu sogenannten Storys gruppieren. Storys kombinieren verschiedene Aktionen und Aufgaben nach aktuellen Anforderungen und sollen Benutzern ermöglichen, komplexe Anwendungen nach ihren eigenen Vorstellungen und Anforderungen zusammenzustellen.
Mit dem modularen Anwendungskonzept von Fuchsia OS verlagert Google den Schwerpunkt von Apps zu Aktionen und Inhalten. Statt wie bei klassischen Betriebssystemen von einer aktuell verwendeten App werden Aufgaben bei Fuchsia von einer Gruppe von Komponenten in sogenannten Storys erledigt, die über Module auf aktuell benötigte Ressourcen zugreifen.
Die folgende Grafik verdeutlicht das modulare Konzept, das der Entwicklung von Anwendungen für Fuchsia OS zugrunde liegt.
Modulare Systemarchitektur
Ein modularer Ansatz liegt auch der System-Architektur von Fuchsia OS zugrunde. Das Betriebssystem umfasst vier mehr oder weniger unabhängige Ebenen mit je eigenen Aufgaben: Zircon, Garnet, Peridot und Topaz.
Zircon
Zircon (ehemals Magenta) stellt die Basis des neuen Google-Betriebssystems dar, ist streng genommen jedoch kein Teil von Fuchsia OS und könnte prinzipiell auch bei anderen Betriebssystemen zum Einsatz kommen.
Zircon enthält den Kernel von Fuchsia OS, den Gerätemanager, die meisten Core- und First-Party-Gerätetreiber sowie Low-Level-Systembibliotheken wie libc und launchpad. Darüber hinaus bietet Zircon mit FIDL (Fuchsia Interface Definition Language) ein Protokoll für die Interprozesskommunikation. FIDL ist programmiersprachenunabhängig, verfügt jedoch über Anbindungen zu populären Programmiersprachen wie C, C++, Dart, Go und Rust.
Als Basis von Fuchsia OS vermittelt Zircon den Hardware-Zugriff für nachfolgende Ebenen, erstellt Software-Abstraktionen über den gemeinsam genutzten Hardware-Ressourcen und dient als Plattform für die hardwarenahe Software-Entwicklung (Low-Level). Zircon ist aus dem Projekt Little Kernel (LK) hervorgegangen, das als Bootloader (Startprogramm) für Android fungiert.
Garnet
Garnet ist die erste Fuchsia-spezifische Systemebene, die auf Zircon aufbaut. Hier werden diverse Systemdienste auf Geräteebene sowie Netzwerk-, Medien- und Grafikdienste zur Verfügung gestellt – beispielsweise für die Software-Installation, für die System-Administration und die Kommunikation mit anderen Systemen. Garnet enthält u. a. den Grafik-Renderer Escher, das Paketverwaltungs- und Aktualisierungssystem Amber sowie den Text- und Code-Editor Xi.
Peridot
Peridot ist die Betriebssystemebene von Fuchsia OS, auf der die modularen Anwendungen (s. o.) verwaltet und nach aktuellen Nutzeranforderungen zusammengestellt werden. Kernkomponenten von Peridot sind Ledger und Maxwell.
- Ledger: Bei Ledger handelt es sich um ein cloudbasiertes Speichersystem (Distributed Storage System), das jeder Fuchsia-Komponente (Module oder Agenten) einen separaten Datenspeicher zur Verfügung stellt. Dieser wird über verschiedene Geräte hinweg synchronisiert. Das ermöglicht es einem Anwender, auf einem Fuchsia-Gerät genau da weiterzumachen, wo er auf einem anderen Fuchsia-Gerät aufgehört hat. Ledger wird im Google-Account des Anwenders gesichert.
- Maxwell: Mit Maxwell hat Google eine Komponente in Fuchsia OS integriert, die Anwendern als künstliche Intelligenz zur Seite steht. Wie für Fuchsia üblich, ist auch Maxwell modular aufgebaut. Das KI-System besteht aus einer Reihe von Agenten, die die Aktionen des Nutzers sowie die von ihm verwendeten Inhalte analysieren, im Hintergrund passende Informationen ermitteln und Vorschläge an das Betriebssystem weitergeben – beispielsweise welche Module oder Storys passend zum Nutzerverhalten zum jeweiligen Zeitpunkt geladen werden sollten. Auch der Google-Sprachassistent ist Teil der KI-Komponente, der im Rahmen des Fuchsia-Projekts unter dem Codenamen Kronk weiterentwickelt wird.
Kronk ist bislang die einzige Komponente von Fuchsia OS, die nicht als Open-Source-Projekt entwickelt wird.
Topaz
Topaz ist die System-Ebene von Fuchsia OS, auf der die Anwender mit dem Betriebssystem interagieren. Hier werden die Benutzerschnittstellen der Komponenten dargestellt, die auf den darunterliegenden Ebenen definiert wurden: sowohl die grafische Benutzeroberfläche mit Home-Screen – je nach Gerät Armadillo oder Capybara – als auch die visuellen Frontends der Module. Auch Googles plattformübergreifendes Open-Source-Mobil-App-Framework Flutter ist auf dieser System-Ebene integriert. Es ist somit davon auszugehen, dass Anwender mit Fuchsia OS zukünftig auch Apps anderer Systeme ausführen und benutzen können – beispielsweise Android- oder iOS-Apps.
Die Vor- und Nachteile von Fuchsia OS im Überblick
Dem modularen Ansatz entsprechend haben die Entwickler von Fuchsia OS die Systemarchitektur in einzelne Bereiche mit speziellen Aufgaben aufgeteilt. Dies sorgt nicht nur für eine bessere Lesbarkeit des Codes, sondern wirkt sich insbesondere auf die Anpassbarkeit und Aktualisierung des Betriebssystems aus. So löst Google u. a. das Update-Problem, mit dem Android seit längerem zu kämpfen hat.
Das Android-Ökosystem kämpft mit einem Update-Problem. Ein Blick auf das offizielle Distribution-Dashboard zeigt: Neue Versionen des Betriebssystems verbreiten sich nur langsam. Ein Problem, das man bei der Konkurrenz nicht kennt. Während bei Apple Hard- und Software aus einem Hause kommen und ohne Verzögerung angepasst werden können, muss jedes Android-Update zunächst von den verschiedenen Hardware-Herstellern umgesetzt werden.
Darüber hinaus kommt die modulare Systemarchitektur den Vertriebspartnern von Google entgegen, die Fuchsia OS nach eigenen Vorstellungen anpassen oder erweitern möchten.
Hardware-Hersteller haben die Möglichkeit, einzelne Ebenen des Betriebssystems mit eigenen Produkten auszutauschen, ohne dass sich dies auf die Funktionalität der anderen Ebenen auswirkt. Samsung beispielweise könnte Topaz durch eine selbst entwickelte Benutzeroberfläche im Stil von TouchWiz ersetzen. Amazon hätte die Möglichkeit, auf Peridot und den Google-Sprachassistenten zu verzichten und Fuchsia OS stattdessen mit einem AWS-basierten App-Modul inklusive Alexa auszustatten.
In beiden Fällen könnten Gerätehersteller individualisierte Versionen von Fuchsia OS anbieten, ohne die Funktionen von Zircon und Garnet sowie die offiziellen Update-Zyklen für diese Ebenen zu beeinträchtigen.
Vorteile | Nachteile |
---|---|
Die modulare Systemarchitektur von Fuchsia OS ermöglicht es Google zukünftig, Sicherheits-Updates deutlich schneller auszurollen, als dies bei Android der Fall war. | Google macht Ledger zu einer Kernkomponente von Fuchsia OS. Ledger steuert die Synchronisation von Anwendungen über verschiedene Geräte hinweg und bindet das System damit eng an die Cloud. |
Dank des modularen Aufbaus haben Hardware-Hersteller die Möglichkeit, einzelne Systemebenen von Fuchsia OS durch eigene Bausteine zu ersetzen – ohne dass die anderen Ebenen davon in ihrer Funktion beeinträchtigt werden. |
Stand der Entwicklung
Fuchsia OS nimmt langsam Gestalt an, ist von der Marktreife aber noch weit entfernt. Auch ein offizielles Release-Datum hat Google bisher nicht bekanntgegeben. Erste Hardware-Tests fanden Medienberichten zufolge bereits statt. Als erster Gerätehersteller, der Fuchsia OS testen konnte, hat Huawei das neue Betriebssystem erfolgreich auf dem Honor Play gebootet. In dem Smartphone ist der Huawei-Chip Kirin-970 verbaut, der auch in anderen Geräten des Herstellers zum Einsatz kommt – beispielsweise im Mate 10, Mate 20 und Mate 20 Pro.
Fuchsia-OS-Demo
Schon im Entwicklungsstadium kann Fuchsia OS als APK (Android Package) kompiliert und auf Android-Smartphones und -Tablets installiert werden. Wie das aussieht, zeigt die Fuchsia-OS-Demo-Version des portugiesischen IT-Studenten Manuel Goulão.
Wer die Fuchsia-OS-Demo im Browser aufruft, gelangt auf eine Website, die den Startbildschirm des Betriebssystems zeigt. Dieser begrüßt den Benutzer mit einem Hintergrundbild und der aktuellen Uhrzeit. Darüber hinaus stehen drei Buttons zur Verfügung: ein Button, der die WiFi-Einstellungen öffnet, der Login-Button für registrierte Benutzer sowie ein Guest-Login.
Die Demo ermöglicht bisher nur die Anmeldung als Gast.
Angemeldete Benutzer gelangen auf den Home-Screen von Fuchsia OS, der sämtliche Information auf einer Seite anzeigt.
Prominentestes Element auf dem Home-Screen ist ein Fenster in der Bildschirmmitte, das die Google-Suchleiste, den Google-Sprachassistenten sowie die auf dem Gerät installierten Anwendungen enthält.
Startet man eine App (die die Demo nur als Dummy zur Verfügung stellt), zeigt sich, dass Google sich für eine fensterbasierte Benutzeroberfläche entschieden hat.
Ein Klick auf das Benutzerbild in der Mitte des Home-Screens öffnet ein Menü mit oft verwendeten Einstellungen.
Ausführlich getestet wurde Fuchsia OS auch von den Redakteuren von Ars Technica, die die Vorab-Version auf einem Pixelbook zum Laufen gebracht haben. Folgendes Video zeigt das Ergebnis des Tests:
- Alle Google-Apps zentral und online für flexibles Arbeiten
- Nutzung von Gmail mit Ihrer Domain von IONOS
- Inklusive priorisiertem Google-Support