Herunterladen Inhalt Inhalt Diese Seite drucken

Fujitsu BS2000/OSD COBOL2000 V1.5 Benutzerhandbuch Seite 128

Compiler
Inhaltsverzeichnis

Werbung

Statisches Binden mit TSOSLNK
Binden von segmentierten Programmen mit Überlagerungsstruktur
Durch geeignete COBOL-Sprachmittel (siehe Handbuch „COBOL2000-Sprachbeschrei-
bung" [1]) kann der Compiler veranlasst werden, den Maschinencode für eine Überset-
zungseinheit nicht als ein einziges Objektmodul, sondern, in Teile zerlegt, in Form mehrerer
Objektmodule auszugeben. Dieser Vorgang heißt
Segmentierung; die dabei entstehenden Programmteile nennt man Segmente.
Beim Binden eines segmentierten Programmes lässt sich eine Überlagerungsstruktur defi-
nieren (siehe auch Handbuch „TSOSLNK" [9]):
Abgesehen vom Root-Segment, das während des gesamten Programmlaufs im Speicher
bleibt, kann der Benutzer die einzelnen Segmente programmgesteuert nachladen lassen,
wenn sie für den Ablauf erforderlich sind. Dabei können sich Segmente gegenseitig über-
lagern, d.h. nacheinander einen gemeinsamen Speicherbereich belegen. Welche Segmen-
te einander überlagern können, wird durch Steueranweisungen beim Binden des Pro-
gramms festgelegt.
Da jedoch der Ablaufteil des BS2000 von sich aus ein Programm in Seiten, d.h. Teile von
4096 Byte, gliedert und bei der Programmausführung jeweils nur die Seiten in den Haupt-
speicher lädt, die gerade für den Ablauf benötigt werden, ist im BS2000 Segmentierung zur
Entlastung des Hauptspeichers nicht notwendig. Erforderlich wird sie lediglich dann, wenn
der virtuelle Adressraum nicht ausreicht, das gesamte Programm einschließlich der Daten
aufzunehmen. Aus diesem Grund ist es nicht möglich, eine echte Überlagerungsstruktur für
Programme zu definieren, die im oberen Adressraum ablaufen sollen.
Mit folgenden TSOSLNK-Anweisungen lassen sich Überlagerungsstrukturen für segmen-
tierte Programme definieren:
Anweisung
OVERLAY
TRAITS
128
Kurzbeschreibung
bestimmt die Überlagerungsstruktur für das Programm: Die OVERLAY-Anwei-
sungen eines Binderlaufs legen fest,
welche Segmente einander überlagern können und
an welchen Stellen im Programm sie sich gegenseitig überlagern sollen.
OVERLAY-Anweisungen sind nur beim Binden eines Programms erlaubt
(PROGRAM-Anweisung); beim Binden eines Großmoduls (MODULE-Anwei-
sung) werden sie mit einer Fehlermeldung zurückgewiesen.
Im Adressraum oberhalb 16 Mbyte (Angabe LOADPT=*XS in der PROGRAM-
oder OVERLAY-Anweisung) sind keine echten Überlagerungsstrukturen mög-
lich; der Binder akzeptiert zwar die OVERLAY-Anweisung, ordnet aber die
Segmente hintereinander an.
vereinbart für einen Programmteil, dass er
beim Laden auf Seitengrenze ausgerichtet werden soll
während des Programmlaufs nur gelesen werden darf
(Angabe READONLY=Y).
Binden, Laden, Starten
U41113-J-Z125-6

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis