z/OS MVS Program Management: User's Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


What should be converted to program objects?

z/OS MVS Program Management: User's Guide and Reference
SA23-1393-00

Following are considerations in determining whether or not to migrate to program objects:
  • The only system library which supports program objects is SYS1.LINKLIB (plus all libraries in Linklist concatenation). SYS1.LPALIB, SYS1.NUCLEUS, and SYS1.SVCLIB are opened and accessed during IPL before the PDSE support is established and therefore can not be PDSEs.
    • However, it is possible to put program objects into LPA using the Dynamic LPA functions. This function opens the program libraries to be included dynamically after the system has been initialized, thus allowing PDSE participation. The program objects can be in any user-specified authorized PDSE program library.
  • Program objects have the same restrictions as do data members in PDSEs. They cannot be accessed using EXCP, nor can there be any TTR calculations done against them. Programs requiring this access should not be converted.
  • Program objects will occupy more space on DASD than did their load module counterparts. In load module format, large uninitialized areas of the program were represented by gaps in the program text; in the PM1 program object format those gaps are filled with binary zeros and written out to disk. However, gaps are reinstated in program objects in PM2 format and later. They will still take more space on DASD then load modules for several reasons. First, program objects are formatted on 4K boundaries with the minimum size being 4K, and the algorithm for compacting uninitialized space differs from that used by the linkage editor. Also, additional information is saved in program objects to allow faster loading, and to enable rebinding of C-type modules (formerly the Language Environment® prelinker discarded the rebinding information when producing its output object module).
  • If new program object features are exploited, such as a length greater than 16 megabytes, or more than 32767 external names, greater than 8-byte names, multiple classes, multiparts, split-modes, or deferred classes, the program object cannot be converted back to a load module.
  • PDSE program libraries can take advantage of the PDSE cross-system sharing support offered in z/OS®.
  • As discussed earlier, special attention must also be given to mixing specific levels of the program object with different z/OS releases.
  • Only program objects can reside in z/OS UNIX files. Load modules are not supported.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014