Home

Laufzeitsystems

Ein Laufzeitsystem bezeichnet die Softwareebene, die die Ausführung eines Programms während der Laufzeit unterstützt. Es agiert zwischen dem kompilierten Code, dem Betriebssystem und den Ressourcen und stellt grundlegende Dienste bereit, die die Ausführung eines Programms benötigt. Dazu gehören Speicherverwaltung, Fehler- und Ausnahmenbehandlung, Thread- und Scheduler-Funktionen sowie der Zugriff auf I/O, Dateisysteme und Netzwerke.

Zu den zentralen Aufgaben gehören außerdem die Verwaltung von Typinformationen, dynamische Bibliotheken oder Module sowie Unterstützungen

Typische Formen bestehen in VM-basierten Laufzeitsystemen wie der Java Virtual Machine (JVM) oder dem .NET Common

Abzugrenzen ist das Laufzeitsystem vom Betriebssystem und von der Compiler-Laufzeit, obwohl es Überschneidungen gibt. Das Betriebssystem

Die Gestaltung von Laufzeitsystemen beeinflusst Stabilität, Reaktionsfähigkeit und Speicherverbrauch einer Anwendung. Wichtige Aspekte sind Garbage-Collection-Strategien, Multithreading-Unterstützung,

für
dynamische
Sprachen,
Garbage
Collection
und
Just-In-Time-Compilation
in
bestimmten
Laufzeitumgebungen.
Manche
Laufzeitsysteme
enthalten
auch
einen
virtuellen
Rechner
(VM)
oder
eine
Interpreter-Schicht,
die
den
Programmcode
während
der
Ausführung
interpretiert
oder
JIT-kodiert.
Language
Runtime
(CLR),
in
interpretierten
Umgebungen
wie
CPython,
Ruby
oder
JavaScript-Laufzeiten
(Node.js),
sowie
in
nativen
Laufzeitbibliotheken
wie
CRT/libc,
die
bei
Compilern
wie
C/C++
mitgeliefert
werden.
In
eingebetteten
oder
ressourcenbeschränkten
Systemen
können
Laufzeitsysteme
sehr
klein
ausfallen.
verwaltet
Ressourcen
auf
Systemebene,
während
das
Laufzeitsystem
spezifische
Programmlaufzeitdienste
bereitstellt.
In
vielen
Sprachen
bildet
das
Laufzeitsystem
die
zentrale
Laufzeitplattform,
auf
der
Sicherheit,
Portabilität
und
Leistung
abhängen.
Speicher-Isolierung,
Fehlerbehandlung
und
Interoperabilität
mit
nativen
Bibliotheken.