<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Lademodul</id>
	<title>Lademodul - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Lademodul"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Lademodul&amp;action=history"/>
	<updated>2026-06-11T03:16:53Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Lademodul&amp;diff=39461&amp;oldid=prev</id>
		<title>imported&gt;Bibliogräfin: /* growthexperiments-addlink-summary-summary:2|0|0 */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Lademodul&amp;diff=39461&amp;oldid=prev"/>
		<updated>2025-03-12T14:15:30Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:2|0|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Der Begriff &amp;#039;&amp;#039;&amp;#039;Lademodul&amp;#039;&amp;#039;&amp;#039; (auch &amp;#039;&amp;#039;&amp;#039;Phase&amp;#039;&amp;#039;&amp;#039; genannt) wird zumeist im Umfeld der Betriebssysteme [[z/OS]] (früher auch [[Multiple Virtual Storage|MVS]]) und [[BS2000]] gebraucht. Der Begriff bezeichnet ein in einer Lademodulbibliothek gespeichertes, ausführbares Programm.&lt;br /&gt;
&lt;br /&gt;
Im z/OS ist eine Lademodulbibliothek eine PO-Datei (&amp;#039;&amp;#039;[[Partitioned Data Set]]&amp;#039;&amp;#039;, &amp;#039;&amp;#039;PDS&amp;#039;&amp;#039;) oder ein &amp;#039;&amp;#039;Extended Partioned Data Set&amp;#039;&amp;#039; (&amp;#039;&amp;#039;PDSE&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
Ein Lademodul ist ein sog. Member einer Lademodulbibliothek; ist das Programm ein Member eines PDSE, nennt man es im z/OS auch &amp;#039;&amp;#039;Program Object&amp;#039;&amp;#039; (im BS2000: &amp;#039;&amp;#039;Objektprogramm&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
Program Objects unterstützen erweiterte Eigenschaften von Programmen, die im klassischen MVS nicht so wichtig waren:&lt;br /&gt;
* Programmgröße größer als 16 MB&lt;br /&gt;
* Programmnamen länger als acht Zeichen mit Berücksichtigung von Groß-/Kleinschreibung&lt;br /&gt;
* Unterstützung von [[Dynamic Link Library|DLL]]s&lt;br /&gt;
&lt;br /&gt;
== Erzeugung eines Lademoduls ==&lt;br /&gt;
Dieses entsteht, wenn man einen [[Quelltext]] (z.&amp;amp;nbsp;B. [[COBOL]], [[Fortran]], [[C (Programmiersprache)|C]] oder [[Assemblersprache|Assembler]]) mit dem jeweiligen [[Compiler]] übersetzt (es entsteht dabei der [[Objektcode]], oft auch als Objektmodul bezeichnet) und anschließend mit dem [[Linker (Computerprogramm)|Linker]] bindet.&lt;br /&gt;
&lt;br /&gt;
Ein ausführbares Programm besteht normalerweise nicht nur aus dem Objektcode eines Programms. In der Regel muss der Linker weitere [[Routine (Programmierung)|Programmroutinen]] oder zumindest Informationen über weitere Programmroutinen (Unterprogramme) zu dem ursprünglichen Objectcode hinzufügen.&lt;br /&gt;
&lt;br /&gt;
Im z/OS-Sprachgebrauch heißen solche Objectcode-Teile &amp;#039;&amp;#039;Control Sections&amp;#039;&amp;#039; (kurz &amp;#039;&amp;#039;CSECT&amp;#039;&amp;#039;s). Die verschiedenen Control Sections eines Lademoduls können von verschiedenen Compilern erzeugt worden sein.&lt;br /&gt;
&lt;br /&gt;
== Inhalt eines Lademoduls ==&lt;br /&gt;
Ein Lademodul enthält einerseits den von den Compilern erzeugten [[Maschinensprache|Maschinencode]], andererseits aber auch Informationen, die benötigt werden, um&lt;br /&gt;
* das Programm in den Hauptspeicher zu laden und zur Ausführung zu bringen:&lt;br /&gt;
** Wo soll das Programm geladen werden?&lt;br /&gt;
** Wo befinden sich im Lademodul relative (verschiebbare, &amp;#039;&amp;#039;relocatable&amp;#039;&amp;#039;) Adressen? Das sind Adressen im Programm, die der Compiler generiert hat, die aber noch vor der Programmausführung vom Ladeprozess auf die tatsächlichen Adressen im Hauptspeicher umgerechnet werden müssen.&lt;br /&gt;
** Wenn es bereits im Speicher liegt, kann die Version im Speicher verwendet werden, oder wird eine neue, frische Version benötigt?&lt;br /&gt;
** Wo ist der [[Einsprungpunkt]] des Programms, d.&amp;amp;nbsp;h., wohin soll das [[Betriebssystem]] verzweigen, wenn es die Ausführung an das geladene Programm übergeben will?&lt;br /&gt;
* das Programm mit dem Linker (Linkage Editor, Binder) bearbeiten, z.&amp;amp;nbsp;B. einzelne Programmteile austauschen zu können.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmierwerkzeug]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Bibliogräfin</name></author>
	</entry>
</feed>