Definition

Laufzeit (Runtime)

Die Laufzeit ist einerseits ein Teil des Codes, der Teile des Ausführungsmodells einer Programmiersprache implementiert. Auf diese Weise ermöglicht sie dem Programm die Interaktion mit den Computerressourcen, die es für seine Arbeit benötigt. Laufzeiten sind oft integraler Bestandteil der Programmiersprache und müssen nicht separat installiert werden.

Laufzeit ist andererseits der Zeitpunkt, an dem ein Programm läuft. Das heißt, wenn Sie ein Programm auf einem Computer starten, beginnt die Laufzeit bis zur Beendigung dieses Programms. In einigen Programmiersprachen werden bestimmte wiederverwendbare Programme oder Routinen erstellt und als Laufzeitbibliothek verpackt. Diese Routinen können mit jedem Programm verknüpft und von diesem verwendet werden, wenn es läuft.

Programmierer unterscheiden manchmal zwischen dem, was in ein Programm eingebettet wird, wenn es kompiliert wird, und dem, was eingebettet oder zur Laufzeit verwendet wird. Ersteres wird manchmal als Kompilierzeit bezeichnet.

Wie funktioniert eine Laufzeit?

Die Laufzeit ist eine Phase im Lebenszyklus der Programmierung. Es ist die Zeit, in der ein Programm zusammen mit allen externen Anweisungen läuft, die für eine ordnungsgemäße Ausführung erforderlich sind. Einige dieser externen Anweisungen werden als Laufzeitsysteme oder Laufzeitumgebungen bezeichnet und sind integraler Bestandteil der Programmiersprache.

Ein Laufzeitsystem bildet eine Schicht über dem Betriebssystem (Operating System, OS), die andere Programme enthält, welche Aufgaben übernehmen, die für die Ausführung des Hauptprogramms erforderlich sind. Diese anderen Programme übernehmen Aufgaben wie die Zuweisung von Speicherplatz für das Hauptprogramm und dessen Zeitplanung.

Wenn sich eine Anwendung in der Laufzeitphase befindet, wird die ausführbare Datei des Programms in den Arbeitsspeicher geladen, zusammen mit allen Dateien, auf die das Programm verweist. Dazu kann auch Codegehören, den der Benutzer nicht geschrieben hat, der aber im Hintergrund arbeitet, um das Programm zum Laufen zu bringen. Dieser Code wird an den Prozessor des Computers gesendet, um in Maschinencode umgewandelt zu werden. Dieser sorgt dafür, dass die Hardware das Programm ausführt.

Programmlebenszyklus
Abbildung 1: Die Laufzeit ist die letzte Phase des Programmlebenszyklus, in der die Maschine den Programmcode ausführt.

Hier ist ein einfaches Beispiel für ein Laufzeitsystem, das in der Programmiersprache BASIC (Beginner's All-purpose Symbolic Instruction Code) geschrieben wurde:

] 10 PRINT "HALLO"

] 20 GOTO 10

Das obige Beispiel ist Quellcode. BASIC ist eine interpretative Programmiersprache, das heißt die Anweisungen können ausgeführt werden, ohne dass der Code vorher in eine Laufzeitversion kompiliert werden muss. Um das Programm auszuführen und das Wort Hallo zu drucken, würde der Programmierer einen weiteren BASIC-Befehl einfügen:

] RUN

Dies ist das Laufzeitsystem. Es ist ein eigenes Programm, das eine Schicht zwischen dem Betriebssystem des Benutzers und dem Quellcode bildet. Es schafft die Laufzeitumgebung, die notwendig ist, damit der Quellcode mit dem Betriebssystem interagieren kann. Diese Schicht teilt dem Computer mit, wie der Quellcode zu analysieren und auszuführen ist, und sie sendet Anfragen an das Betriebssystem.

Laufzeitfehler

Viele Benutzer begegnen dem Begriff Laufzeit zunächst im Zusammenhang mit einem Laufzeitfehler. Damit ist ein Problem mit dem Programm gemeint, das die Ausführung zur Laufzeit aufgrund von beschädigten, fehlenden oder inkompatiblen Komponenten verhindert.

Laufzeitfehler können aus vielen Gründen auftreten. Beispiele für Laufzeitfehler sind:

  • Unzureichende Systemressourcen. Ein Mangel an verfügbaren Systemressourcen kann einen Laufzeitfehler verursachen. Wenn zum Beispiel nicht genügend Speicher für die Ausführung eines Programms vorhanden ist, kann die Laufzeitumgebung ihre Aufgabe nicht erfüllen. Das Programm bricht dann wahrscheinlich ab und gibt eine Fehlermeldung aus.
  • Kodierungsfehler. Ein Fehler in der Software kann einen Laufzeitfehler verursachen.
  • Unterbrochene Abhängigkeit. Wenn eine Verbindung zu einer anderen Anwendung, die das Programm zur Ausführung benötigt, unterbrochen wird, kann ein Fehler auftreten.

Eine Laufzeitumgebung zeigt in der Regel eine Meldung an, die den Grund für den Absturz oder die Stelle im Programm angibt, an der der Fehler aufgetreten ist. Programmierer müssen unter Umständen die Software entweder manuell oder mit Unterstützung von Debugging Tools untersuchen, um die Ursache eines Laufzeitfehlers zu finden.

Unterschiede in der Laufzeitterminologie

Der Begriff Laufzeit hat in der Informatik viele Bedeutungen. Er kann sich auf den Zustand eines Programms, eine bestimmte Art von Programm oder den Zeitpunkt, zu dem ein Programm läuft, beziehen.

Die Hauptverwendung des Begriffs Laufzeit ist die Beschreibung der Laufzeitumgebung – des Codes, der das Funktionieren eines Programms ermöglicht. Der Begriff wird jedoch auch in anderen Bereichen der Programmierung verwendet:

  • Es wird als Substantiv verwendet, um die letzte Phase des Lebenszyklus eines Programms zu bezeichnen, wenn das Programm ausgeführt wird (wie oben beschrieben).
  • Als zwei Wörter geschrieben, bezieht sich Laufzeit darauf, wie lange die Ausführung eines Programms dauert.
  • Es kann als Adjektiv verwendet werden, um Prozesse zu beschreiben, die während dieser Phase des Programmlebenszyklus stattfinden. Beispiele hierfür sind die Begriffe Laufzeitfehler und Laufzeitmetriken.
  • Er wird auch zur Beschreibung anderer Programme verwendet, einschließlich Laufzeitumgebung, Laufzeitsystem und Laufzeitbibliothek, die die Ausführung des Hauptprogramms ermöglichen. Alle diese Programmkomponenten zusammengenommen können als Laufzeit bezeichnet werden.

Laufzeitsystem

Laufzeitsystem
Abbildung 2: Das Laufzeitsystem ermöglicht es dem Quellcode, mit dem Betriebssystem zu interagieren und die für die Ausführung erforderlichen Ressourcen zu erhalten.

Ein Laufzeitsystem ist eine Software, die mit Programmiersprachen als Teil des Ausführungsmodells geliefert wird. Es bildet die oben beschriebene Schicht, die über dem Betriebssystem liegt und andere Programme enthält, die bei der Ausführung des Hauptprogramms helfen.

Der Begriff Laufzeitsystem wird oft synonym mit dem Begriff Laufzeitumgebung verwendet. Laufzeitsysteme und Laufzeitumgebungen fungieren als kleine Betriebssysteme, die alle für die Ausführung eines Programms erforderlichen Funktionen bereitstellen.

Laufzeitumgebung

Die Laufzeitumgebung wird im weiteren Sinne als die Umgebung definiert, in der das Programm ausgeführt wird. Zu einer Laufzeitumgebung gehören das Betriebssystem, die Hardware und der Speicher. Laufzeitumgebungen werden im Gegensatz zur Anwendungsentwicklung häufiger im IT-Betrieb eingesetzt.

Laufzeitbibliothek

Eine Laufzeitbibliothek ist ein Satz von plattform- und Compiler-spezifischen Low-Level-Routinen, die der Compilerverwendet, um Anweisungen an die Laufzeitumgebung zu senden, damit das Programm ausgeführt werden kann.

Beispiele für Laufzeitsysteme und -umgebungen

Laufzeitumgebungen führen Aufgaben auf niedriger Ebene aus, zum Beispiel parallele Ausführung, Festplatten-Eingabe/-Ausgabe, Aufgabenplanung, Garbage Collection oder Ressourcenverwaltung. Sie können auch High-Level-Befehle implementieren, wie zum Beispiel Typüberprüfung, Debugging und Codeoptimierung.

Drei Beispiele für Laufzeitumgebungen sind:

  1. Die Java-Laufzeitumgebung (Java Runtime Environment, JRE) wird benötigt, um Java-Programme auszuführen, so dass Java auf mehreren Betriebssystemen funktionieren kann. JRE führt die grundlegenden Aufgaben aus, die Java zur Ausführung von Code benötigt, wie das Laden von Klassenbibliotheken, die Überprüfung des Speicherzugriffs und das Abrufen von Systemressourcen.
  2. Common Language Runtime (CLR) ist die Laufzeitumgebung des .NET Framework von Microsoft. Es handelt sich dabei um eine virtuelle Maschine, die Code für verschiedene High-Level-Dienste ausführt und verwaltet, zum Beispiel die Handhabung des Objektlayouts und die Verwaltung von Verweisen auf Objekte. Außerdem verfügt sie über einen Garbage Collector, der Speicherlecks und andere Programmierfehler verwaltet. Wie andere Laufzeitumgebungen kompiliert die CLR einige sprachspezifische Zwischenstufen in Maschinencode, den das Betriebssystem lesen kann.
  3. Adobe Flash Player ist eine weitere gängige Laufzeitumgebung. Adobe Flash Player verwendet eine Laufzeitumgebung, um Flash-Code auf verschiedenen Betriebssystemen und Geräten auszuführen.
Diese Definition wurde zuletzt im Dezember 2021 aktualisiert

Erfahren Sie mehr über Serverbetriebssysteme

ComputerWeekly.de
Close