Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

User shared code

Shared code which is to be managed by a user without special privileges is stored in common memory pools, which are created in class 6 memory. The modules loaded there can be shared by all tasks which are connected to the memory pool.

The shared code can be loaded into the common memory pool with the ASHARE macro. Each task which is connected to the common memory pool can:

  • load a shareable program (consisting of a set of modules) into the memory pool

  • unload a shareable program

  • request information about the loaded modules.

The name of the program and all visible symbols in the user shared code may be specified in the operand SYMBOL of the START/LOAD-EXECUTABLE-PROGRAM or START/LOAD-PROGRAM commands and in the BIND macro, and may also be used for resolution of external references. If a task which is not yet connected to the common memory pool refers to program definitions in the shared code in this memory pool,
DBL automatically executes the ENAMP macro (ENAble Memory Pool, see the “Executive Macros” manual [7]).

The BIND macro (MPID parameter) can also be used to load a program into the common memory pool. However, programs loaded in this manner can be accessed only by the task which initiated loading into the memory pool. This means that this task is responsible for management of the memory pool. Information about a program loaded in this manner (e.g. the output from the VSVI1 macro) is also available only to the task which loaded the program.

In the following text, it is assumed that the shared code was loaded into the common memory pool with the ASHARE macro.

A program can be loaded into one and the same memory pool only once with the BIND macro or with the ASHARE macro.