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.