Shareable, loadable, and executable operating system objects

Operating systems minimize storage requirements for normal executable objects by sharing program code to the extent that is possible. If two or more copies of the same program are running, each runs inside its own process, and each is given a separate data area. The operating system, however, loads only one copy of the program text.

Use the operating system dynamic load facility when you call a CICS® program. The operating system dynamic load facility enables multiple processes to share the program text that is being loaded. Although the standard way of invoking other programs is to use the fork or exec system calls (or variants), do not use these in CICS programs to call a CICS program because CICS programs are not normal executable objects.

By using the system dynamic load facility, you minimize the amount of storage that CICS requires. It is worth doing this for programs that are likely to be heavily used by multiple concurrent users.

You can use the dynamic load facility for functions that are in your program. If you have a function that is common to several programs, you can minimize your storage requirements by making it shared and dynamically loadable.

CICS links to the dynamic load facility through the cicstcl utility.