Bye bye Betriebssystem

JOE: Java On Everything und ohne Betriebssystem

Katharina Degenmann

©  Shutterstock / StockEU

Java On Everything (JOE) ist eine virtualiserte Java-Umgebung, mit der man Java-Programme auf jedem Computer ausführen kann. Und JOE kann noch mehr. Durch das Bereitstellen von Objekten, die OS-Services nutzbar machen, wird jedes Betriebssystem überflüssig. Wir haben uns die Tricks angesehen, die JOE verwendet, um Anwendungen sicherer und effizienter zu gestalten.

Die Idee hinter JOE ist simpel: einfacheres Deployment und Ausführen von Java-Anwendungen auf jedem Computer. Genau hierfür verzichtet das Java Environment Tool auf das Betriebssystem, dessen wichtige Eigenschaften anhand von Objekten, die Betriebssystem-Services zur Verfügung stellen, genutzt werden können. Durch das Weglassen des Betriebssystems wird die Komplexität reduziert und Entwicklern ist es möglich, sich auf die wesentlichen Teile ihrer Anwendung zu konzentrieren.

Die Java-Objekte stellen Laufzeit-Services für Threading, Timer, Sperren, Synchronisation, Netzwerk und Hardwaregeräte zu Verfügung. Die Java-API-Bibliothek GNU Classpath wird so verändert, dass diese Systemobjekte verwendet werden können. Die virtualisierte Java-Umgebung implementiert eine komplette und in sich geschlossene objektorientierte Abbildung von der Anwendung an sich zur Hardware.

Die Vorteile von JOE

Auf GitHub listet Joseph Kulig, der Entwickler von JOE, einige Vorteile auf, die sich aus dem Weglassen des Betriebssystems ergeben.

Ein offensichtlicher Vorteil, der sich durch den Verzicht auf das Betriebssystem ergibt, ist die reduzierte Systemgröße. Ohne das hohe Gewicht eines ganzen Betriebssystems ist die Größe geringer. Laut GitHub ist das Endprodukt daher ein winziges Image, das lediglich die Größe von 19 MB hat. Anhand der Systemgröße ergibt sich bereits der nächste Vorteil, nämlich eine erhöhte Sicherheit. Denn je kleiner die Systemgröße, desto kleiner die Code-Oberfläche und damit weniger Angriffsfläche für potenzielle Hacker.

Außerdem bietet JOE ein einfacheres Anwendungsdesign an, da durch das Wegfallen des Betriebssystems auch ständige Wartungen und mögliche Fehler ausbleiben. Zudem wird die Anwendungsgeschwindigkeit erhöht, da keine Paging-Hardware benötigt wird. Das Fehlen von Paging und virtuellem Speicher spart Zeit beim Umschalten des Programmkontextes.

Zu guter Letzt besteht eine automatische Portabilität. Dies ist auf die Plattformimplementierung zurückzuführen, da die Fähigkeit zum Ausführen von Anwendungen davon abhängt, ob die entsprechenden Compiler und Hardwareobjekte implementiert sind, um diese Anwendung auf einer bestimmten Hardwareplattform auszuführen.

So kann JOE genutzt werden

Um JOE zu nutzen, wird Apache Ant benötigt. Ant wird eingesetzt, um die Dateien und Images von JOE zu kompilieren und zu erstellen. Die gesamte Tool Suite von JOE ist in Java geschrieben, was die Tool Chain sehr stark vereinfacht. Sämtliche Entwicklungswerkzeuge von JOE fühlen sich auf jeder Plattform wie Zuhause, die auch das JRE unterstützt.

Genauere Anweisungen, wie man mit Joe beginnen kann, finden sich auf GitHub.

Verwandte Themen:

Geschrieben von
Katharina Degenmann
Katharina Degenmann
Katharina Degenmann hat Politikwissenschaft und Philosophie studiert. Seit Februar 2018 arbeitet sie in der Redaktion der Software & Support Media GmbH und ist nebenbei als freie Journalistin tätig.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: