Betriebssystem mit Virtualisierung Portable Software für IoT-Geräte

MicroEJ ist ein Betriebssystem, das Software wirklich portabel macht, sodass sie ohne erneute Compilierung auf einer anderen Hardware läuft. Die Software wurde gezielt für IoT-Geräte entwickelt.

Dinge vernetzen, das wird schon seit Jahrzehnten praktiziert. Nicht nur Smart­phones und Internet prägen die Vernetzung, auch die Industrie profitiert schon lange von vernetzten Steuerungen, die in großen Zusammenschlüssen komplexe Produktionsanlagen dirigieren – anfangs mit proprietären Feldbussen, in den letzten Jahren immer stärker mit Echtzeit-Ethernet-Technik, die allerdings immer noch in vielen mehr oder weniger firmenspezifischen Varianten besteht. Dass aus der Vernetzung nun das Internet der Dinge entsteht, ist einerseits der schieren Anzahl der Geräte zu verdanken, aber auch der Software: Das IoT ist nicht nur ein Internet der Dinge, sondern vor allem auch eines der Daten und Dienste.

Viele Entwicklungen, die in der Industrie Einzug halten, werden von der Konsumgüter-Branche vorweggenommen. So sind z.B. die Smart Watches, die sich derzeit so rasant verbreiten, nichts anderes als Sensoren, kombiniert mit einem minimalen Benutzer-Interface. Auch der Siegeszug der ARM-Architektur ist den Konsumenten zu verdanken: Die millionenfache Verbreitung in Smart­phones hat diese Prozessorachitektur erst so dominant und kosteneffektiv gemacht, wie sie heute ist. Und nun werden ARM-Prozessoren auch in der Industrie eingesetzt, weil sie sparsam mit Energie umgehen und zahlreiche Peripherie bereits integriert haben. Dass ARM durch den Verkauf von IP, also der Bauanleitung für die Chips, ein geniales Geschäftsmodell ersonnen hat, das eine überaus große Vielfalt an Chips für jeden erdenklichen Zweck hervorgebracht hat, kommt noch dazu. Vielfalt bei der Hardware bedeutet aber Probleme für den Software-Entwickler. Für die ARM-Architektur gibt es keine Software-Standards, wie es Windows und Linux für die x86-Welt darstellen. Die Hardware-Abhängigkeiten in einem ARM-System sind viel größer als in einem Intel- oder AMD-System. Eine binäre, ausführbare Datei auf ein anderes ARM-System zu kopieren und dort ablaufen zu lassen ist praktisch nicht möglich. Zumindest muss der Quellcode neu compiliert werden. Aber auch das reicht meistens nicht. In aller Regel sind zusätzliche Anpassungen erforderlich. Die französische Firma MicroEJ hat es sich zur Aufgabe gemacht, das mit ihrem gleichnamigen Betriebssystem zu ändern.