z/OS UNIX System Services Planning
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Using the shared library extended attribute

z/OS UNIX System Services Planning
GA32-0884-00

Shared object libraries contain subroutines that can be shared by multiple processes. Programs using shared libraries contain references to the library routines that are resolved by the loader at run time. The loadhfs topic in z/OS UNIX System Services Programming: Assembler Callable Services Reference discusses both shared object library programs and the ST_SHARELIB extended attribute.

Executables that have the ST_SHARELIB extended attribute turned on are called system shared library programs. They are an optimal way of sharing large executables across many address spaces in the system. These executables are shared on a megabyte boundary to allow for the sharing of a single-page table (similar to LPA). The storage used in the user address space to establish the mapping to the shared library region is from the high end of private storage; in most cases, it does not interfere with the virtual storage used by the application program.

Guideline: The amount of storage that is carved out of the high end of private storage of each address space that loads a system shared library object is based on the value of the SHRLIBRGNSIZE parameter in the BPXPRMxx parmlib member. If this value is set too high, the storage set aside for the mapping of the shared library region might interfere with the private storage requirements of each of these address spaces. For this reason, the value specified for SHRLIBRGNSIZE should be the minimum size that is required to contain all of the shared library programs that are to be used on the system. Note that z/OS® UNIX attempts to map the entire SHRLIBRGNSIZE into the private region, not just the portion that contains programs. If the private region is too small to map the entire shrlibrgnsize, then this shared library region is not be used, A message is not issued to indicate that the shrlibrgnsize was not mapped.

See Defining UNIX files as shared library programs for information about setting the ST_SHARELIB extended attribute.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014