Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Aufgaben des Binders

Der Vorgang, in dessen Verlauf diese Externverweise befriedigt, d.h. die zusätzlich benötigten Module mit dem aus der Übersetzung resultierenden Modul zu einer ablauffähigen Einheit verknüpft werden, heißt Binden; das Dienstprogramm, das diese Aufgabe ausführt, wird als Binder bezeichnet.

Ein Binder verarbeitet entweder das Ergebnis einer Übersetzung (Objektmodul oder Bindelademodul) oder ein bereits durch einen Bindelauf vorgebundenes Modul, das ein aus mehreren Objektmodulen bestehendes Großmodul oder ein Bindelademodul sein kann. Objektmodule und Großmodule werden unter dem Begriff „Bindemodul“ zusammengefasst. Dieser Begriff wird im Folgenden immer dann verwendet, wenn das zu beschreibende Objekt sowohl ein Objektmodul als auch ein Großmodul sein kann.

Damit die beim Binden erzeugte Einheit ablaufen kann, muss ein Lader sie in den Speicher bringen, so dass der Rechner zum Code zugreifen und ihn ausführen kann.

Für die Aufgaben des Bindens und Ladens stehen im Binder-Lader-Starter-System des BS2000 folgende Funktionseinheiten zur Verfügung:

  • Der Binder BINDER

    bindet Module (Objektmodule, Bindelademodule) zu einer logisch und physisch strukturierten ladbaren Einheit zusammen. Diese Einheit bezeichnet man als „Bindelademodul“ (Link and Load Module, LLM). Der BINDER speichert den von ihm erzeugten LLM als Element vom Typ L in einer PLAM-Bibliothek.

  • Der Statische Binder TSOSLNK (TSOS LINKAGE EDITOR)

    bindet ein oder mehrere Objektmodule zu einem Objektprogramm (auch „Lademodul“ genannt) und speichert dieses in einer katalogisierten Datei oder als Element vom Typ C in einer PLAM-Bibliothek,

    oder

    bindet mehrere Objektmodule zu einem einzigen vorgebundenen Modul (Großmodul) und speichert diesen als Element vom Typ R in einer PLAM-Bibliothek oder in der temporären EAM-Datei.

  • Der Dynamische Bindelader DBL

    fügt in einem Arbeitsgang Module (Objektmodule und Bindelademodule, die ggf. durch einen vorhergehenden Bindevorgang mit dem BINDER erzeugt wurden) einer temporär ladbaren Einheit zusammen, lädt diese sofort in den Speicher und startet sie.COBOL-Programme, die mindestens ein externes Unterprogramm mit „CALL bezeichner“ aufrufen, können nur über dieses Verfahren zum Ablauf gebracht werden (siehe Abschnitt „Binden und Laden von Unterprogrammen").

  • Der Statische Lader ELDE

    lädt ein Programm, das mit dem TSOSLNK gebunden und in einer Datei oder als Element vom Typ C in einer PLAM-Bibliothek gespeichert wurde.

Der COBOL2000-Compiler erzeugt bei der Übersetzung Objektmodule oder LLMs. Die Objektmodule stehen in der temporären EAM-Datei der aktuellen Task oder als Elemente vom Typ R in einer PLAM-Bibliothek.
Die LLMs stehen als Elemente vom Typ L in einer PLAM-Bibliothek.

Folgende Tabelle zeigt, welche Module von den einzelnen Funktionseinheiten des BinderLader-Starter-Systems verarbeitet bzw. erzeugt werden.

Modulart

Systembaustein

BINDER

DBL

TSOSLNK

ELDE

Objektmodul

ja

ja

ja

nein

Bindelademodul (LLM)

ja

ja *)

nein

nein

Vorgebundenes Modul (Großmodul)

ja

ja

ja

nein

Objektprogramm (Lademodul)

nein

nein

ja

ja

*) Nur im Betriebsmodus ADVANCED

Der Bindevorgang im POSIX-Subsystem ist in Kapitel „COBOL2000 und POSIX" erläutert.

Die folgende Graphik gibt einen Überblick über die verschiedenen Möglichkeiten, temporäre und permanente ablauffähige COBOL-Programme im BS2000 zu erzeugen und aufzurufen:

Bild 2: Erzeugung und Aufruf permanent und temporär ablauffähiger COBOL-Programme im BS2000