Plattform für Betriebssysteme

Was ist eine Laufzeitumgebung?

| Autor / Redakteur: Otto Geißler / Ulrike Ostler

Eine Laufzeitumgebung stellt sicher, dass Anwendungen auf den Betriebssystemen laufen und die Software-Module wiederverwendet werden können.
Eine Laufzeitumgebung stellt sicher, dass Anwendungen auf den Betriebssystemen laufen und die Software-Module wiederverwendet werden können. (Bild: © djama - stock.adob.com)

Eine Laufzeitumgebung (runtime environment - RTE) oder Ausführungsumgebung oder seltener als Ablaufumgebung benannt, ist ein Programm mit dem Anwendungen in „ungewohnter“ Umgebung lauffähig gemacht werden können, indem es zwischen dem Anwendungsprogramm und Betriebssystem vermittelt.

Betriebssysteme sind heute sehr vielschichtig aufgebaut. Wenn Anwendungen möglichst schnell und einfach unter mehreren Betriebssystemen laufen sollen, dann empfiehlt es sich, für diese Anwendungen eigene kleine „Betriebssysteme“ als Laufzeitumgebungen zu implementieren. Damit erspart man sich den Aufwand, jede einzelne Anwendung separat an das jeweilige Betriebssystem anzupassen.

Eine Laufzeitumgebung lädt die entwickelten Anwenderprogramme und führt sie auf ihrer Plattform aus, für welche die Laufzeitumgebung letztlich erstellt wurde. Das heißt: Auf diese Weise wird sie selbst zu einer kleinen „Plattform“, auf der die Programme aufsetzen können. In gewissen Fällen ist eine plattformunabhängige Virtuelle Maschine (VM) Teil einer Laufzeitumgebung.

Basis-Funktionen

Eine Laufzeitumgebung stellt allgemeine Grundfunktionen für Speicher, Peripheriegeräte, Netzwerke oder andere Elemente bereit. Zu diesen Funktionen gehören unter anderem das Lesen und Schreiben von Dateien, der Datentransport über die Netzwerke, das Verwalten der Ein- und Ausgabegeräte, das Suchen oder Sortieren von Dateien und vieles mehr. Das heißt, eine Laufzeitumgebung übernimmt auf diese Weise Funktionen, die sonst durch ein Anwendungsprogramm ausgeführt wird.

Die Module der Laufzeitumgebungen sind in Laufzeit-Bibliotheken abgespeichert. Unter Windows erkennt man sie an der Extension *.dll und unter Unix lautet die Extension *.so. Eine gemeinsame Laufzeitumgebung ermöglicht es, dass sich ähnliche Anwendungen Komponenten untereinander teilen und daher oft auch Ressourcen-schonender betrieben werden können. Je nach Laufzeitumgebung variieren diese Effekte.

Laufzeitumgebungen und Frameworks

Da Frameworks ebenfalls Laufzeitumgebungen bereitstellen, um die erstellten Anwendungen auszuführen, gehören sie auch zu den Laufzeitumgebungen. Je nach Bedarf bieten sie auch nur ein sogenanntes „Programm-Gerüst“ und damit meist fertige Teil-Lösungen, damit der Entwicklungsprozess der Anwendungen schneller vorangetrieben werden kann. Aus diesem Grunde sind Frameworks vielfach im Web-Bereich anzutreffen, wo sie als Baukasten-Grundsystem beispielsweise die Erstellung von PHP-, Flash-, und Java-Lösungen beschleunigen.

Zu den bekannten Frameworks zählen unter anderem das ActionScript Application Framework, Blueprint (CSS-Framework), Crystal Space Framework, Cygwin, Java Runtime Enviroment, .NET Framework sowie Visual Basic Runtime und XULRunner.

Laufzeitumgebungen für alle Plattformen

Java-Anwendungen setzen zum Beispiel auf einer eigenen Laufzeitumgebung (Java Runtime Enviroment) auf, die hier im Prinzip ein eigenes Betriebssystem darstellt. Damit sind Java-Anwendungen unter Windows, Linux und Mac OS X voll funktionsfähig und bewahren unter allen Betriebssysteme immer die gleiche visuelle Anmutung als auch die gleiche Funktionsvielfalt.

Die Laufzeitumgebung für Java Runtime Environment vereinigt die Java-Klassenbibliotheken, die zum Beispiel für die Ein- und Ausgabe und die Java Virtual Machine verwendet werden. Die Java Virtual Machine ist für die Ausführung des Java-Bytecodes im Einsatz. Bei Microsofts .NET-Plattform ist .NET Common Language Runtime (CLR) die Laufzeitumgebung für Programme, die in C#, Visual Basic, J#, JScript .NET und C++/CLI entwickelt wurden. Darüber hinaus werden Programme, die in Objective-C verfasst wurden, in der entsprechenden Laufzeitumgebung ausgeführt. Diese sorgt dann zum Beispiel für das dynamische Dispatching von Nachrichten auf Methoden.

Weitere bekannte Beispiele sind das Adobe Integrated Runtime (AIR) für Rich Internet Applikationen (RIA) oder das Common Language Runtime (CLR) als Interpreter für die Common Intermediate Language (CIL). Im Industriebereich Automotive dominiert das sogenannte Runtime Environment (RTE), ein von AUTOSAR entwickeltes modulares Software-Konzept, das auf dem Mikroprozessor aufsetzt und verschiedene Gerätetreiber und Dienste einschließt. Es kommt ferner für die Migration von Software zum Einsatz und bildet als Schaltzentrale die Schnittstelle zu einer Anwendung.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45470334 / Definitionen)