Home

Laufzeitstruktur

Laufzeitstruktur bezeichnet die Gesamtheit der Bausteine, die während der Ausführung eines Programms aktiv sind, sowie deren Wechselwirkungen. Sie geht über den reinen Quellcode oder Compile-Time-Struktur hinaus und beschreibt, wie Code, Daten und Ressourcen im Speicher angeordnet und vom System verwaltet werden. Die Laufzeitstruktur wird maßgeblich von der Laufzeitumgebung geprägt, also vom Interpreter bzw. Virtuellen Maschine, Just-In-Time-Compiler, Speicherverwaltungsmechanismen und von dynamischen Bibliotheken.

Zu den zentralen Bestandteilen gehören der Ausführungskontext (CPU, Betriebssystem, Threading-Modell, Scheduling); die Laufzeitsysteme (VM/Interpreter, JIT, Garbage

Verhalten: Die Laufzeitstruktur bestimmt Aufrufmechanismen, Speicherverwaltung, Fehlerbehandlung, Parallelität, Speicherbedarf sowie Profilierungsmöglichkeiten. Unterschiede in Laufzeitumgebungen führen

Beispiele: In Java besteht die Laufzeitstruktur aus der JVM, dem Bytecode, dem Klassenlader und dem Garbage

Bedeutung: Die Laufzeitstruktur beeinflusst Portabilität, Wartbarkeit und Sicherheit von Software, da Unterschiede in Laufzeitumgebungen zu Verhalten

Collector);
das
Speichermodell
(Stack,
Heap,
globaler
Speicher,
Metadaten,
Root-Verwaltung);
dynamisches
Laden
und
Verknüpfen
(Modul-
oder
Klassloader,
dynamische
Bibliotheken);
Bibliotheken
und
Frameworks;
sowie
Eingaben/Ausgaben
und
Systemressourcen
(Dateien,
Netzwerk,
Datenbanken).
zu
abweichendem
Verhalten,
weshalb
Portabilität,
Sicherheit
und
Leistungscharakteristika
maßgeblich
von
der
konkreten
Laufzeit
abhängen.
Collector;
.NET
nutzt
die
CLR
mit
Just-In-Time-Kompilierung
und
Garbage
Collection;
Python
verwendet
einen
Interpreter,
der
Bytecode
ausführt;
JavaScript-Laufzeiten
in
Browsern
oder
Node.js
führen
ebenfalls
Laufzeitumgebungen
mit
JIT
und
Event-Loop.
abweichend
sein
können;
sie
bestimmt
auch
Leistung,
Skalierbarkeit,
Fehlersuche
und
Profilierungsmöglichkeiten.