Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

POSIX-Lader

&pagelevel(4)&pagelevel

Der POSIX-Lader ist Bestandteil des Subsystems POSIX. Er verwaltet systemglobale, benutzer- oder sitzungsspezifische Programm-Caches variabler Größe, in denen ablaufbereite Core-Images von POSIX-Programmen bereitgestellt und zur Ausführung in den Speicher kopiert werden. Mit Hilfe des POSIX-Laders können Ladevorgänge in POSIX wesentlich beschleunigt werden. Eine ausführliche Beschreibung des POSIX-Laders finden Sie im Abschnitt "POSIX-Lader".

Programm-Caches einrichten

Beim Start von POSIX sind noch keine Programm-Caches eingerichtet. Der globale Programm-Cache wird entsprechend den Angaben in der POSIX-Informationsdatei implizit angelegt. Der globale Programm-Cache kann auch nachträglich vom Superuser mit dem posdbl-Kommando eingerichtet werden. Die benutzer- und sitzungsspezifischen Programm-Caches kann sich der jeweilige Benutzer mit dem Kommando pdbl einrichten.

Aufnahme in einen Programm-Cache

Nachdem die Programm-Caches eingerichtet worden sind, können POSIX-Programme auf folgende Weise in einen Programm-Cache gelangen:

  • Implizit: Beim ersten Aufruf eines (nicht builtin-) POSIX-Kommandos (Basis-Shell und erweiterte Shell) wird das Programm über BLS geladen. Sein Core-Image wird im globalen Programm-Cache abgelegt, in den Speicher geladen und gestartet.

  • Explizit: POSIX-Programme können im globalen Programm-Cache (durch den Superuser mit dem Kommando posdbl) oder im benutzer-/sitzungsspezifischen Programm-Cache (durch den Benutzer mit dem Kommando pdbl) abgelegt werden.

Ladevorgang beim Programmaufruf

Bei jedem Aufruf eines (nicht builtin-) POSIX-Kommandos über den Systemaufruf exec werden vorrangig folgende Bedingungen in der angegebenen Reihenfolge geprüft:

  • Ist die Task eine durch fork erzeugte Task?

  • Wird das Programm nicht im Debug-Modus gestartet?

  • Ist das entsprechende Core-Image in einem Programm-Cache gespeichert?

Ist eine der Bedingungen nicht erfüllt, wird das Programm „klassisch“ über BLS geladen und gestartet. Ansonsten wird das in einem Programm-Cache gespeicherte Programm direkt in den Speicher kopiert und gestartet. Die Umgehung von BLS bewirkt, dass das Programm nur unvollständig in die BS2000-Umgebung eingebettet ist. Die damit verbundenen Einschränkungen sind im Abschnitt "Ladevorgang" aufgeführt.