Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Ladevorgang

&pagelevel(4)&pagelevel

Bei jedem Aufruf eines POSIX-Programms über den Systemcall exec() werden vorrangig folgende Bedingungen in der angebenen Reihenfolge geprüft:

  • Ist die Task eine durch fork erzeugte Task?

  • Wird das Programm nicht im Debug-Modus gestartet?

  • Existiert ein Programm-Cache für die Sitzung oder für den Benutzer bzw. existiert ein globaler Programm-Cache und ist das entsprechende Core-Image des Programms dort gespeichert?

Sind nicht alle Bedingungen, so wird das Programm über BLS geladen und gestartet.

Sind alle Bedingungen erfüllt, wird das im ausgewählten Programm-Cache gespeicherte Core-Image des Programms direkt und unter Umgehung von BLS in den Speicher kopiert und gestartet.

Bild 30: Programm-Caches, die einem Prozess zur Verfügung stehen

Die Umgehung von BLS und damit die unvollständige Einbettung der von POSIX gestarteten Programme in das BS2000-Programm-Environment bringt für Programme, die aus dem Programm-Cache geladen wurden, folgende Einschränkungen mit sich:

  • Im Programm definierte Entries sind nach außen nicht sichtbar, d.h. das Program kann zwar Objekte dynamisch nachladen, das nachgeladene Objekt kann aber keine externen Verweise auf das Programm befriedigen.

  • Es wird keine Lademeldung ausgegeben.

  • Testen mit AID ist nicht möglich.

  • Der Programm-Name in der Ausgabe des Kommandos /STATUS fehlt.

  • Beim Laden aus dem Programm-Cache verliert das Kommando debug seine Funktion, d.h. man sollte dieses Kommando nicht in den Programm-Cache laden.