Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Loading modules

The sequence in which the various program components of the UTM application are loaded and how the external references are resolved are illustrated in figure 1 and described in the following section. The numbers indicate the sequence in which the program components are / must be loaded. The arrows specify the direction in which the unresolved external references of the load modules are resolved when loading, if the autolink function is not used.

Figure 1: Memory structure of a UTM application (CMP = Common Memory Pool)

All load procedures are initiated and controlled by openUTM with the exception of loading the subsystems (performed by the system administrator) and loading the static part (initiated by a START-EXECUTABLE-PROGRAM command):

1,2,3

1,2,3

Shared modules are loaded by the system administrator before the start of the UTM application.

4


The start LLM with all linked load modules is loaded with the START-EXECUTABLE-PROGRAM or LOAD-EXECUTABLE-PROGRAM command.

Due to the load performance, open external references should only be resolved from the shared code, but can also be resolved from libraries.

The command for starting the start LLM should be as follows:

*) or LOAD-EXECUTABLE-PROGRAM

The parameters UNRESOLVED-EXTRNS=*DELAY and LOAD-INFORMATION=*REFERENCES are mandatory for starting UTM applications.
AUTOLINK=*ALTERNATE-LIBRARIES specifies that only the alternative libraries are to be used for the autolink function, and ALT-LIB=*BLSLIB## specifies that only libraries
with the link names BLSLIBnn can be used as alternative libraries.


/START-EXECUTABLE-PROGRAM FROM-FILE=*LIB-ELEM                      - *)
/     (LIBRARY=lm-lib                                              -
/     ,ELEMENT=lm-name, TYPE=L)                                    -
/     ,DBL-PAR=(LOADING=                                           -
/                 (LOAD-INFORMATION=REFERENCES,PROGRAM-MODE=ANY)   -
/              ,RESOLUTION=(ALTERNATE-LIBRARIES=*BLSLIB##          -
/                          ,AUTOLINK=*ALTERNATE-LIBRARIES)         -
/              ,ERROR-PROCESSING=(UNRESOLVED-EXTRNS=*DELAY)) 

The command for starting the start LLM should be as follows:

*) or LOAD-EXECUTABLE-PROGRAM

The parameters UNRESOLVED-EXTRNS=*DELAY and LOAD-INFORMATION=*REFERENCES are mandatory for starting UTM applications.

AUTOLINK=*ALTERNATE-LIBRARIES specifies that only the alternative libraries are to be used for the autolink function, and ALT-LIB=*BLSLIB## specifies that only libraries
with the link names BLSLIBnn can be used as alternative libraries.

5

All load modules generated with LOAD-MODE=POOL and with a common memory pool with SCOPE=GLOBAL are loaded in the sequence of the MPOOL statements.
After that, all load modules that were generated with LOAD-MODULE=POOL and with a common memory pool with SCOPE=GROUP are loaded.
Within a pool, the load modules are loaded into the pool in the order specified in the LOAD-MODULE statement.
When loading, only the external references from system memory and from their own memory pools are resolved; the Autolink function is suppressed when loading shared
code.

6

The load modules generated with LOAD-MODE=STARTUP are loaded dynamically at the start of the application program. The sequence of the LOAD-MODULE statements
in the UTM generation determines the sequence when loading.

Open external references can be resolved from the system memory, from the common memory pools and from the modules already loaded. External references to the runtime
systems can be resolved by dynamically loading the runtime system modules (specify the operand ALTERNATE-LIBRARIES=YES in the LOAD-MODULE statement).


The same is true when loading the private slices of load modules generated with LOAD-MODE=(POOL,...,STARTUP | ONCALL).

7

Load modules generated with LOAD-MODE=ONCALL are loaded the first time an associated program unit is called. Open external references are resolved as for load
modules generated with LOAD-MODE=STARTUP (see 6).