Fuchsia OS: Entwicklerportal gestartet

Das Portal gibt Softwareentwicklern einen Überblick über unterstützte Plattformen und Programmiersprachen sowie einen Einblick ins System.

In Pocket speichern vorlesen Druckansicht 23 Kommentare lesen
Fuchsia OS: Entwicklerportal gestartet

Fuchsia regia, Namensgeberin des neuen Google-Betriebssystems.

(Bild: Pixabay)

Lesezeit: 4 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

Google hat ein Entwicklerportal für Fuchsia OS gestartet. Unter fuchsia.dev finden Entwickler bereits recht umfangreiche Informationen zu dem Open-Source-Betriebssystem. Dabei stellt die Seite erneut klar: "Fuchsia ist nicht Linux", sondern ein modulares, rechtebasiertes Betriebssystem. Die Site stellt die grundsätzlichen Konzepte des Mikrokernels Zircon und der weiteren Systemkomponenten ebenso vor wie die Anbindung über gängige Programmiersprachen.

Auf der Architekturseite ist Fuchsia auf AArch64 und x86-64 ausgelegt. Bei Intel-CPUs gilt die Broadwell-Miniarchitektur als Minimalvoraussetzung. Allerdings wird Google Patches aufnehmen, um die Nehalem-Architektur anzubinden. Für AMD ist kein aktiver Support vorgesehen, aber auch dafür werden Patches akzeptiert, um den korrekten Bootvorgang zu gewährleisten.

Für die konkrete Umsetzung bietet die Site eine Dokumentation zur Entwicklung auf Intel NUC-Systemen (Next Unit of Computing). Daneben findet sich eine Anleitung zur Installation von Fuchsia auf dem Pixelbook.

Aus Entwicklersicht sind vor allem die bevorzugten Programmiersprachen interessant. Neben C/C++ sind unter anderem Rust und Go gelistet. Damit sind sowohl Mozillas als auch Googles systemnahe Programmiersprache im Startaufgebot vertreten. Außerdem schickt Google Dart ins Rennen, nachdem es nach der anfänglichen Euphorie recht still geworden ist um den JavaScript-Herausforderer.

Die Dokumentation zur Python-Anbindung ist noch äußerst rudimentär, und zahlreiche Unterpunkte sind als To-do gekennzeichnet. Die unter Android bevorzugten Programmiersprachen Java und Kotlin fehlen in der Liste, eine vorinstallierte JVM ist somit wohl kaum vorgesehen. Fuchsia ist im Übrigen explizit auf Programmiersprachenvielfalt ausgelegt. Eine eigene Rubrik der Dokumentation erklärt, wie sich die Anbindung für neue Programmiersprachen gestalten lässt.

Eine Sonderrolle kommt der eigens entwickelten Fuchsia Interface Definition Language (FIDL) zu, die nicht für eigenständige Programme ausgelegt ist, sondern zur Beschreibung von Protokollen für die Interprozesskommunikation (IPC). Aufgrund der Mikrokernelarchitektur spielt IPC eine große Rolle, und FIDL soll gewährleisten, dass die Kommunikation effizient und zuverlässig abläuft und sich einfach umsetzen lässt. Ein Codegenerator erstellt die benötigten IPC-Bindings. Die Dokumentation bietet zum Einstieg ein Tutorial und einige Codebeispiele.

Das Fuchsia System Interface ist die Binärschnittstelle (ABI, Application Binary Interface) zum Mikrokernel. Programme können Systemaufrufe nicht direkt im Kernel absetzen, sondern arbeiten über ein vDSO (Virtual Dynamic Shared Object). Die Kommunikation findet weitgehend über IPC-Protokolle statt, und die fuchsia.io-FIDL-Library bietet zahlreiche Schnittstellen für die hauseigene Programmiersprache von Fuchsia. Das System befindet sich freilich noch aktiv in Entwicklung, sodass Entwickler die ABI nicht als stabil ansehen sollten. Die Dokumentation für die Binärschnittstelle zu den Treibern war beim Schreiben dieser Meldung noch leer.

Das Fuchsia-SDK ist ebenso modular aufgebaut wie das Betriebssystem selbst. Das Core SDK ist unabhängig vom Buildsystem und enthält Metadaten, um es für ein spezifisches System über das SDK-Backend anzupassen. Da sich das SDK in Entwicklung befindet, sind bis zum Release von Fuchsia 1.0 noch zahlreiche Änderungen zu erwarten. Zum Testen von Fuchsia-Anwendungen stellt Google eine angepasste Variante des Emulators Qemu für Linux und macOS bereit.

Auch wenn die Entwickler-Site zu Fuchsia noch zahlreiche als To-do gekennzeichnete Rubriken aufweist, bietet sie bereits einen guten Einstieg für Entwickler, die sich mit dem System vertraut machen möchten. Auf der Site findet sich eine umfassende Information über den Zircon-Kern inklusive Bibliotheken für c (libc) und für die POSIX-I/O-Schnittstelle (libfdio).

Neben Informationen zum Ansprechen von Storage und für Netzwerkfunktionen gibt es eine umfassende Übersicht zu den Grafikschnittstellen, darunter den Vulkan-Treiber Magma und den Renderer Escher. Zudem findet sich auf Fuchsia.dev ein Glossar und eine Übersicht über die typischen Arbeitsabläufe zum Entwickeln von Fuchsia-Applikationen. (rme)