Laufzeitumgebung

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Eine Laufzeitumgebung (wörtliche Übersetzung von englisch: „runtime environment“; kurz: „RTE“ oder seltener auch „RE“), oder Ausführungsumgebung oder seltener Ablaufumgebung genannt, ist ein Computerprogramm, das gemeinsam mit einem Anwendungsprogramm, das nicht direkt mit dem Betriebssystem kommunizieren kann, ausgeführt wird und es auf dem jeweiligen Computer lauffähig, also ausführbar macht, indem es zwischen Anwendungsprogramm und Betriebssystem vermittelt.

Im weiteren Sinne kann der Begriff auch das Umfeld eines jeden ablaufenden Programmes bezeichnen - wenn ein Programm direkt mit dem Betriebssystem und/oder mit anderen Programmen kommuniziert, sind diese die Laufzeitumgebung; wenn ein Programm sogar direkt auf die Hardware zugreift, kann man auch die Hardware der Maschine selbst als Laufzeitumgebung bezeichnen.

Details[Bearbeiten]

Eine Laufzeitumgebung lädt von Anwendungsprogrammierern entwickelte Programme und lässt diese auf einer Plattform ablaufen, für welche die Laufzeitumgebung gemacht worden ist. Damit stellt sie selbst eine kleine „Plattform“ dar, auf der Programme aufsetzen können.

In manchen Fällen ist eine plattformunabhängige und dadurch portable virtuelle Maschine Bestandteil einer Laufzeitumgebung. Ein bekanntes Beispiel hierfür ist die Programmiersprache Java. Die Laufzeitumgebung eines Java-Programms wird Java Runtime Environment genannt und vereinigt die Java-Klassenbibliotheken, die z. B. für Ein- und Ausgabe verwendet werden, und die Java Virtual Machine, die für die Ausführung des Java-Bytecodes verantwortlich ist.

Ein anderes Beispiel ist Microsofts .NET-Plattform. Die .NET Common Language Runtime (CLR) ist (bei neueren Windows-Betriebssystemen) die Laufzeitumgebung für Programme, die in C#, Visual Basic, J#, JScript .NET und C++/CLI geschrieben wurden.

Ferner werden Programme, die in Objective-C geschrieben wurden, in der entsprechenden Laufzeitumgebung ausgeführt. Diese sorgt unter anderem für das dynamische Dispatching von Nachrichten auf Methoden.

Basis-Funktionen[Bearbeiten]

Beispiele für die Basis- oder Grund-Funktionen einer Laufzeitumgebung sind:

  • Lesen und Schreiben von Dateien
  • Daten über Netzwerke transportieren
  • Ein- und Ausgabegeräte steuern
  • Daten verwalten
  • Sortieren und Suchen

Plattformunabhängigkeit[Bearbeiten]

Beispiele, in denen Laufzeitumgebungen Programmen Plattformunabhängigkeit ermöglichen, sind:

  • Java-Applets, die von verschiedenen Webbrowsern auf verschiedenen Betriebssystemen in verschiedenen Implementierungen der Java-Laufzeitumgebungen ausgeführt werden
  • Windows-Programme, die mit Wine auf x86 und x86-64-basierten Unix-Umgebungen (Linux und verschiedene BSD-Varianten sowie Solaris) laufen
  • .NET-Programme, die in der .NET-Reimplementierung Mono unter Linux laufen
  • XUL-Programme, die mit der XULRunner-Laufzeitumgebung ausgeführt werden
  • Linux-Programme, die auf UNIX-Betriebssystemen wie BSD, Solaris und SCO-Unix in einer speziell angepassten Linux-Umgebung laufen
  • IBCS-Programme, die mittels der IBCS-Unterstützung (bestehend aus Kernel-Umgebung, angepassten Systemaufrufen und Laufzeitbibliotheken) unter Linux laufen
  • 32-Bit-Linux-Programme, die zusammen mit den zugehörigen 32-Bit-Bibliotheken in der 32-Bit-Umgebung von 64-Bit-Linux-Kerneln laufen. Die 32-Bit-Laufzeitumgebung besteht dabei aus der Unterstützung der 64-Bit-CPUs von Intel für 32-Bit-Code, Kernel-Unterstützung für diesen 32-Bit-Modus, 32-Bit-Betriebssystemaufrufen und einem 32-Bit-dynamischen Linker.
  • DOS-Programme, die unter OS/2, UNIX und Linux im DOSEMU laufen
  • 16-Bit-Windows-Programme, die unter 32-Bit-Windows, und 32-Bit-Windows-Programme, die unter 64-Bit-Windows laufen