Home

Laufzeitumgebungen

Eine Laufzeitumgebung (Runtime) ist Software, die während der Ausführung eines Programms erforderlich ist, um dessen Anweisungen zu verwalten und Bereitstellungsdienste bereitzustellen. Sie bietet Funktionen wie Speicherverwaltung, Thread- und Fehlerbehandlung, Zugriff auf Bibliotheken und APIs sowie Sicherheitsprüfungen. Typisch enthält sie zudem Dienste wie Garbage Collection und Just-In-Time-Kompilierung. Durch die Trennung von Code und Plattform erhöht sie Portabilität, Sicherheit und Optimierungsmöglichkeiten.

Es gibt verschiedene Arten von Laufzeitumgebungen. Sprach- oder plattformbezogene Laufzeiten führen Programme einer bestimmten Sprache aus,

Abgrenzung: Eine Laufzeitumgebung ist kein Compiler und kein Betriebssystem. Ein Compiler wandelt Quellcode in ausführbaren Code

Vorteile sind Portabilität, Abstraktion gegenüber der Hardware, Sicherheitsmodelle und einfache Verteilung. Nachteile können Laufzeit-Overhead, Abhängigkeiten von

etwa
die
Java
Virtual
Machine
(JVM)
oder
der
.NET
Common
Language
Runtime
(CLR).
Interpretierte
Sprachen
nutzen
oft
direkt
Interpreter-
oder
Bytecode-Umgebungen
wie
CPython
(Python)
oder
Ruby
MRI.
JavaScript
läuft
in
Browsern
über
Engines
wie
V8,
SpiderMonkey
oder
JavaScriptCore
oder
serverseitig
in
Node.js.
Mobile
Plattformen
wie
Android
besitzen
eigene
Laufzeiten
(ART/Dalvik).
um;
die
Laufzeit
führt
diesen
Code
in
der
gegebenen
Umgebung
aus
und
stellt
Dienste
bereit.
Laufzeitumgebungen
können
JIT-
oder
Ahead-Of-Time-Compilierung
(AOT)
nutzen
und
unterschiedliche
Leistungs-
und
Sicherheitsmodelle
je
nach
Sprache
implementieren.
bestimmten
Versionen
oder
Implementierungen
sein.
Anwendungen
lassen
sich
oft
durch
Verpackung
in
Containern
oder
Paketverwaltungen
reproduzierbar
machen,
wobei
die
Laufzeitumgebung
Teil
der
Ausführungseinheit
bleibt.